Posted: Fri Aug 04, 2006 9:47 am Post subject: Boat movement validation
I'd like to have an explanation about the movement validation of boats. Reading core script I couldn't find any code block dealing with movement validation, so I think it's managed by the core when one of the boat movements library functions is called. I know the core checks for obstacles in static and dynamic items according to the coordinates of the boat (I think it checks for each item belonging to the boat, or maybe it creates a sort of bounding box which has all the boat items inside and checks its coordinates againt the static and dynamic items), correct me if I'm wrong. I couldn't fin any info regarding how movement validation is done (if any is done) in relation with the map. Does it checks for water tiles in an hardcoded map tile IDs list? If there any config file defining sailable map tiles? What happens when a script tries to move a boat in shallow water? Does it check for map tiles and, finding the brown map tiles of the bottom of sea, it checks it against a map tiles list? Or does it check for static water tiles? Any info is welcome ^_^
This is a really interesting question. I am interested on the answer too.
My experience so far ist, that the boat movement is stopped by e.g. landtiles like 0066 around a land mass that is lower in z level than the sea level. If i build a static pier i always have to edit the map under the static pier with these tiles. Otherwise the ships will sail through it. Items or Multis on "sea" won't stop boat movement unless you script a "radar" in your boat script, which consumes a lot of performance.