Bug #2470 » 0039-rulecache-Fix-detection-of-IgWall-units.patch
| server/advisors/advruleset.c | ||
|---|---|---|
|
effect_list_iterate(get_effects(EFT_DEFEND_BONUS), peffect) {
|
||
|
if (peffect->value > 0) {
|
||
|
bool effect_active = TRUE;
|
||
|
requirement_vector_iterate(&peffect->reqs, preq) {
|
||
|
if (!is_req_active(&context, NULL, preq, RPT_POSSIBLE)) {
|
||
|
ptype->adv.igwall = FALSE;
|
||
|
effect_active = FALSE;
|
||
|
break;
|
||
|
}
|
||
|
} requirement_vector_iterate_end;
|
||
|
}
|
||
|
if (!ptype->adv.igwall) {
|
||
|
break;
|
||
|
if (effect_active) {
|
||
|
ptype->adv.igwall = FALSE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
} effect_list_iterate_end;
|
||
|
if (ptype->adv.igwall) {
|
||
|
log_debug("Rulecache: %s IgWall", utype_rule_name(ptype));
|
||
|
}
|
||
|
if (utype_has_role(ptype, L_FERRYBOAT)) {
|
||
|
unit_class_iterate(aclass) {
|
||
|
if (BV_ISSET(ptype->cargo, uclass_index(aclass))) {
|
||
- « Previous
- 1
- 2
- Next »