]> git.pond.sub.org Git - empserver/commitdiff
(do_mob_land): Disable automatic land unit fortification with excess
authorRon Koenderink <rkoenderink@yahoo.ca>
Tue, 26 Dec 2006 19:17:22 +0000 (19:17 +0000)
committerRon Koenderink <rkoenderink@yahoo.ca>
Tue, 26 Dec 2006 19:17:22 +0000 (19:17 +0000)
mobility when MOB_ACCESS is on.  It leads to excessively deep
recursion and thus miserable performance as the number of land units
grows.

src/lib/update/mobility.c

index 9310deaa63950c35805b7815761347c7e7274f3c..51bd4737507a0a576eaab92634461a5c7617fec2 100644 (file)
@@ -400,7 +400,8 @@ do_mob_land(struct lndstr *lp, int etus)
     if (opt_FUEL == 0) {       /* just some bits and pieces */
        value = lp->lnd_mobil + ((float)etus * land_mob_scale);
        if (value > land_mob_max) {
-           lnd_fortify(lp, value - land_mob_max);
+           if (!opt_MOB_ACCESS)
+               lnd_fortify(lp, value - land_mob_max);
            value = land_mob_max;
        }
        lp->lnd_mobil = value;
@@ -412,7 +413,8 @@ do_mob_land(struct lndstr *lp, int etus)
     if (lp->lnd_fuelu == 0) {
        value = lp->lnd_mobil + ((float)etus * land_mob_scale);
        if (value > land_mob_max) {
-           lnd_fortify(lp, value - land_mob_max);
+           if (!opt_MOB_ACCESS)
+               lnd_fortify(lp, value - land_mob_max);
            value = land_mob_max;
        }
        lp->lnd_mobil = value;