32 lines
977 B
Plaintext
32 lines
977 B
Plaintext
// 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
|
|
}
|