PRC8_fork/nwn/nwnprc/trunk/psionics/psi_psionic_hole.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

48 lines
1.6 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Psionic Hole evaluationscript
//:: psi_psionic_hole
//:://////////////////////////////////////////////
/*
Depending on where this is being run from,
either adds itself to be run from OnHit event
or removes Psionic Focus from the creature
hitting this.
*/
//:://////////////////////////////////////////////
//:: Created By: Ornedan
//:: Created On: 23.03.2005
//:://////////////////////////////////////////////
#include "psi_inc_psifunc"
void main()
{
// Check if we are being run from OnHit
if(GetRunningEvent() == EVENT_ONHIT)
{
object oItem = GetSpellCastItem();
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR ||
GetBaseItemType(oItem) == BASE_ITEM_CREATUREITEM)
{
object oTarget = PRCGetSpellTargetObject();
LosePsionicFocus(oTarget);
}
}
// We aren't so assume we are being run from EvalPRCFeats
else
{
object oSkin = GetPCSkin(OBJECT_SELF);
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF);
if(GetIsObjectValid(oArmor))
{
IPSafeAddItemProperty(oArmor, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), 9999.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
}
else
{
IPSafeAddItemProperty(oSkin, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
}
AddEventScript(OBJECT_SELF, EVENT_ONHIT, "psi_psionic_hole", TRUE, FALSE);
}
}