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

29 lines
842 B
Plaintext

// ai_guard
#include "antistuck_h"
void main()
{
object oMe=OBJECT_SELF;
object oDest=GetLocalObject(oMe,"oDestWP");
float fDist=GetDistanceBetween(oMe,oDest);
object oEnemy=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oMe,1,CREATURE_TYPE_REPUTATION,REPUTATION_TYPE_ENEMY,CREATURE_TYPE_PERCEPTION,PERCEPTION_SEEN);
if (GetIsInCombat(oMe)==FALSE&&oEnemy==OBJECT_INVALID)
{ // okay to guard
if (GetArea(oMe)!=GetArea(oDest))
{
ClearAllActions(TRUE);
ASActionMoveToObject(oDest,TRUE,1.0);
}
else if (fDist>12.0)
{ // go back
ClearAllActions();
ASActionMoveToObject(oDest,FALSE,2.5);
} // go back
else if (d4()==1)
{ // random walk
oDest=GetNearestObject(OBJECT_TYPE_WAYPOINT,oMe,d10());
ASActionMoveToObject(oDest,FALSE,2.5);
} // random walk
} // okay to guard
}