Hi Gareth,
I seem to recall something like that being done in an old CAT game - but can't easily remember which one I'm afraid...
Anyhow one way might be to set a particular flag when the player boards/enters/gets in the boat. Unset the same flag when the player leaves/disembarks/gets out of the boat. Those entries could be made in Response...
Then also in Response you could build some custom movement entries for when the player "moves" in the boat by checking the flag value to see if the player is IN the boat. These entries would need to be placed BEFORE the normal standard player movement entries eg:
[start]go east/row east#room=X#flagXX=1[acts]cmessYou row east.#room=XXX#objlocX=XXX#desc[end]
X is the room number where the player currently is (inside the boat)
XX is the flagnumber whose value has been set to 1 to indicate the player is inside the boat.
XXX is the new room number where the player goes by moving east - and the boat object is moved there also - so the player has access to the contents of the boat...
"desc" describes the new room (you will obviously need to add some new location descriptions and exit connections between them specially for these 'floating on water' rooms)
You probably would need several of these movement entries made logically so the player could row backwards and forwards thru them; these new "on water" locations would only be used/described and available when the player was inside the boat and moving between them.
Hope this helps you in some way to figure out a solution.
Regards,
catventure.