Summary: player_invention_reachable() & root req reworked
Submitted by: cazfi
Submitted on: Fri 03 Jan 2014 06:11:30 AM EET
Priority: 5 - Normal
Status: Ready For Test
Assigned to: None
Discussion Lock: Any
Planned Release: 2.6.0
- Have two functions instead of single player_invention_reachabe()
1) player_invention_reachable() is for checking if tech is reachable by
researching recursive requirements. That's often what AI wants ("can I ever
research tech allowing Musketeers?"), and what code affecting user tech goal
should use. Uses of this function fix for TRUNK what patch #4395 fixes for
stable branches + some AI problems (I'll make stable branches suitable patch
about that too)
2) player_invention_gettable() tells if tech is something player may get
immediately. For future use it supports two modes - allowing any reachable
tech that has no root reqs or only techs immediately available from the tree.
To avoid behavior changes, all callers currently allow all researchable techs
(you can steal a tech so that it leaves a hole to your known techs tree).
- Client's "Show all" button no longer toggles between immediately gettable
and researchable techs, but researchable techs are always shown. If "Show all"
is clicked, it truly shows all techs, even those in unreachable trees.
Date: Fri 03 Jan 2014 06:11:30 AM EET Name: RootReqRewrite.patch.bz2 Size:
6kB By: cazfi
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list