INIT
CHARACTER:__Me
EXTERN FIXEDSTRING:%FoodTemplate1 = "DONTEAT"
EXTERN FIXEDSTRING:%FoodTemplate2 = "DONTEAT"
EXTERN FIXEDSTRING:%FoodTemplate3 = "DONTEAT"
EXTERN FIXEDSTRING:%FoodTemplate4 = "DONTEAT"
EXTERN FIXEDSTRING:%FoodTemplate5 = "DONTEAT"
EXTERN FIXEDSTRING:%FoodTemplate6 = "DONTEAT"
EXTERN FLOAT:%CombatDist = 7
EXTERN FLOAT:%PeaceDist = 12
FLOAT:%Distance = 12
BEHAVIOUR
REACTION ReactOnFood, 1200
USAGE ALL
VARS
INT:_WalkOrRun
ITEM:_ClosestFood
FLOAT:_Time
FLOAT:_Wait
CHECK "!c1&(c2|c3|c4|c5|c6|c7)&!c8"
IsInDialog(__Me)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate1)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate2)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate3)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate4)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate5)
ItemGet(_ClosestFood,__Me,%Distance,Lowest,Distance,%FoodTemplate6)
IsInDangerousSurface(_ClosestFood)
ACTIONS
GetRandom(_WalkOrRun,0,1)
CharacterMoveTo(_ClosestFood,_WalkOrRun)
CharacterUseItem(_ClosestFood)
GetRandomBetween(_Wait,0,3)
Sleep(_Wait)
GetRandom(_Time,1,3,5,15,60)
StartTimer("HungryAgain",_Time,0)
SetPriority("ReactOnFood",0)
INTERRUPT
Reset()
GetRandomBetween(_Time,1,60)
StartTimer("HungryAgain",_Time,0)
SetPriority("ReactOnFood",0)
EVENTS
EVENT SetDistanceCombat
ON
OnCombatStarted()
ACTIONS
Set(%Distance,%CombatDist)
EVENT SetDistancePeace
ON
OnCombatEnded()
ACTIONS
Set(%Distance,%PeaceDist)
EVENT PeaceHungry
ON
OnTimer("HungryAgain")
ACTIONS
SetPriority("ReactOnFood",1200)