66 lines
2.0 KiB
Plaintext
66 lines
2.0 KiB
Plaintext
// hb_spawner
|
|
#include "antistuck_h"
|
|
|
|
void fnWander()
|
|
{ // wander around the area
|
|
object oWP=GetNearestObject(OBJECT_TYPE_WAYPOINT,OBJECT_SELF,d10());
|
|
if (GetIsInCombat(OBJECT_SELF)==FALSE&&IsInConversation(OBJECT_SELF)==FALSE)
|
|
{ // move
|
|
AssignCommand(OBJECT_SELF,ASActionMoveToObject(oWP,TRUE,1.0));
|
|
} // move
|
|
DelayCommand(18.0,fnWander());
|
|
} // fnWander()
|
|
|
|
|
|
|
|
void main()
|
|
{
|
|
object oMe=OBJECT_SELF;
|
|
object oSpawn1=GetLocalObject(oMe,"oSpawn1");
|
|
object oSpawn2=GetLocalObject(oMe,"oSpawn2");
|
|
object oSpawn3=GetLocalObject(oMe,"oSpawn3");
|
|
object oSpawn4=GetLocalObject(oMe,"oSpawn4");
|
|
object oSpawn5=GetLocalObject(oMe,"oSpawn5");
|
|
string sSpawn1=GetLocalString(oMe,"sSpawn1");
|
|
string sSpawn2=GetLocalString(oMe,"sSpawn2");
|
|
string sSpawn3=GetLocalString(oMe,"sSpawn3");
|
|
int nSpawnCount=GetLocalInt(oMe,"nSpawnCount");
|
|
nSpawnCount=nSpawnCount-1;
|
|
if (oSpawn1==OBJECT_INVALID&&nSpawnCount<1)
|
|
{
|
|
oSpawn1=CreateObject(OBJECT_TYPE_CREATURE,sSpawn1,GetLocation(oMe));
|
|
AssignCommand(oSpawn1,fnWander());
|
|
SetLocalObject(oMe,"oSpawn1",oSpawn1);
|
|
nSpawnCount=2;
|
|
}
|
|
if (oSpawn2==OBJECT_INVALID&&nSpawnCount<1)
|
|
{
|
|
oSpawn2=CreateObject(OBJECT_TYPE_CREATURE,sSpawn2,GetLocation(oMe));
|
|
AssignCommand(oSpawn2,fnWander());
|
|
SetLocalObject(oMe,"oSpawn2",oSpawn2);
|
|
nSpawnCount=2;
|
|
}
|
|
if (oSpawn3==OBJECT_INVALID&&nSpawnCount<1)
|
|
{
|
|
oSpawn3=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe));
|
|
AssignCommand(oSpawn3,fnWander());
|
|
SetLocalObject(oMe,"oSpawn3",oSpawn3);
|
|
nSpawnCount=2;
|
|
}
|
|
if (oSpawn4==OBJECT_INVALID&&nSpawnCount<1)
|
|
{
|
|
oSpawn4=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe));
|
|
AssignCommand(oSpawn4,fnWander());
|
|
SetLocalObject(oMe,"oSpawn4",oSpawn4);
|
|
nSpawnCount=2;
|
|
}
|
|
if (oSpawn5==OBJECT_INVALID&&nSpawnCount<1)
|
|
{
|
|
oSpawn5=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe));
|
|
AssignCommand(oSpawn5,fnWander());
|
|
SetLocalObject(oMe,"oSpawn5",oSpawn5);
|
|
nSpawnCount=2;
|
|
}
|
|
SetLocalInt(oMe,"nSpawnCount",nSpawnCount);
|
|
}
|