Have a look at these files that handle how "creature" works. Player is one part creature and one part player, but mobs are all creature.
Core3/MMOCoreORB/src/server/zone/objects/creature/CreatureObjectImplementation.cpp
Core3/MMOCoreORB/src/server/zone/objects/creature/CreatureState.h
I have no idea where you would program it and to make it work properly would require a lot of brain power to achieve. Spawning only in water, how do you read the water constraints and apply pathing changes in a smooth manner, can you move the player in 3D and if not is it worth the effort... lots of questions there, but no answers. Good luck to ya!