Bring in the red pencil, this is highly needed!
Improving the idea, would be useful to even get all the item / mobile / multirefs that made the move fail. Of course this can be scripted listing and checking the objects on the destination tile, so this is would not be as high priority. UO::ListObjectsOnTheWay(mobile); is just a fancy idea, I think.
About the FORCE_PARAM, ain't this something that could also be spesified? Say, I have a ghost I'd like to be able to get through walls and fences, I could do it writing Move(ghost.facing, FORCEMOVE_STATIC + FORCEMOVE_ITEM);. And as a default solution to a failed step, I could have Move(npc.facing, FORCEMOVE_MOBILE);, as suggested. Oh, all the possibilities!
Madman wrote:
if you want to have an NPC move into or through a space occupied by another NPC, what are your options currently?
MoveObjectToLocation() will do, but is not that pretty way - scripter would have to do the sleeping before step, play animations, recheck the ability to walk and do the actual move. Though, no need for the core if done this way.