4.0.2 made land unit mobility costs differ significantly from normal

move costs, but failed to make A* use these costs.  This broke land
unit path finding.  Fix:
(MOB_ROAD, MOB_MOVE, MOB_MARCH): Split MOB_ROAD into MOB_MOVE and
MOB_MARCH.  Users changed.
(lnd_mobcost, sector_mcost): Move minimum mobcost logic to
sector_mcost(), where it is visible to A*.  Also fixes unit reaction
path cost.

(lnd_path): Fix confusing message: don't claim there's no path when
all we really know is that there's no railway.
This commit is contained in:
Markus Armbruster 2006-06-04 17:41:12 +00:00
parent 6ab05ae8a1
commit 5ad86bc7ce
11 changed files with 46 additions and 59 deletions

View file

@ -471,7 +471,7 @@ retreat_land1(struct lndstr *lp, char code, int orig)
putland(lp->lnd_uid, lp);
return 0;
}
mobcost = lnd_mobcost(lp, &sect, MOB_ROAD);
mobcost = lnd_mobcost(lp, &sect, MOB_MARCH);
lp->lnd_x = newx;
lp->lnd_y = newy;
lp->lnd_mobil -= mobcost;