forked from Jaysyn/PRC8
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.
48 lines
1.6 KiB
Plaintext
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);
|
|
}
|
|
} |