diff --git a/src/lib/commands/laun.c b/src/lib/commands/laun.c index 9e1466b5..15ba87a2 100644 --- a/src/lib/commands/laun.c +++ b/src/lib/commands/laun.c @@ -263,7 +263,8 @@ launch_missile(struct plnstr *pp) target_ship.shp_x, target_ship.shp_y, target_ship.shp_own, &sublaunch) < 0) return RET_OK; - getship(n, &target_ship); + /* @target_ship may have expended shells defending */ + getship(target_ship.shp_uid, &target_ship); if (!msl_hit(pp, shp_hardtarget(&target_ship), EF_SHIP, N_SHP_MISS, N_SHP_SMISS, sublaunch, target_ship.shp_own)) { diff --git a/src/lib/commands/mfir.c b/src/lib/commands/mfir.c index cb1eb9c5..de2aa0a4 100644 --- a/src/lib/commands/mfir.c +++ b/src/lib/commands/mfir.c @@ -393,7 +393,7 @@ c_fire(void) putsect(&vsect); break; default: - getship(vshipno, &vship); + getship(vship.shp_uid, &vship); shipdamage(&vship, dam); if (vship.shp_effic < SHIP_MINEFF) pr("%s sunk!\n", prsub(&vship));