URL: <http://gna.org/bugs/?21154>
Summary: Conflicting definitions of "ferry" Project: Freeciv Submitted by: cazfi Submitted on: Sun 22 Sep 2013 04:34:42 AM EEST Category: ai Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: Discussion Lock: Any Operating System: None Planned Release: _______________________________________________________ Details: This is probably just tip of the iceberg that I happened to find when debugging ferry stats errors caused by experimental ruleset trireme. Most places updating ferry stats (in aiferry.c) only consider is_sailing_unit() units ferries. This includes initialization to ferry system, so UTM_BOTH (also rivers) moving experimental trireme does not even get FERRY_AVAILABLE set initially (I think we're in luck that it's guaranteed to have value 0 instead - never something that would be real unit id, breaking havoc to that unit). OTOH dai_manage_ferryboat() gets called to non-sailing units too (there the move_type does not matter at all, only if unit has transporter capacity). There's no additional checks inside dai_manage_ferryboat() but when feeded such not-a-ferry-as-understood-by-aiferry.c it happily mess up the stats (freeing the ferry that never has been assigned as one). In addition to different views on is_sailing_unit() as part of ferry defition, there's also difference on what must be potential cargo - aiferry.c considers only land unit transports as ferries, aiunit.c considers also non-missile both moving unit transports (Carrier) ferries. _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?21154> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev