Since I’ve listed
Motor.Hunt, I might as well elaborate on that one a bit. Any hostile character with a non-null
Target (a token because why bother serializing yet another property) checks for the target’s distance and visibility as long as they’re not in Hunt mode. Once detected, they switch. Presence may be ignored if they’re… shall we say, otherwise occupied, in any way really, and “hostile” includes when they’re not out for the target’s blood as much as something else entirely. During the hunt, their reasons for hunting might change, which is why what happens when they catch their target is decided upon at that time. Perhaps they originally went after the target to kill, but got all worked up for whatever reason along the way, so when they get there, they try to screw the target instead.
Man, imagine that happening in the Dungeons of Doom or whatever XD