/* Carnivore Defecate Behaviour // */ machine CarnDefecate { default state DefecateStart { action SetAutoMovementBlend(true) action SetStandStill() action SetRandomTimerBetween(1, 3.0, 4.0) transition { goto DefecateStartWait } } state DefecateStartWait { transition IsTimerUp(1) { goto DefecateInitiate } } state DefecateInitiate { action SendEnclosureEvent("defecate") action DefecateStart() action StartLook("LookProximity", 0.5) transition { goto DefecateLoop } } state DefecateLoop { action DefecateUpdate() } ;------------------------ Exit States Begin ---------------------- exitstart state CleanUp { action StopLook() transition { goto CleanUpEnd } } exitend state CleanUpEnd { } ;------------------------ Exit States End ---------------------- }