Follow-up Comment #10, patch #3835 (project freeciv):
I'm inclined to agree that survives shouldn't matter (the code was written
to compare the code structures, rather than with careful semantic analysis).
That said, I can think of a couple cases where one might use this:
a) Creating a condition that applies only if some Wonder (Great or Small) has
been both built and subsequently destroyed (e.g. nobody can build National
Libraries until someone destroys the Library of Alexandria).
b) Creating a condition that applies only if some nation has been in the game
and then subsequently been destroyed (e.g. nobody can build Janissaries until
the Byzantines have been thoroughly conquered (but still have remaining
citizens in cities (nationality condition)). [Note: this depends on someone
addressing patch #1339 ]
I don't know if either of these are at all likely, or if there are other
future semantics where opposing "survives" may be semantically meaningful.
Even if preserved, I imagine this class of requirement would be much more
useful for specific scenarios than for a general ruleset intended to be played
with random maps and nations.
In the event that survives is not compared in
are_requirements_opposites(), should it not also be removed from
are_requirements_equal()? (Anyone contemplating this should investigate the
callers: it may be that the packets_gen stuff complicates this and requires
different semantics than the rssanity stuff.)
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list