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:

  <http://gna.org/patch/?4401>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to