88 lines
2.8 KiB
Plaintext
88 lines
2.8 KiB
Plaintext
#include "spawner"
|
|
#include "prc_x2_itemprop"
|
|
void ArmImbue(object oItem, int oDamageType)
|
|
{
|
|
itemproperty ipAdd;
|
|
int oDamage;
|
|
int nRandom = d20();
|
|
if (nRandom==1) oDamage = IP_CONST_DAMAGERESIST_25;
|
|
if (nRandom==2) oDamage = IP_CONST_DAMAGERESIST_25;
|
|
if (nRandom==3) oDamage = IP_CONST_DAMAGERESIST_25;
|
|
if (nRandom==4) oDamage = IP_CONST_DAMAGERESIST_25;
|
|
if (nRandom==5) oDamage = IP_CONST_DAMAGERESIST_30;
|
|
if (nRandom==6) oDamage = IP_CONST_DAMAGERESIST_30;
|
|
if (nRandom==7) oDamage = IP_CONST_DAMAGERESIST_30;
|
|
if (nRandom==8) oDamage = IP_CONST_DAMAGERESIST_30;
|
|
if (nRandom==9) oDamage = IP_CONST_DAMAGERESIST_35;
|
|
if (nRandom==10) oDamage = IP_CONST_DAMAGERESIST_35;
|
|
if (nRandom==11) oDamage = IP_CONST_DAMAGERESIST_35;
|
|
if (nRandom==12) oDamage = IP_CONST_DAMAGERESIST_35;
|
|
if (nRandom==13) oDamage = IP_CONST_DAMAGERESIST_40;
|
|
if (nRandom==14) oDamage = IP_CONST_DAMAGERESIST_40;
|
|
if (nRandom==15) oDamage = IP_CONST_DAMAGERESIST_40;
|
|
if (nRandom==16) oDamage = IP_CONST_DAMAGERESIST_40;
|
|
if (nRandom==17) oDamage = IP_CONST_DAMAGERESIST_45;
|
|
if (nRandom==18) oDamage = IP_CONST_DAMAGERESIST_45;
|
|
if (nRandom==19) oDamage = IP_CONST_DAMAGERESIST_45 ;
|
|
if (nRandom==20)
|
|
{
|
|
oDamage = IP_CONST_DAMAGERESIST_50;
|
|
PCEffect(3.0,VFX_DUR_PROT_EPIC_ARMOR_2, OBJECT_SELF);
|
|
}
|
|
|
|
ipAdd = ItemPropertyDamageResistance(oDamageType, oDamage);
|
|
IPSafeAddItemProperty(oItem, ipAdd);
|
|
|
|
}
|
|
|
|
void Imbue(object oItem, int oDamageType)
|
|
{
|
|
itemproperty ipAdd;
|
|
ipAdd = ItemPropertyDamageBonus(oDamageType, IP_CONST_DAMAGEBONUS_1d8);
|
|
IPSafeAddItemProperty(oItem, ipAdd);
|
|
}
|
|
|
|
|
|
void ImbueWeapon (int oVfx, int oDamageType)
|
|
{
|
|
object oTarget;
|
|
object oItem;
|
|
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.0,oVfx, OBJECT_SELF);
|
|
DelayCommand(1.0, Imbue(GetFirstItemInInventory(OBJECT_SELF), oDamageType));
|
|
DelayCommand(3.0, SetLocked(OBJECT_SELF, FALSE));
|
|
}
|
|
|
|
|
|
void ImbueArmour (int oVfx, int oDamageType)
|
|
{
|
|
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.0,oVfx, OBJECT_SELF);
|
|
DelayCommand(1.0, ArmImbue(GetFirstItemInInventory(OBJECT_SELF), oDamageType));
|
|
DelayCommand(3.0, SetLocked(OBJECT_SELF, FALSE));
|
|
}
|
|
|
|
|
|
|
|
//void main (){}
|