]> git.pond.sub.org Git - empserver/commitdiff
Factor out land unit firing range calculation into lnd_fire_range()
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 3 Mar 2008 19:24:52 +0000 (20:24 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 14 Mar 2008 19:25:39 +0000 (20:25 +0100)
include/land.h
src/lib/commands/mfir.c
src/lib/subs/landgun.c
src/lib/subs/lndsub.c
src/lib/subs/mission.c

index c15a7a9e30ed180019917a0e0d34a4f43570a716..bfa1657d8058f6cd2e03b36d54150bb26e1179f8 100644 (file)
@@ -168,6 +168,7 @@ extern int l_dam(struct lchrstr *, int);
 extern int l_aaf(struct lchrstr *, int);
 
 extern int lnd_fire(struct lndstr *);
+extern double lnd_fire_range(struct lndstr *);
 
 /* src/lib/subs/lndsub.c */
 extern void lnd_sweep(struct emp_qelem *, int, int, natid);
index b65e59de1369f89d37f29c457ac9b699874fafc3..b0b9345961bf368de0670aebf59cfb368d44a6a0 100644 (file)
@@ -362,7 +362,7 @@ multifire(void)
                continue;
            }
 
-           range = effrange(fland.lnd_frg, fland.lnd_tech);
+           range = lnd_fire_range(&fland);
            range2 = roundrange(range);
            pr("range is %d.00 (%.2f)\n", range2, range);
            if (target == targ_sub) {
@@ -777,7 +777,7 @@ quiet_bigdef(int attacker, struct emp_qelem *list, natid own, natid aown,
        if ((land.lnd_own != own) && ((rel != ALLIED) || (rel2 != AT_WAR)))
            continue;
 
-       erange = effrange(land.lnd_frg, land.lnd_tech);
+       erange = lnd_fire_range(&land);
        if (roundrange(erange) < ni.curdist)
            continue;
 
index 73210903cc0ac165e6c728e06b558ac623b51e82..7f40dbe9942a890f5329af0cb4fd10de00e77f4f 100644 (file)
@@ -264,6 +264,15 @@ shp_fire_range(struct shpstr *sp)
     return effrange(sp->shp_frnge, sp->shp_tech);
 }
 
+/*
+ * Return firing range for land unit SP.
+ */
+double
+lnd_fire_range(struct lndstr *lp)
+{
+    return effrange(lp->lnd_frg, lp->lnd_tech);
+}
+
 int
 roundrange(double r)
 {
index 35f6805bff1b57ae9c7c7e86d20873788e77f4a6..2e00d6f38740bbe9a986d66af1e9587de741ecbd 100644 (file)
@@ -1137,7 +1137,7 @@ lnd_support(natid victim, natid attacker, coord x, coord y, int defending)
        /* are we in range? */
        dist = mapdist(land.lnd_x, land.lnd_y, x, y);
 
-       range = roundrange(effrange(land.lnd_frg, land.lnd_tech));
+       range = roundrange(lnd_fire_range(&land));
        if (dist > range)
            continue;
 
index a889a7694075d5e90003e7aa3fb0935d0ec30308..4de50a73f690bbfd8c28d4d36a4335de0d6c8ced 100644 (file)
@@ -437,7 +437,7 @@ perform_mission(coord x, coord y, natid victim, struct emp_qelem *list,
                (md > land_max_interdiction_range))
                continue;
 
-           range = roundrange(effrange(lp->lnd_frg, lp->lnd_tech));
+           range = roundrange(lnd_fire_range(lp));
            if (md > range)
                continue;
 
@@ -838,8 +838,7 @@ oprange(struct empobj *gp, int *radius)
        range = ldround(shp_fire_range((struct shpstr *)gp), 1);
        break;
     case EF_LAND:
-       range = ldround(effrange(((struct lndstr *)gp)->lnd_frg,
-                                ((struct lndstr *)gp)->lnd_tech), 1);
+       range = ldround(lnd_fire_range((struct lndstr *)gp), 1);
        break;
     case EF_PLANE:
        /* missiles go one way, so we can use all the range */