Follow-up Comment #6, bug #18394 (project freeciv):
The following patch to player_invention_reachable() seems to fix this for me
(still on S2_4). I think it's a correct change we should make, but I'm not
sure by what mechanism it was causing this particular symptom.
@@ -303,8 +303,10 @@ bool player_invention_reachable(const struct player
*pplayer,
if (A_NONE != root) {
if (root == tech) {
/* This tech requires itself; it can only be reached by special means
- * (lua script). */
- return FALSE;
+ * (init_techs, lua script, ...).
+ * If you already know it, you can "reach" it; if not, not. (This
case
+ * is needed for descendants of this tech.) */
+ return TECH_KNOWN == player_invention_state(pplayer, tech);
} else if (allow_prereqs) {
/* Recursive check if the player can ever reach this tech (root tech
* and both requirements). */
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?18394>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev