if (lp->lnd_mobil >= land_mob_max) {
lp->lnd_mobil = land_mob_max;
- return;
+ if (lp->lnd_harden >= land_mob_max) {
+ lp->lnd_harden = land_mob_max;
+ return;
+ }
}
/*
} else {
value = lp->lnd_mobil + ((float)etus * land_mob_scale);
}
- if (value > land_mob_max)
+ if (value > land_mob_max) {
+ lnd_fortify(lp, value - land_mob_max);
value = land_mob_max;
+ }
lp->lnd_mobil = value;
return; /* Done! */
} else {
value = lp->lnd_mobil + ((float)etus * land_mob_scale);
}
- if (value > land_mob_max)
+ if (value > land_mob_max) {
+ lnd_fortify(lp, value - land_mob_max);
value = land_mob_max;
+ }
lp->lnd_mobil = value;
} else {
if (total_add + lp->lnd_mobil > land_mob_max) {
total_add = land_mob_max - lp->lnd_mobil;
}
+ /* no automatic fortification here, as it would cost fuel */
if (opt_MOB_ACCESS) {
if (lp->lnd_mobil < 0)