They don't go directly back to spawn, it starts a ~30-45 second timer. If they can't get to a target in that time, they return to home.
Also for random movement they seem to wander in an area ~2x respawn radius if outdoor, indoor is based on size of corridor they are in.
Is there anyway to hack a temporary random movement gen into the next release, I was attempting it, but kept getting an assertion error.
I did the following and it never calls i_path = new PathInfo(&creature, nx, ny, nz); just goes to i_path->Update(nx, ny, nz); and crashes. I will admit I am still learning c++, so I'm a lil stumped as to why its failing.
if(!i_path)
i_path = new PathInfo(&creature, nx, ny, nz);
else
i_path->Update(nx, ny, nz);
i_path->getNextPosition(nx, ny, nz);
Traveller<Creature> traveller(creature);
creature.SetOrientation(creature.GetAngle(nx, ny));
i_destinationHolder.SetDestination(traveller, nx, ny, nz);