AOC_PRC8/_module/nss/silent_parry.nss
Jaysyn904 5e558169a0 Initial Commit
Initial Commit
2025-04-03 11:24:16 -04:00

63 lines
1.7 KiB
Plaintext

#include "spawner"
#include "prc_x2_itemprop"
void Skill (object oItem)
{
itemproperty ipAdd;
int oDamage;
int nRandom = d20();
if (nRandom==1) oDamage = 5;
if (nRandom==2) oDamage = 5;
if (nRandom==3) oDamage = 5;
if (nRandom==4) oDamage = 5;
if (nRandom==5) oDamage = 7;
if (nRandom==6) oDamage = 7;
if (nRandom==7) oDamage = 7;
if (nRandom==8) oDamage = 9;
if (nRandom==9) oDamage = 9;
if (nRandom==10) oDamage = 9;
if (nRandom==11) oDamage = 11;
if (nRandom==12) oDamage = 11;
if (nRandom==13) oDamage = 11;
if (nRandom==14) oDamage = 13;
if (nRandom==15) oDamage = 13;
if (nRandom==16) oDamage = 13;
if (nRandom==17) oDamage = 15;
if (nRandom==18) oDamage = 15;
if (nRandom==19) oDamage = 15;
if (nRandom==20)
{
oDamage = 16;
PCEffect(3.0,VFX_DUR_PROT_EPIC_ARMOR_2, OBJECT_SELF);
}
ipAdd = ItemPropertySkillBonus(SKILL_PARRY, 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.0,VFX_IMP_DOMINATE_S, OBJECT_SELF);
PCEffect(1.5,VFX_IMP_IMPROVE_ABILITY_SCORE, OBJECT_SELF);
PCEffect(2.0,VFX_FNF_DISPEL_DISJUNCTION, OBJECT_SELF);
DelayCommand(1.0, Skill(GetFirstItemInInventory(OBJECT_SELF)));
DelayCommand(3.0, SetLocked(OBJECT_SELF, FALSE));
}