Given a little more thought, I think dealing with transportation objects properly (to prevent abuses) is probably not hard. Without going into too much detail, best way to do it would probably be: ground archs would have a terrain_type value (bitmask). This would replace the current is_wooded, is_hilly, etc. Transportation objects would have a similar bitmask. To be able to travel or some terrain, the transportation object would need to have all the same bits sets as in the current terrain type. Depending on how done, the transportation object could effectively have skills which may counteract some of the speed loss for going over some terrains. Most transportation objects could not be carried around (ie, a boat will never leave the water), but for some, like dragon transports, since they can fly anywhere, the abiltity to use them anywhere is pretty open.