]> git.pond.sub.org Git - empserver/commitdiff
News reported victim as actor for sub-launched anti-sat and ABM
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 13 Oct 2009 23:33:33 +0000 (19:33 -0400)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 13 Dec 2009 07:05:25 +0000 (08:05 +0100)
If the intercepted missile was sub-launched as well, this disclosed
its owner.

The stock game's anti-sats and ABMs can't be sub-launched.

src/lib/commands/laun.c
src/lib/subs/mslsub.c

index af896ec1bb4d216830deca9c1aef2027ee40651b..b339de8d6afc765f53e787e0a8a8b35719dfa233 100644 (file)
@@ -160,12 +160,13 @@ launch_as(struct plnstr *pp)
     }
     if (msl_equip(pp, 'i') < 0)
        return RET_FAIL;
-    if (msl_hit(pp, pln_def(&plane), EF_PLANE, N_SAT_KILL, N_SAT_KILL,
+    if (msl_hit(pp, pln_def(&plane), EF_PLANE, 0, 0,
                prplane(&plane), plane.pln_x, plane.pln_y, plane.pln_own)) {
        pr("Satellite shot down\n");
        mpr(plane.pln_own, "%s anti-sat destroyed %s over %s\n",
            cname(player->cnum), prplane(&plane),
            xyas(plane.pln_x, plane.pln_y, plane.pln_own));
+       nreport(pp->pln_own, N_SAT_KILL, plane.pln_own, 1);
        plane.pln_effic = 0;
        putplane(plane.pln_uid, &plane);
     }
index 8a327790c45a54b52b38d684d120f910837c605d..c2b2d728a07e5e3eac63bf70e8bf5bc06f567cca 100644 (file)
@@ -294,13 +294,17 @@ msl_intercept(struct plnstr *msl, struct sctstr *sp, int sublaunch,
                def_name, who, att_name, cname(sp->sct_own));
        }
 
-       if (msl_hit(pp, pln_def(msl), EF_PLANE, news_item, news_item,
+       if (msl_hit(pp, pln_def(msl), EF_PLANE, 0, 0,
                    att_name, sp->sct_x, sp->sct_y, msl->pln_own)) {
            mpr(msl->pln_own, "%s destroyed by %s %s!\n",
                att_name, cname(pp->pln_own), def_name);
            mpr(sp->sct_own, "%s %s intercepted!\n", who, att_name);
            if (sp->sct_own != pp->pln_own)
                mpr(pp->pln_own, "%s %s intercepted!\n", who, att_name);
+           if (sublaunch)
+               nreport(pp->pln_own, news_item, 0, 1);
+           else
+               nreport(pp->pln_own, news_item, msl->pln_own, 1);
            destroyed = 1;
        }
        /* zap the missile */