#define L_TRAIN bit(11) /* train unit - neato */
#define L_HEAVY bit(12) /* heavy unit - can't go on trains */
-#define LND_ATTDEF(b, t) (((b) * (1.0 + ((sqrt((double)(t)) / 100.0) * 4.0))) \
- > 127 ? 127 : \
- ((b) * (1.0 + ((sqrt((double)(t)) / 100.0) * 4.0))))
-#define LND_SPD(b, t) ((b * (1.0 + ((sqrt((double)t) / 100.0) * 2.1))) > 127\
- ? 127 : (b * (1.0 + ((sqrt((double)t) / 100.0) * 2.1))))
-#define LND_VUL(b, t) ((b * (1.0 - ((sqrt((double)t) / 100.0) * 1.1))) < 0\
- ? 0 : (b * (1.0 - ((sqrt((double)t) / 100.0) * 1.1))))
+#define LND_ATTDEF(b, t) (((b) * (1.0 + ((sqrt((t)) / 100.0) * 4.0))) \
+ > 127 ? 127 : \
+ ((b) * (1.0 + ((sqrt((t)) / 100.0) * 4.0))))
+#define LND_SPD(b, t) ((b * (1.0 + ((sqrt(t) / 100.0) * 2.1))) > 127 \
+ ? 127 : (b * (1.0 + ((sqrt(t) / 100.0) * 2.1))))
+#define LND_VUL(b, t) ((b * (1.0 - ((sqrt(t) / 100.0) * 1.1))) < 0 \
+ ? 0 : (b * (1.0 - ((sqrt(t) / 100.0) * 1.1))))
#define LND_VIS(b, t) (b)
#define LND_SPY(b, t) (b)
#define LND_RAD(b, t) (b)
-#define LND_FRG(b, t) ((t) ? \
- ((b) * (logx((double)(t), (double)35.0) < 1.0 ? 1.0 : \
- logx((double)(t), (double)35.0))) : (b))
-#define LND_DAM(b, t) ((t) ? \
- ((b) * (logx((double)(t), (double)60.0) < 1.0 ? 1.0 : \
- logx((double)(t), (double)60.0))) : (b))
-#define LND_ACC(b, t) ((b * (1.0 - ((sqrt((double)t) / 100.0) * 1.1))) < 0\
- ? 0 : (b * (1.0 - ((sqrt((double)t) / 100.0) * 1.1))))
+#define LND_FRG(b, t) ((t) ? \
+ ((b) * (logx((t), 35.0) < 1.0 ? 1.0 : \
+ logx((t), 35.0))) : (b))
+#define LND_DAM(b, t) ((t) ? \
+ ((b) * (logx((t), 60.0) < 1.0 ? 1.0 : \
+ logx((t), 60.0))) : (b))
+#define LND_ACC(b, t) ((b * (1.0 - ((sqrt(t) / 100.0) * 1.1))) < 0 \
+ ? 0 : (b * (1.0 - ((sqrt(t) / 100.0) * 1.1))))
#define LND_AMM(b, d, t) ((b) ? ((LND_DAM((d), (t)) / 2) + 1) : 0)
-#define LND_AAF(b, t) ((b * (1.0 + ((sqrt((double)t) / 100.0) * 3.0))) > 127\
- ? 127 : (b * (1.0 + ((sqrt((double)t) / 100.0) * 3.0))))
+#define LND_AAF(b, t) ((b * (1.0 + ((sqrt(t) / 100.0) * 3.0))) > 127 \
+ ? 127 : (b * (1.0 + ((sqrt(t) / 100.0) * 3.0))))
#define LND_FC(b, t) (b)
#define LND_FU(b, t) (b)
#define LND_XPL(b, t) (b)
};
#define PLN_ATTDEF(b, t) (b + ((b?1:0) * ((t/20)>10?10:(t/20))))
-#define PLN_ACC(b, t) (b * (1.0 - (sqrt((double)t) / 50.)))
-#define PLN_RAN(b, t) (t ? (b + (logx((double)t, (double)2.0))) : b)
-#define PLN_LOAD(b, t) (t ? (b * (logx((double)t, (double)50.0) < 1.0 ? 1.0 : \
- logx((double)t, (double)50.0))) : b)
+#define PLN_ACC(b, t) (b * (1.0 - (sqrt(t) / 50.)))
+#define PLN_RAN(b, t) (t ? (b + (logx(t, 2.0))) : b)
+#define PLN_LOAD(b, t) (t ? (b * (logx(t, 50.0) < 1.0 ? 1.0 : \
+ logx(t, 50.0))) : b)
/* Work required for building 100% */
#define PLN_BLD_WORK(lcm, hcm) (20 + (lcm) + 2 * (hcm))
double mobil; /* how much mobility the ship has left */
};
-#define SHP_DEF(b, t) (t ? (b * (logx((double)t, (double)40.0) < 1.0 ? 1.0 : \
- logx((double)t, (double)40.0))) : b)
-#define SHP_SPD(b, t) (t ? (b * (logx((double)t, (double)35.0) < 1.0 ? 1.0 : \
- logx((double)t, (double)35.0))) : b)
-#define SHP_VIS(b, t) (b * (1 - (sqrt((double)t) / 50)))
-#define SHP_RNG(b, t) (t ? (b * (logx((double)t, (double)35.0) < 1.0 ? 1.0 : \
- logx((double)t, (double)35.0))) : b)
-#define SHP_FIR(b, t) (t ? (b * (logx((double)t, (double)60.0) < 1.0 ? 1.0 : \
- logx((double)t, (double)60.0))) : b)
+#define SHP_DEF(b, t) (t ? (b * (logx(t, 40.0) < 1.0 ? 1.0 : \
+ logx(t, 40.0))) : b)
+#define SHP_SPD(b, t) (t ? (b * (logx(t, 35.0) < 1.0 ? 1.0 : \
+ logx(t, 35.0))) : b)
+#define SHP_VIS(b, t) (b * (1 - (sqrt(t) / 50)))
+#define SHP_RNG(b, t) (t ? (b * (logx(t, 35.0) < 1.0 ? 1.0 : \
+ logx(t, 35.0))) : b)
+#define SHP_FIR(b, t) (t ? (b * (logx(t, 60.0) < 1.0 ? 1.0 : \
+ logx(t, 60.0))) : b)
/* Work required for building 100% */
#define SHP_BLD_WORK(lcm, hcm) (20 + (lcm) + 2 * (hcm))
}
mcp = &mchr[(int)ship.shp_type];
if (gun > 0 && shell > 0 && !(mcp->m_flags & M_SUB)) {
- flak = (int)(techfact(ship.shp_tech, (double)gun) * 2.0);
+ flak = (int)(techfact(ship.shp_tech, gun) * 2.0);
ship.shp_item[I_SHELL] = shell;
putship(ship.shp_uid, &ship);
PR(ship.shp_own, "Flak! Firing %d guns from ship %s\n",
if (unitno < 0)
continue;
- flak = (int)(techfact(land.lnd_tech, (double)land.lnd_aaf) * 3.0);
+ flak = (int)(techfact(land.lnd_tech, land.lnd_aaf) * 3.0);
if (flak) {
PR(land.lnd_own,
"Flak! Firing flak guns from unit %s (aa rating %d)\n",
int dist;
range = (int)techfact(lookship->shp_tech,
- (double)mchr[(int)lookship->shp_type].m_vrnge);
+ mchr[(int)lookship->shp_type].m_vrnge);
range = range * (lookship->shp_effic / 100.0);
smcp = &mchr[(int)lookship->shp_type];
if (smcp->m_flags & M_SUB)
int i;
int dist;
- drange = techfact(lookland->lnd_tech, (double)lookland->lnd_spy);
+ drange = techfact(lookland->lnd_tech, lookland->lnd_spy);
drange = (drange * ((double)lookland->lnd_effic / 100.0));
range = ldround(drange, 1);
if (!(chance(LND_SPY_DETECT_CHANCE(lp->lnd_effic))))
continue;
}
- vrange = ldround((double)((lp->lnd_vis * range) / 20.0), 1);
+ vrange = ldround((lp->lnd_vis * range) / 20.0, 1);
dist = mapdist(lp->lnd_x, lp->lnd_y,
lookland->lnd_x, lookland->lnd_y);
if (dist > vrange)
pr("%s (#%d) %s (approx %d mil) @ %s\n",
cname(lp->lnd_own), lp->lnd_own,
- prland(lp), ldround((double)total_mil(lp), 20),
+ prland(lp), ldround(total_mil(lp), 20),
xyas(lp->lnd_x, lp->lnd_y, player->cnum));
if (opt_HIDDEN)
setcont(player->cnum, lp->lnd_own, FOUND_LOOK);
continue;
if (pp->pln_flags & PLN_LAUNCHED)
continue;
- vrange = ldround((double)((10 * range) / 20.0), 1);
+ vrange = ldround((10 * range) / 20.0, 1);
dist = mapdist(pp->pln_x, pp->pln_y,
lookland->lnd_x, lookland->lnd_y);
if (dist > vrange)
if (ship.shp_mobil <= 0)
continue;
*/
- erange = ship.shp_effic *
- techfact(ship.shp_tech, ((double)ship.shp_frnge))
- / 100.0;
+ erange = ship.shp_effic
+ * techfact(ship.shp_tech, ship.shp_frnge) / 100.0;
erange = (double)roundrange(erange);
range = mapdist(ship.shp_x, ship.shp_y, ax, ay);
if (range > erange)
}
radmapnopr(shp->shp_x, shp->shp_y, (int)shp->shp_effic,
(int)techfact(shp->shp_tech,
- (double)mchr[(int)shp->shp_type].m_vrnge),
- (double)((mchr[(int)shp->shp_type].m_flags & M_SONAR)
- ? techfact(shp->shp_tech, 1.0) : 0.0));
+ mchr[(int)shp->shp_type].m_vrnge),
+ (mchr[(int)shp->shp_type].m_flags & M_SONAR)
+ ? techfact(shp->shp_tech, 1.0) : 0.0);
if (cp == 0 || *cp == '\0')
cp = &dirch[DIR_STOP];
if (*cp == 'M' ||
}
tf = 0.0;
pr("%s at ", prland(&land));
- tech = techfact(land.lnd_tech, (double)land.lnd_spy);
+ tech = techfact(land.lnd_tech, land.lnd_spy);
if (tech > ((double)WORLD_Y / 2.0))
tech = ((double)WORLD_Y / 2.0);
if (tech > ((double)WORLD_X / 4.0))
getsect(ship.shp_x, ship.shp_y, §);
if (sect.sct_type != SCT_WATER)
continue;
- range = (int)techfact(ship.shp_tech, (double)mcp->m_vrnge);
+ range = (int)techfact(ship.shp_tech, mcp->m_vrnge);
srange = MIN(7, 7 * range * ship.shp_effic / 200);
pr("%s at %s efficiency %d%%, max range %d\n",
prship(&ship),
pcp = ip->pcp;
if (!(pcp->pl_flags & P_A)) /* if it isn't an ASW plane */
continue;
- range =
- (int)techfact(pp->pln_tech,
- (double)((100 - pp->pln_acc) / 10));
+ range = (int)techfact(pp->pln_tech, (100 - pp->pln_acc) / 10);
/*
for (i=0; targ = getshipp(i); i++) {
*/
continue;
}
erange = ((double)sub.shp_effic / 100.0) *
- techfact(sub.shp_tech, ((double)sub.shp_frnge));
+ techfact(sub.shp_tech, sub.shp_frnge);
erange = (double)roundrange(erange);
pr("Effective torpedo range is %.1f\n", erange);
shells -= SHP_TORP_SHELLS;
if (!canshoot(&dd, &sub))
continue;
- erange = techfact(dd.shp_tech, ((double)dd.shp_frnge)) / 2.0;
+ erange = techfact(dd.shp_tech, dd.shp_frnge) / 2.0;
erange = (double)roundrange(erange);
return RET_FAIL;
}
dam = 1;
- mcost = move_ground(§, &endsect, (double)weight,
+ mcost = move_ground(§, &endsect, weight,
player->argp[3], tran_map, 0, &dam);
dam /= count;
if (mcost < 0)
}
if (gun == 0 || shell == 0)
continue;
- firing = (int)(techfact(ship.shp_tech, (double)gun) * 2.0);
+ firing = (int)(techfact(ship.shp_tech, gun) * 2.0);
guns += firing;
if (!nats[ship.shp_own]) {
if (guns > 0) {
if (guns > 14)
guns = 14;
- guns = 2.0 * tfact(from, (double)guns);
+ guns = 2.0 * tfact(from, guns);
PR(plane_owner, "Flak! Ships firing %d flak guns...\n", guns);
ac_fireflak(list, from, 0, guns);
}
rel = getrel(getnatp(land.lnd_own), plane_owner);
if (rel > HOSTILE)
continue;
- firing =
- (int)(techfact(land.lnd_tech, (double)land.lnd_aaf) * 3.0);
+ firing = (int)(techfact(land.lnd_tech, land.lnd_aaf) * 3.0);
guns += firing;
if (!nats[land.lnd_own]) {
if (guns > 0) {
if (guns > 14)
guns = 14;
- guns = 2.0 * tfact(from, (double)guns);
+ guns = 2.0 * tfact(from, guns);
PR(plane_owner, "Flak! Land units firing %d flak guns...\n",
guns);
ac_fireflak(list, from, 0, guns);
gun = fsect.sct_item[I_GUN];
if (gun < 1)
continue;
- range = tfactfire(fsect.sct_own, (double)MIN(gun, 7));
+ range = tfactfire(fsect.sct_own, MIN(gun, 7));
if (fsect.sct_effic > 59)
range++;
range2 = roundrange(range);
continue;
if (!(mcp->m_flags & M_DCH) && !(mcp->m_flags & M_SUBT))
continue;
- range2 = techfact(sp->shp_tech, (double)mcp->m_vrnge);
+ range2 = techfact(sp->shp_tech, mcp->m_vrnge);
range2 *= (double)sp->shp_effic / 200.0;
if (md > range2)
continue;
if (shell < SHP_TORP_SHELLS)
continue;
- range = sp->shp_effic * techfact(sp->shp_tech,
- ((double)sp->shp_frnge)) /
- 100.0;
+ range = sp->shp_effic
+ * techfact(sp->shp_tech, sp->shp_frnge) / 100.0;
range2 = (double)roundrange(range);
if (md > range)
gun = fsect.sct_item[I_GUN];
if (gun < 1)
continue;
- range = tfactfire(fsect.sct_own, (double)MIN(gun, 7));
+ range = tfactfire(fsect.sct_own, MIN(gun, 7));
if (fsect.sct_effic > 59)
range++;
range2 = roundrange(range);
putship(mlp->ship.shp_uid, &mlp->ship);
/* Now update the map for this ship */
- tech = techfact(mlp->ship.shp_tech, (double)mlp->mcp->m_vrnge);
+ tech = techfact(mlp->ship.shp_tech, mlp->mcp->m_vrnge);
if (mlp->mcp->m_flags & M_SONAR)
tf = techfact(mlp->ship.shp_tech, 1.0);
else
leftp = ((float)left / 100.0);
memset(mvec, 0, sizeof(mvec));
- mvec[I_LCM] = lcm_needed = ldround((double)(lp->l_lcm * leftp), 1);
- mvec[I_HCM] = hcm_needed = ldround((double)(lp->l_hcm * leftp), 1);
+ mvec[I_LCM] = lcm_needed = ldround(lp->l_lcm * leftp, 1);
+ mvec[I_HCM] = hcm_needed = ldround(lp->l_hcm * leftp, 1);
/*
- mvec[I_GUN] = gun_needed = ldround((double)(lp->l_gun * leftp),1);
- mvec[I_MILIT] = mil_needed = ldround((double)(lp->l_mil * leftp),1);
- mvec[I_SHELL] = shell_needed = ldround((double)(lp->l_shell *leftp),1);
+ mvec[I_GUN] = gun_needed = ldround(lp->l_gun * leftp, 1);
+ mvec[I_MILIT] = mil_needed = ldround(lp->l_mil * leftp, 1);
+ mvec[I_SHELL] = shell_needed = ldround(lp->l_shell *leftp, 1);
*/
mvec[I_GUN] = gun_needed = 0;
mvec[I_MILIT] = mil_needed = 0;
if (mvec[I_SHELL] < shell_needed)
buildp = MIN(buildp, ((float)mvec[I_SHELL] / (float)lp->l_shell));
- build = ldround((double)(buildp * 100.0), 1);
+ build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec));
- mvec[I_LCM] = lcm_needed = roundavg((double)(lp->l_lcm * buildp));
- mvec[I_HCM] = hcm_needed = roundavg((double)(lp->l_hcm * buildp));
+ mvec[I_LCM] = lcm_needed = roundavg(lp->l_lcm * buildp);
+ mvec[I_HCM] = hcm_needed = roundavg(lp->l_hcm * buildp);
/*
- mvec[I_GUN] = gun_needed = roundavg((double)(lp->l_gun * buildp));
- mvec[I_MILIT] = mil_needed = roundavg((double)(lp->l_mil * buildp));
- mvec[I_SHELL] = shell_needed = roundavg((double)(lp->l_shell *buildp));
+ mvec[I_GUN] = gun_needed = roundavg(lp->l_gun * buildp);
+ mvec[I_MILIT] = mil_needed = roundavg(lp->l_mil * buildp);
+ mvec[I_SHELL] = shell_needed = roundavg(lp->l_shell *buildp);
*/
mvec[I_GUN] = gun_needed = 0;
mvec[I_MILIT] = mil_needed = 0;
leftp = ((float)left / 100.0);
memset(mvec, 0, sizeof(mvec));
- mvec[I_MILIT] = mil_needed =
- ldround((double)(plp->pl_crew * leftp), 1);
- mvec[I_LCM] = lcm_needed =
- ldround((double)(plp->pl_lcm * leftp), 1);
- mvec[I_HCM] = hcm_needed =
- ldround((double)(plp->pl_hcm * leftp), 1);
+ mvec[I_MILIT] = mil_needed = ldround(plp->pl_crew * leftp, 1);
+ mvec[I_LCM] = lcm_needed = ldround(plp->pl_lcm * leftp, 1);
+ mvec[I_HCM] = hcm_needed = ldround(plp->pl_hcm * leftp, 1);
get_materials(sp, bp, mvec, 0);
buildp = MIN(buildp, ((float)mvec[I_HCM] /
(float)plp->pl_hcm));
- build = ldround((double)(buildp * 100.0), 1);
+ build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec));
- mvec[I_MILIT] = mil_needed =
- roundavg((double)(plp->pl_crew * buildp));
- mvec[I_LCM] = lcm_needed =
- roundavg((double)(plp->pl_lcm * buildp));
- mvec[I_HCM] = hcm_needed =
- roundavg((double)(plp->pl_hcm * buildp));
+ mvec[I_MILIT] = mil_needed = roundavg(plp->pl_crew * buildp);
+ mvec[I_LCM] = lcm_needed = roundavg(plp->pl_lcm * buildp);
+ mvec[I_HCM] = hcm_needed = roundavg(plp->pl_hcm * buildp);
get_materials(sp, bp, mvec, 1);
tech = np->nat_level[NAT_TLEV];
pct = (double)((tech - 40) / 40.0 + edu / 3.0);
if (sp->sct_own == sp->sct_oldown && hap < pct &&
- chance((double)(((double)pct - (double)hap) / (double)5.0))) {
+ chance(((double)pct - (double)hap) / (double)5.0)) {
/*
* zap the loyalty of unhappy civilians.
* there is a 20% chance per hap point below the
leftp = ((float)left / 100.0);
memset(mvec, 0, sizeof(mvec));
- mvec[I_LCM] = lcm_needed = ldround((double)(mp->m_lcm * leftp), 1);
- mvec[I_HCM] = hcm_needed = ldround((double)(mp->m_hcm * leftp), 1);
+ mvec[I_LCM] = lcm_needed = ldround(mp->m_lcm * leftp, 1);
+ mvec[I_HCM] = hcm_needed = ldround(mp->m_hcm * leftp, 1);
get_materials(sp, bp, mvec, 0);
if (mvec[I_HCM] < hcm_needed)
buildp = MIN(buildp, ((float)mvec[I_HCM] / (float)mp->m_hcm));
- build = ldround((double)(buildp * 100.0), 1);
+ build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec));
- mvec[I_LCM] = lcm_needed = roundavg((double)(mp->m_lcm * buildp));
- mvec[I_HCM] = hcm_needed = roundavg((double)(mp->m_hcm * buildp));
+ mvec[I_LCM] = lcm_needed = roundavg(mp->m_lcm * buildp);
+ mvec[I_HCM] = hcm_needed = roundavg(mp->m_hcm * buildp);
get_materials(sp, bp, mvec, 1);