]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/bomb.c
Update copyright notice
[empserver] / src / lib / commands / bomb.c
index 38487f502969953d63dc3b26a204d5225e0edc23..a88dfe02b911ff29ac88b5c1857ea5a5851fd87d 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-2016, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                Ken Stevens, Steve McClure, Markus Armbruster
  *
  *  Empire is free software: you can redistribute it and/or modify
@@ -117,8 +117,6 @@ bomb(void)
     pr("target sector is %s\n", xyas(tx, ty, player->cnum));
     getsect(tx, ty, &target);
     ap_to_target = strlen(flightpath);
-    if (flightpath[ap_to_target - 1] == 'h')
-       ap_to_target--;
     pr("range to target is %d\n", ap_to_target);
     /*
      * select planes within range
@@ -480,11 +478,11 @@ ship_bomb(struct emp_qelem *list, struct sctstr *target)
            pr("%s at %s sunk!\n",
               prship(&ship),
               xyas(target->sct_x, target->sct_y, player->cnum));
-       putship(ship.shp_uid, &ship);
        if (dam && (ship.shp_rflags & RET_INJURED))
            retreat_ship(&ship, ship.shp_own, 'i');
        else if (ship.shp_rflags & RET_BOMBED)
            retreat_ship(&ship, ship.shp_own, 'b');
+       putship(ship.shp_uid, &ship);
        collateral_damage(target->sct_x, target->sct_y, dam / 2);
     }
 out:
@@ -570,7 +568,7 @@ plane_bomb(struct emp_qelem *list, struct sctstr *target)
            plane.pln_effic = 0;
        else
            plane.pln_effic -= dam;
-       plane.pln_mobil = (dam * plane.pln_mobil / 100.0);
+       plane.pln_mobil = damage(plane.pln_mobil, dam);
        mpr(own, "%s bombs did %d%% damage to %s at %s\n",
               cname(player->cnum), dam, prplane(&plane),
               xyas(target->sct_x, target->sct_y, own));
@@ -670,12 +668,12 @@ land_bomb(struct emp_qelem *list, struct sctstr *target)
                cname(player->cnum), dam, prland(&land),
                xyas(target->sct_x, target->sct_y, own));
        landdamage(&land, dam);
-       putland(land.lnd_uid, &land);
        if (dam && (land.lnd_rflags & RET_INJURED))
            retreat_land(&land, own, 'i');
        else if (land.lnd_rflags & RET_BOMBED)
            retreat_land(&land, own, 'b');
        nreport(player->cnum, N_UNIT_BOMB, own, 1);
+       putland(land.lnd_uid, &land);
        collateral_damage(target->sct_x, target->sct_y, dam);
     }
 }