Initial upload.
Adding base PRC 4.19a files to repository.
This commit is contained in:
48
trunk/psionics/psi_psionic_hole.nss
Normal file
48
trunk/psionics/psi_psionic_hole.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user