]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/bomb.c
Update copyright notice
[empserver] / src / lib / commands / bomb.c
index dac7a2e4f081777e6e7a3d948d5082d99c77f181..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
@@ -475,16 +473,15 @@ ship_bomb(struct emp_qelem *list, struct sctstr *target)
                prship(&ship),
                xyas(target->sct_x, target->sct_y, ship.shp_own));
        }
-       pr("\n");
        shipdamage(&ship, dam);
        if (ship.shp_effic < SHIP_MINEFF)
            pr("%s at %s sunk!\n",
               prship(&ship),
               xyas(target->sct_x, target->sct_y, player->cnum));
        if (dam && (ship.shp_rflags & RET_INJURED))
-           retreat_ship(&ship, 'i');
+           retreat_ship(&ship, ship.shp_own, 'i');
        else if (ship.shp_rflags & RET_BOMBED)
-           retreat_ship(&ship, 'b');
+           retreat_ship(&ship, ship.shp_own, 'b');
        putship(ship.shp_uid, &ship);
        collateral_damage(target->sct_x, target->sct_y, dam / 2);
     }
@@ -571,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));
@@ -667,13 +664,14 @@ land_bomb(struct emp_qelem *list, struct sctstr *target)
            dam = 100;
        own = land.lnd_own;
        if (own != player->cnum)
-           mpr(own, "%s pinpoint bombing raid did %d damage to %s\n",
-               cname(player->cnum), dam, prland(&land));
+           mpr(own, "%s bombs did %d%% damage to %s at %s\n",
+               cname(player->cnum), dam, prland(&land),
+               xyas(target->sct_x, target->sct_y, own));
        landdamage(&land, dam);
        if (dam && (land.lnd_rflags & RET_INJURED))
-           retreat_land(&land, 'i');
+           retreat_land(&land, own, 'i');
        else if (land.lnd_rflags & RET_BOMBED)
-           retreat_land(&land, 'b');
+           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);