//real simple code
Wander()//will wander around while area is active and it doesnt have a target
while(!target&&active)
if(AI&AOS)
FindTarget()
dir = 1 << rand(0,3) // pick a random direction
var/turf/T = get_step(src, dir)
var/area/A = T ? (T.loc) : null
if(A && loc && A.active)
step(src, dir)
sleep(rand(3,6))
Ive tried have them walk more in a direction for a bit and changing directions, but still doesnt seem right
So any ideas on how to make it seem a little more natural. Maybe instead of doing the steps do something like have it choose a random turf in their area and do a walk_to that location.
It's simple to calculate this, as well, though the proc allows for a little more than the directly-adjacent directions (it does default to this, though).