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 Freecivfirstname.lastname@example.org https://mail.gna.org/listinfo/freeciv-dev