Summary: player_invention_reachable() & root req reworked
                 Project: Freeciv
            Submitted by: cazfi
            Submitted on: Fri 03 Jan 2014 06:11:30 AM EET
                Category: general
                Priority: 5 - Normal
                  Status: Ready For Test
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         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.


File Attachments:

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

Reply via email to