82 lines
3.3 KiB
Plaintext
82 lines
3.3 KiB
Plaintext
void main()
|
|
{
|
|
|
|
effect eEffect = GetFirstEffect(OBJECT_SELF);
|
|
while(GetIsEffectValid(eEffect))
|
|
{
|
|
RemoveEffect(OBJECT_SELF, eEffect);
|
|
eEffect = GetNextEffect(OBJECT_SELF);
|
|
}
|
|
|
|
int nGolemHench = GetStringLeft(GetTag(OBJECT_SELF), 6) == "GOLEMH" ? TRUE : FALSE;
|
|
if(nGolemHench)
|
|
{
|
|
int iHenchHD = GetHitDice(OBJECT_SELF);
|
|
int iDeflection = iHenchHD / 2;
|
|
int iAbility = iHenchHD / 4;
|
|
|
|
effect eAC = EffectACIncrease(iDeflection, AC_DEFLECTION_BONUS, AC_VS_DAMAGE_TYPE_ALL);
|
|
eAC = ExtraordinaryEffect(eAC);
|
|
eAC = UnyieldingEffect(eAC);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAC, OBJECT_SELF);
|
|
|
|
effect eSL = EffectDamageResistance(DAMAGE_TYPE_SLASHING, iDeflection, 0);
|
|
eSL = ExtraordinaryEffect(eSL);
|
|
eSL = UnyieldingEffect(eSL);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSL, OBJECT_SELF);
|
|
|
|
effect eBL = EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, iDeflection, 0);
|
|
eBL = ExtraordinaryEffect(eBL);
|
|
eBL = UnyieldingEffect(eBL);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBL, OBJECT_SELF);
|
|
|
|
effect eDR = EffectDamageResistance(DAMAGE_TYPE_PIERCING, iDeflection, 0);
|
|
eDR = ExtraordinaryEffect(eDR);
|
|
eDR = UnyieldingEffect(eDR);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDR, OBJECT_SELF);
|
|
|
|
|
|
effect eSTR = EffectAbilityIncrease(ABILITY_STRENGTH, iAbility);
|
|
eSTR = ExtraordinaryEffect(eSTR);
|
|
eSTR = UnyieldingEffect(eSTR);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSTR, OBJECT_SELF);
|
|
|
|
effect eCON = EffectAbilityIncrease(ABILITY_CONSTITUTION, iAbility);
|
|
eCON = ExtraordinaryEffect(eCON);
|
|
eCON = UnyieldingEffect(eCON);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCON, OBJECT_SELF);
|
|
|
|
effect eDEX = EffectAbilityIncrease(ABILITY_DEXTERITY, iAbility);
|
|
eDEX = ExtraordinaryEffect(eDEX);
|
|
eDEX = UnyieldingEffect(eDEX);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDEX, OBJECT_SELF);
|
|
|
|
effect eWIS = EffectAbilityIncrease(ABILITY_WISDOM, iAbility);
|
|
eWIS = ExtraordinaryEffect(eWIS);
|
|
eWIS = UnyieldingEffect(eWIS);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eWIS, OBJECT_SELF);
|
|
|
|
effect eINT = EffectAbilityIncrease(ABILITY_INTELLIGENCE, iAbility);
|
|
eINT = ExtraordinaryEffect(eINT);
|
|
eINT = UnyieldingEffect(eINT);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eINT, OBJECT_SELF);
|
|
|
|
effect eCHA = EffectAbilityIncrease(ABILITY_CHARISMA, iAbility);
|
|
eCHA = ExtraordinaryEffect(eCHA);
|
|
eCHA = UnyieldingEffect(eCHA);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCHA, OBJECT_SELF);
|
|
|
|
eSTR = TagEffect(eSTR, "BUFFS");
|
|
eCHA = TagEffect(eCHA, "BUFFS");
|
|
eDEX = TagEffect(eDEX, "BUFFS");
|
|
eCON = TagEffect(eCON, "BUFFS");
|
|
eWIS = TagEffect(eWIS, "BUFFS");
|
|
eINT = TagEffect(eINT, "BUFFS");
|
|
eAC = TagEffect(eAC, "BUFFS");
|
|
eSL = TagEffect(eSL, "BUFFS");
|
|
eBL = TagEffect(eBL, "BUFFS");
|
|
eDR = TagEffect(eDR, "BUFFS");
|
|
}
|
|
|
|
}
|