void main() { effect eEffect = GetFirstEffect(OBJECT_SELF); //while(GetIsEffectValid(eEffect)) { if(GetEffectTag(eEffect) == "BUFFS") 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"); } }