HoS_PRC8/_mod/_module/nss/hb_spawner.nss
Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

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);
}