63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
#include "spawner"
|
|
#include "prc_x2_itemprop"
|
|
|
|
void SpellRes (object oItem)
|
|
{
|
|
itemproperty ipAdd;
|
|
int oDamage;
|
|
int nRandom = d20();
|
|
|
|
if (nRandom==1) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==2) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==3) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==4) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==5) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==6) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==7) oDamage = IP_CONST_SPELLRESISTANCEBONUS_10;
|
|
if (nRandom==8) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==9) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==10) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==11) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==12) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==13) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==14) oDamage = IP_CONST_SPELLRESISTANCEBONUS_12;
|
|
if (nRandom==15) oDamage = IP_CONST_SPELLRESISTANCEBONUS_14;
|
|
if (nRandom==16) oDamage = IP_CONST_SPELLRESISTANCEBONUS_14;
|
|
if (nRandom==17) oDamage = IP_CONST_SPELLRESISTANCEBONUS_14;
|
|
if (nRandom==18) oDamage = IP_CONST_SPELLRESISTANCEBONUS_14;
|
|
if (nRandom==19) oDamage = IP_CONST_SPELLRESISTANCEBONUS_16;
|
|
if (nRandom==20)
|
|
{
|
|
oDamage = IP_CONST_SPELLRESISTANCEBONUS_20;
|
|
PCEffect(3.0,VFX_DUR_PROT_EPIC_ARMOR_2, OBJECT_SELF);
|
|
}
|
|
|
|
ipAdd = ItemPropertyBonusSpellResistance(oDamage);
|
|
|
|
IPSafeAddItemProperty(oItem, ipAdd);
|
|
}
|
|
void main ()
|
|
{
|
|
object oTarget;
|
|
object oItem;
|
|
|
|
int oDamage;
|
|
SetLocked(OBJECT_SELF, TRUE);
|
|
oItem = GetFirstItemInInventory(OBJECT_SELF);
|
|
while(GetIsObjectValid(oItem))
|
|
{
|
|
if (GetTag(oItem)=="pearl")
|
|
{DestroyObject(oItem);}
|
|
oItem = GetNextItemInInventory(OBJECT_SELF);
|
|
}
|
|
CastPC(0.0,SPELL_SHAPECHANGE, OBJECT_SELF);
|
|
PCEffect(1.5,VFX_IMP_MAGIC_PROTECTION, OBJECT_SELF);
|
|
PCEffect(1.0,VFX_IMP_SPELL_MANTLE_USE, OBJECT_SELF);
|
|
PCEffect(2.0,VFX_DUR_MAGIC_RESISTANCE, OBJECT_SELF);
|
|
DelayCommand(1.0, SpellRes(GetFirstItemInInventory(OBJECT_SELF)));
|
|
DelayCommand(3.0, SetLocked(OBJECT_SELF, FALSE));
|
|
}
|
|
|
|
|
|
|