From aa26c53e4763320ba3185f4f1d39a9ba8cf951f5 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 12 Feb 2005 16:43:08 +0000 Subject: [PATCH] (multifire): If firing at a submarine with something that can't drop depth charges, don't disclose the target is a submarine. Old code allowed players to find all submarine uids. --- src/lib/commands/mfir.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/lib/commands/mfir.c b/src/lib/commands/mfir.c index b5633bc5..33c88bbd 100644 --- a/src/lib/commands/mfir.c +++ b/src/lib/commands/mfir.c @@ -350,11 +350,9 @@ multifire(void) pr("range is %.2f (%.2f)\n", range2, range); if (target == targ_sub) { if ((mchr[(int)fship.shp_type].m_flags & M_DCH) == 0) { - pr("A %s can't drop depth charges!\n", - mchr[(int)fship.shp_type].m_name); - continue; - } - if (shell < 2) { + /* Don't tell it's a sub */ + range2 = -1; + } else if (shell < 2) { pr("Not enough shells for depth charge!\n"); continue; } @@ -403,9 +401,8 @@ multifire(void) range2 = (double)roundrange(range); pr("range is %.2f (%.2f)\n", range2, range); if (target == targ_sub) { - pr("A %s can't drop depth charges!\n", - lchr[(int)fland.lnd_type].l_name); - continue; + /* Don't tell it's a sub */ + range2 = -1; } gun = fland.lnd_item[I_GUN]; @@ -456,10 +453,6 @@ multifire(void) pr("Not enough military for firing crew.\n"); continue; } - if (target == targ_sub) { - pr("Target ship not sighted!\n"); - continue; - } if (gun > 7) gun = 7; range = tfactfire(player->cnum, 7.0); @@ -467,6 +460,10 @@ multifire(void) range++; range2 = (double)roundrange(range); pr("range is %.2f (%.2f)\n", range2, range); + if (target == targ_sub) { + /* Don't tell it's a sub */ + range2 = -1; + } guneff = landgun((int)fsect.sct_effic, gun); dam = (int)guneff; shell--;