void main() { object oZhent=GetObjectByTag("jw_new_zhent_wiz"); object oPC=GetClickingObject(); int nDoor=GetLocalInt(oPC,"jw_new_door"); int nDisguised=0; if (GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oPC))=="jw_zhent_splint"||GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oPC))=="jw_new_zh_robe") { nDisguised=1; } if (GetObjectSeen(oPC,oZhent)&&nDoor<3&&nDisguised==0) { AssignCommand(oZhent,SetFacingPoint(GetPosition(oPC))); AssignCommand(oZhent,SpeakString("You leave that door alone or there'll be trouble. Go on now, get out of here!")); AssignCommand(oZhent,PlaySound("vs_nwizarm1_warn")); SetLocalInt(oPC,"jw_new_door",nDoor+1); } else if (GetObjectSeen(oPC,oZhent)&&nDoor>=3&&nDisguised==0) { //AssignCommand(oZhent,SetFacingPoint(GetPosition(oPC))); AssignCommand(oZhent,SpeakString("I warned you!")); SetIsTemporaryEnemy(oPC,oZhent); AssignCommand(oZhent,ActionAttack(oPC)); location lTarget=GetLocation(OBJECT_SELF); object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_GARGANTUAN, lTarget, TRUE, OBJECT_TYPE_CREATURE); //Cycle through the targets within the spell shape until an invalid object is captured. while (GetIsObjectValid(oTarget)) { if (GetIsFriend(oTarget,oZhent)) { SetIsTemporaryEnemy(oPC,oTarget); AssignCommand(oTarget,ActionAttack(oPC)); } //Select the next target within the shape. oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_GARGANTUAN, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR); } } }