PRC8_fork/nwn/nwnprc/trunk/psionics/psi_sk_psychsrtk.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

51 lines
1.8 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Soulknife: Psychic Strike
//:: psi_sk_psychsrtk <- typo in the file name
//::///////////////////////////////////////////////
/*
Charges the mindblade. Next hit against a
living, non-mindless creature will deal extra
dice of damage based on SK level.
*/
//:://////////////////////////////////////////////
//:: Created By: Ornedan
//:: Created On: 04.04.2005
//:://////////////////////////////////////////////
#include "psi_inc_soulkn"
void main()
{
object oPC = OBJECT_SELF;
// Make sure the PC is wielding at least one mindblade
if(!(GetStringLeft(GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)), 14) == "prc_sk_mblade_" ||
GetStringLeft(GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)), 14) == "prc_sk_mblade_"
) )
{
// Inform the player and return
SendMessageToPCByStrRef(oPC, 16824509); // "You must have a mindblade manifested to use this feat."
return;
}
if (!GetLocalInt(oPC, "MindCleave"))
{
if(!TakeMoveAction(oPC)) return;
}
// Charge mainhand blade first
if(!GetLocalInt(oPC, PSYCHIC_STRIKE_MAINH) && GetStringLeft(GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)), 14) == "prc_sk_mblade_")
{
SetLocalInt(oPC, PSYCHIC_STRIKE_MAINH, TRUE);
SendMessageToPCByStrRef(oPC, 16824599); // "You have charged the mindblade in your main hand."
}
else if(!GetLocalInt(oPC, PSYCHIC_STRIKE_OFFH) && GetStringLeft(GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)), 14) == "prc_sk_mblade_")
{
SetLocalInt(oPC, PSYCHIC_STRIKE_OFFH, TRUE);
SendMessageToPCByStrRef(oPC, 16824600); // "You have charged the mindblade in your off hand."
}
else // "Your Psychic Strike is already active."
SendMessageToPCByStrRef(oPC, 16824498);
}