void ApplyEffect(object oPC, object oArea) { if (GetArea(oPC) == oArea) { effect eEffect = EffectDamage(5, DAMAGE_TYPE_NEGATIVE, DAMAGE_POWER_NORMAL); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC); } else return; DelayCommand(9.0, ApplyEffect(oPC, oArea)); } void main() { object oPC = GetEnteringObject(); object oArea = GetArea(OBJECT_SELF); object oHolder=GetNearestObjectByTag("PM_IscalioOut",OBJECT_SELF,1); if (!GetIsPC(oPC)) { if (GetIsPC(GetMaster(oPC))) ApplyEffect(oPC, oArea); } else { ApplyEffect(oPC, oArea); } if(GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD) AdjustReputation(oPC,oHolder,50); }