]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/shpsub.c
Update copyright notice
[empserver] / src / lib / subs / shpsub.c
index 52c5afb6592493bdd041f18efc702587cd0545ac..7b1902005679d4402fdfb6cd6f57f3736bded8a2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2015, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2020, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                Ken Stevens, Steve McClure, Markus Armbruster
  *
  *  Empire is free software: you can redistribute it and/or modify
@@ -38,7 +38,6 @@
 #include "chance.h"
 #include "damage.h"
 #include "empobj.h"
-#include "file.h"
 #include "map.h"
 #include "misc.h"
 #include "mission.h"
@@ -49,7 +48,6 @@
 #include "player.h"
 #include "prototypes.h"
 #include "queue.h"
-#include "server.h"
 #include "unit.h"
 #include "xy.h"
 
@@ -145,7 +143,7 @@ shp_sel(struct nstr_item *ni, struct emp_qelem *list)
 }
 
 /*
- * Append SP to LIST.
+ * Append @sp to @list.
  * Return the new list link.
  */
 struct ulist *
@@ -224,11 +222,11 @@ shp_nav_put_one(struct ulist *mlp)
 }
 
 /*
- * Sweep seamines with engineers in SHIP_LIST for ACTOR.
- * All ships in SHIP_LIST must be in the same sector.
- * If EXPLICIT is non-zero, this is for an explicit sweep command from
+ * Sweep sea mines with engineers in @ship_list for @actor.
+ * All ships in @ship_list must be in the same sector.
+ * If @explicit is non-zero, this is for an explicit sweep command from
  * a player.  Else it's an automatic "on the move" sweep.
- * If TAKEMOB is non-zero, require and charge mobility.
+ * If @takemob is non-zero, require and charge mobility.
  * Return non-zero when the ships should stop.
  */
 int
@@ -253,7 +251,7 @@ shp_sweep(struct emp_qelem *ship_list, int explicit, int takemob,
     getsect(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, &sect);
     if (sect.sct_type != SCT_WATER) {
        if (explicit)
-           mpr(actor, "%s is a %s.  No seamines there!\n",
+           mpr(actor, "%s is a %s.  No sea mines there!\n",
               xyas(sect.sct_x, sect.sct_y, actor),
               dchr[sect.sct_type].d_name);
        return 0;
@@ -347,7 +345,7 @@ shp_check_mines(struct emp_qelem *ship_list)
 }
 
 /*
- * Return whether and why SP would be stuck in SECTP.
+ * Return whether and why @sp would be stuck in @sectp.
  */
 enum shp_stuck
 shp_check_nav(struct shpstr *sp, struct sctstr *sectp)
@@ -569,13 +567,13 @@ shp_missile_interdiction(struct emp_qelem *list, coord newx, coord newy,
            if (msl_hit(&plp->plane,
                        shp_hardtarget(&mvs->unit.ship), EF_SHIP,
                        N_SHP_MISS, N_SHP_SMISS, sublaunch, victim)) {
-               dam = pln_damage(&plp->plane, 'p', 1);
+               dam = pln_damage(&plp->plane, 'p', "");
                mpr(victim,
                    "missile interdiction mission does %d damage to %s!\n",
                    dam, prship(&mvs->unit.ship));
                shp_damage_one(mvs, dam);
            } else {
-               dam = pln_damage(&plp->plane, 'p', 0);
+               dam = pln_damage(&plp->plane, 'p', NULL);
                collateral_damage(newx, newy, dam);
            }
            mvs = most_valuable_ship(list, newx, newy);
@@ -876,23 +874,26 @@ shp_nav_dir(struct emp_qelem *list, int dir, natid actor)
        putship(mlp->unit.ship.shp_uid, &mlp->unit.ship);
     }
 
-    return 0;
+    return QEMPTY(list);
 }
 
 int
 shp_nav_gauntlet(struct emp_qelem *list, int interdict, natid actor)
 {
     struct ulist *mlp = (struct ulist *)list->q_back;
-    coord newx = mlp->unit.ship.shp_x;
-    coord newy = mlp->unit.ship.shp_y;
+    coord newx, newy;
     int stopping;
 
+    if (CANT_HAPPEN(QEMPTY(list)))
+       return 1;
+    newx = mlp->unit.ship.shp_x;
+    newy = mlp->unit.ship.shp_y;
     stopping = shp_sweep(list, 0, 0, actor);
     if (QEMPTY(list))
-       return stopping;
+       return 1;
     stopping |= shp_check_mines(list);
     if (QEMPTY(list))
-       return stopping;
+       return 1;
     if (interdict)
        stopping |= shp_interdict(list, newx, newy, actor);
 
@@ -953,9 +954,9 @@ shp_missile_defense(coord dx, coord dy, natid bombown, int hardtarget)
            cname(ship.shp_own),
            hit ? "KABOOOM!! Missile destroyed\n"
            : "SWOOSH!!  anti-missile system failed!!");
-       mpr(ship.shp_own, "Ship #%i anti-missile system activated!\n",
+       mpr(ship.shp_own, "Ship #%d anti-missile system activated!\n",
            ship.shp_uid);
-       mpr(ship.shp_own, "%d%% hitchance...%s\n", hitchance,
+       mpr(ship.shp_own, "%d%% hit chance...%s\n", hitchance,
            hit ? "KABOOOM!!  Incoming missile destroyed!\n"
            : "SWOOSH!!  Missile evades anti-missile systems\n");
 
@@ -1005,7 +1006,7 @@ shp_mobcost(struct shpstr *sp)
 }
 
 /*
- * Set SP's tech to TLEV along with everything else that depends on it.
+ * Set @sp's tech to @tlev along with everything else that depends on it.
  */
 void
 shp_set_tech(struct shpstr *sp, int tlev)