// rh_ex_courtesand - Courtesan Wizard Defense void fnPersist() { // PURPOSE: Exist until enemies are gone object oMe=OBJECT_SELF; object oEnemy=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oMe,1,CREATURE_TYPE_REPUTATION,REPUTATION_TYPE_ENEMY); if (GetIsObjectValid(oEnemy)) { // continue DelayCommand(3.0,fnPersist()); } // continue else { // destroy DestroyObject(oMe); } // destroy } // fnPersist() void main() { object oMe=OBJECT_SELF; object oPC=GetPCSpeaker(); object oGuard=GetLocalObject(oMe,"oGuard"); if (!GetIsObjectValid(oGuard)) { // summon oGuard=CreateObject(OBJECT_TYPE_CREATURE,"form_warrior001",GetLocation(oMe)); SetIsTemporaryFriend(oMe,oGuard); SetIsTemporaryFriend(oGuard,oMe); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2),GetLocation(oGuard)); AssignCommand(oGuard,fnPersist()); } // summon }