char d_mnem; /* map symbol */
int d_prd; /* product type */
int d_peffic; /* process efficiency, in percent */
- int d_mcst, d_emcst; /* movement cost at 0 and 100% eff */
+ float d_mob0, d_mob1; /* movement cost at 0 and 100% eff */
d_navigation d_nav; /* navigation capability */
i_packing d_pkg; /* type of packaging in these sects */
float d_ostr; /* offensive strength */
{
double base, cost;
- base = dchr[sp->sct_type].d_mcst;
- if (base <= 0)
+ base = dchr[sp->sct_type].d_mob0;
+ if (base < 0)
return -1.0;
/* linear function in eff, d_mcst at 0%, d_emcst at 100% */
- base += (dchr[sp->sct_type].d_emcst - base) * sp->sct_effic / 100;
- base /= 5;
+ base += (dchr[sp->sct_type].d_mob1 - base) * sp->sct_effic / 100;
if (CANT_HAPPEN(base < 0))
base = 0;
}
/* No need to calculate cost each time, just make sure we can
move through it. We calculate it later. */
- if (dchr[sp->sct_type].d_mcst == 0)
+ if (dchr[sp->sct_type].d_mob0 < 0)
continue;
if (bp->bp_mobtype == MOB_RAIL
&& (!intrchr[INT_RAIL].in_enable || sp->sct_rail == 0))
EF_BAD},
{NSC_INT, 0, 0, offsetof(struct dchrstr, d_prd), "prd", EF_PRODUCT},
{NSC_INT, 0, 0, offsetof(struct dchrstr, d_peffic), "peffic", EF_BAD},
- {NSC_INT, 0, 0, offsetof(struct dchrstr, d_mcst), "mcst", EF_BAD},
- {NSC_INT, 0, 0, offsetof(struct dchrstr, d_emcst), "emcst", EF_BAD},
+ {NSC_FLOAT, 0, 0, offsetof(struct dchrstr, d_mob0), "mob0", EF_BAD},
+ {NSC_FLOAT, 0, 0, offsetof(struct dchrstr, d_mob1), "mob1", EF_BAD},
{NSC_SITYPE(d_navigation), 0, 0, offsetof(struct dchrstr, d_nav), "nav",
EF_SECTOR_NAVIGATION},
{NSC_SITYPE(i_packing), 0, 0, offsetof(struct dchrstr, d_pkg), "pkg",
# econfig key custom_tables.
config sect-chr
-uid mnem prd peff mcst emcs nav pkg ostr dstr val cost bui lcm hcm maxp name
- 0 "." -1 0 0 -1 sea norm 0.0 0.0 0 -1 0 0 0 0 "sea"
- 1 "^" dust 75 12 6 land norm 1.0 4.0 5 -1 1 0 0 100 "mountain"
- 2 "s" -1 0 0 -1 land norm 0.0 99.0 127 -1 0 0 0 1000 "sanctuary"
- 3 "\134" -1 0 0 -1 land norm 0.0 99.0 0 -1 0 0 0 0 "wasteland"
- 4 "-" -1 0 2 2 land norm 1.0 2.0 1 0 0 0 0 1000 "wilderness"
+uid mnem prd peff mob0 mob1 nav pkg ostr dstr val cost bui lcm hcm maxp name
+ 0 "." -1 0 -1 -1 sea norm 0.0 0.0 0 -1 0 0 0 0 "sea"
+ 1 "^" dust 75 2.4 1.2 land norm 1.0 4.0 5 -1 1 0 0 100 "mountain"
+ 2 "s" -1 0 -1 -1 land norm 0.0 99.0 127 -1 0 0 0 1000 "sanctuary"
+ 3 "\134" -1 0 -1 -1 land norm 0.0 99.0 0 -1 0 0 0 0 "wasteland"
+ 4 "-" -1 0 0.4 0.4 land norm 1.0 2.0 1 0 0 0 0 1000 "wilderness"
# Uncomment one of the following two. The second one is for big cities.
- 5 "c" -1 0 2 1 land norm 1.0 2.0 30 0 1 0 0 1000 "capital"
-# 5 "c" -1 0 2 1 cana urba 1.0 2.0 30 0 10 1 2 1000 "city"
- 6 "u" rad 100 2 1 land norm 1.0 2.0 15 0 1 0 0 1000 "uranium mine"
- 7 "p" hap 100 2 1 land norm 1.0 1.5 5 0 1 0 0 1000 "park"
- 8 "d" gun 100 2 1 land norm 1.0 1.5 7 0 1 0 0 1000 "defense plant"
- 9 "i" sh 100 2 1 land norm 1.0 1.5 6 0 1 0 0 1000 "shell industry"
- 10 "m" iron 100 2 1 land norm 1.0 2.0 5 0 1 0 0 1000 "mine"
- 11 "g" dust 100 2 1 land norm 1.0 2.0 8 0 1 0 0 1000 "gold mine"
- 12 "h" -1 0 2 1 harb ware 1.0 1.5 12 0 1 0 0 1000 "harbor"
- 13 "w" -1 0 2 1 land ware 1.0 1.5 7 0 1 0 0 1000 "warehouse"
- 14 "*" -1 0 2 1 land norm 1.0 1.25 12 0 1 0 0 1000 "airfield"
- 15 "a" food 900 2 1 land norm 1.0 1.5 2 0 1 0 0 1000 "agribusiness"
- 16 "o" oil 100 2 1 land norm 1.0 1.5 5 0 1 0 0 1000 "oil field"
- 17 "j" lcm 100 2 1 land norm 1.0 1.5 3 0 1 0 0 1000 "light manufacturing"
- 18 "k" hcm 100 2 1 land norm 1.0 1.5 4 0 1 0 0 1000 "heavy manufacturing"
- 19 "f" -1 0 2 1 land norm 2.0 4.0 10 0 5 0 1 1000 "fortress"
- 20 "t" tech 100 2 1 land norm 1.0 1.5 10 0 1 0 0 1000 "technical center"
- 21 "r" med 100 2 1 land norm 1.0 1.5 9 0 1 0 0 1000 "research lab"
- 22 "n" -1 0 2 1 land norm 1.0 2.0 10 0 1 0 0 1000 "nuclear plant"
- 23 "l" edu 100 2 1 land norm 1.0 1.5 4 0 1 0 0 1000 "library/school"
- 24 "+" -1 0 2 0 land norm 1.0 1.0 3 0 1 0 0 1000 "highway"
- 25 ")" -1 0 2 1 land norm 1.0 1.5 4 0 1 0 0 1000 "radar installation"
- 26 "!" -1 0 2 1 land norm 1.0 1.5 12 0 1 0 0 1000 "headquarters"
- 27 "#" -1 0 2 0 land norm 1.0 1.0 3 0 1 0 0 1000 "bridge head"
- 28 "=" -1 0 2 0 brid norm 1.0 1.0 5 -1 1 0 0 100 "bridge span"
- 29 "b" bars 100 2 1 land bank 1.0 2.25 10 0 1 0 0 1000 "bank"
- 30 "%" pet 1000 2 1 land norm 1.0 1.5 2 0 1 0 0 1000 "refinery"
- 31 "e" -1 0 2 1 land norm 1.0 2.0 7 0 1 0 0 1000 "enlistment center"
- 32 "~" -1 0 2 1 land norm 1.0 1.5 1 -1 1 0 0 100 "plains"
- 33 "@" -1 0 2 0 land norm 1.0 1.5 4 -1 1 0 0 100 "bridge tower"
+ 5 "c" -1 0 0.4 0.2 land norm 1.0 2.0 30 0 1 0 0 1000 "capital"
+# 5 "c" -1 0 0.4 0.2 cana urba 1.0 2.0 30 0 10 1 2 1000 "city"
+ 6 "u" rad 100 0.4 0.2 land norm 1.0 2.0 15 0 1 0 0 1000 "uranium mine"
+ 7 "p" hap 100 0.4 0.2 land norm 1.0 1.5 5 0 1 0 0 1000 "park"
+ 8 "d" gun 100 0.4 0.2 land norm 1.0 1.5 7 0 1 0 0 1000 "defense plant"
+ 9 "i" sh 100 0.4 0.2 land norm 1.0 1.5 6 0 1 0 0 1000 "shell industry"
+ 10 "m" iron 100 0.4 0.2 land norm 1.0 2.0 5 0 1 0 0 1000 "mine"
+ 11 "g" dust 100 0.4 0.2 land norm 1.0 2.0 8 0 1 0 0 1000 "gold mine"
+ 12 "h" -1 0 0.4 0.2 harb ware 1.0 1.5 12 0 1 0 0 1000 "harbor"
+ 13 "w" -1 0 0.4 0.2 land ware 1.0 1.5 7 0 1 0 0 1000 "warehouse"
+ 14 "*" -1 0 0.4 0.2 land norm 1.0 1.25 12 0 1 0 0 1000 "airfield"
+ 15 "a" food 900 0.4 0.2 land norm 1.0 1.5 2 0 1 0 0 1000 "agribusiness"
+ 16 "o" oil 100 0.4 0.2 land norm 1.0 1.5 5 0 1 0 0 1000 "oil field"
+ 17 "j" lcm 100 0.4 0.2 land norm 1.0 1.5 3 0 1 0 0 1000 "light manufacturing"
+ 18 "k" hcm 100 0.4 0.2 land norm 1.0 1.5 4 0 1 0 0 1000 "heavy manufacturing"
+ 19 "f" -1 0 0.4 0.2 land norm 2.0 4.0 10 0 5 0 1 1000 "fortress"
+ 20 "t" tech 100 0.4 0.2 land norm 1.0 1.5 10 0 1 0 0 1000 "technical center"
+ 21 "r" med 100 0.4 0.2 land norm 1.0 1.5 9 0 1 0 0 1000 "research lab"
+ 22 "n" -1 0 0.4 0.2 land norm 1.0 2.0 10 0 1 0 0 1000 "nuclear plant"
+ 23 "l" edu 100 0.4 0.2 land norm 1.0 1.5 4 0 1 0 0 1000 "library/school"
+ 24 "+" -1 0 0.4 0.0 land norm 1.0 1.0 3 0 1 0 0 1000 "highway"
+ 25 ")" -1 0 0.4 0.2 land norm 1.0 1.5 4 0 1 0 0 1000 "radar installation"
+ 26 "!" -1 0 0.4 0.2 land norm 1.0 1.5 12 0 1 0 0 1000 "headquarters"
+ 27 "#" -1 0 0.4 0.0 land norm 1.0 1.0 3 0 1 0 0 1000 "bridge head"
+ 28 "=" -1 0 0.4 0.0 brid norm 1.0 1.0 5 -1 1 0 0 100 "bridge span"
+ 29 "b" bars 100 0.4 0.2 land bank 1.0 2.25 10 0 1 0 0 1000 "bank"
+ 30 "%" pet 1000 0.4 0.2 land norm 1.0 1.5 2 0 1 0 0 1000 "refinery"
+ 31 "e" -1 0 0.4 0.2 land norm 1.0 2.0 7 0 1 0 0 1000 "enlistment center"
+ 32 "~" -1 0 0.4 0.2 land norm 1.0 1.5 1 -1 1 0 0 100 "plains"
+ 33 "@" -1 0 0.4 0.0 land norm 1.0 1.5 4 -1 1 0 0 100 "bridge tower"
/config
return land_board_abort(off, def);
}
- if (off && def->sct_dcp->d_mcst <= 0) {
+ if (off && def->sct_dcp->d_mob0 < 0) {
pr("You can't %s a %s sector!\n",
att_mode[combat_mode], def->sct_dcp->d_name);
return abort_attack();
/*
* I need to put a 1 at the end of the next four total_stren calls
- * becauase units & mil may have been damaged by collateral damage or
- * neclear warheads from the offensive & defensive support.
+ * because units & mil may have been damaged by collateral damage or
+ * nuclear warheads from the offensive & defensive support.
*/
ototal = get_ototal(combat_mode, off, olist, *osupportp, 1);
continue;
if (first) {
pr(" mob cost max max -- packing bonus -- max\n");
- pr(" sector type base eff off def mil uw civ bar other pop\n");
+ pr(" sector type 0%% 100%% off def mil uw civ bar other pop\n");
first = 0;
}
- pr("%c %-23s", dchr[x].d_mnem, dchr[x].d_name);
- if (dchr[x].d_mcst <= 0)
- pr(" no way");
+ pr("%c %-21.21s", dchr[x].d_mnem, dchr[x].d_name);
+ if (dchr[x].d_mob0 < 0)
+ pr(" no way ");
else
- pr(" %2d %2d", dchr[x].d_mcst, dchr[x].d_emcst);
+ pr(" %3.1f %3.1f", dchr[x].d_mob0, dchr[x].d_mob1);
pr(" %5.2f %5.2f %3d %3d %3d %3d %5d %5d\n",
dchr[x].d_ostr, dchr[x].d_dstr,
ichr[I_MILIT].i_pkg[dchr[x].d_pkg],
for (n = 1; n <= 6; n++) {
nsp = getsectp(sp->sct_x + diroff[n][0],
sp->sct_y + diroff[n][1]);
- if (dchr[nsp->sct_type].d_mcst == 0)
+ if (dchr[nsp->sct_type].d_mob0 < 0)
continue;
if (nsp->sct_own != target)
continue;