Follow-up Comment #4, patch #4401 (project freeciv):
Looking more closely at the code, it seems effects still uses a
requirement_list rather than a requirement_vector, and still has it's own
implementation directly calling is_req_active() rather than using
are_reqs_active(). That said, bug #21144, bug #21147, bug #21417, bug #21471,
and patch #4451 seem to have addressed some of the underlying bugs (there may
be more: I've only skimmed the logs (and idly wonder if someone wasn't playing
with the numbers for those)).
Note also that the implementation of is_effect_useful() currently depends on
nreqs being populated, rather than the use of present = FALSE (due to
is_effect_disabled() being called directly). Similar issues may occur for
things like is_building_replaced(), etc. aicity.c still uses
is_effect_disabled() in adjust_improvement_wants_by_effects(), which I believe
means it does lots more processing for present = FALSE than for nreqs, but I
haven't gone through it in detail.
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list