Made player generic.

The same movement code is to be reused for all npc movements.