]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/retreat.c
retreat: Oops on retreating ghosts
[empserver] / src / lib / subs / retreat.c
index e6d67d66dddf0374b1d1b747b3a8642c126d8687..7586a2e27c1bf57e7bdd37083d3b15189608faca 100644 (file)
@@ -96,6 +96,9 @@ retreat_ship(struct shpstr *sp, char code)
     struct nstr_item ni;
     struct shpstr ship;
 
+    if (CANT_HAPPEN(!sp->shp_own))
+       return;
+
     retreat_ship1(sp, code, 1);
     if (sp->shp_rpath[0] == 0)
        sp->shp_rflags = 0;
@@ -138,9 +141,6 @@ retreat_ship1(struct shpstr *sp, char code, int orig)
     struct mchrstr *mcp;
     int changed;
 
-    if (sp->shp_own == 0)
-       return 0;
-
     if (sp->shp_effic < SHIP_MINEFF) {
        wu(0, sp->shp_own,
           "%s %s,\nbut it died in the attack, and so couldn't retreat!\n",
@@ -352,6 +352,9 @@ retreat_land(struct lndstr *lp, char code)
     struct nstr_item ni;
     struct lndstr land;
 
+    if (CANT_HAPPEN(!lp->lnd_own))
+       return;
+
     retreat_land1(lp, code, 1);
     if (lp->lnd_rpath[0] == 0)
        lp->lnd_rflags = 0;
@@ -393,9 +396,6 @@ retreat_land1(struct lndstr *lp, char code, int orig)
     double mobcost;
     struct lchrstr *lcp;
 
-    if (lp->lnd_own == 0)
-       return 0;
-
     if (lp->lnd_effic < LAND_MINEFF) {
        wu(0, lp->lnd_own,
           "%s %s,\nbut it died in the attack, and so couldn't retreat!\n",