]> git.pond.sub.org Git - empserver/commitdiff
Fix sabo not to kill the spy every time
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 29 Mar 2010 15:39:07 +0000 (17:39 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Mon, 29 Mar 2010 15:39:07 +0000 (17:39 +0200)
The hack to protect the spy from sabotage damage killed it outright.
Broken in 861a6662, v4.3.17.

src/lib/commands/sabo.c

index 98a12d7534ee2026f8858692f06f5096c75ba598..5f568c42656e051de59537cfb64ff2eb125eb0a9 100644 (file)
@@ -41,7 +41,7 @@ int
 sabo(void)
 {
     struct nstr_item ni;
-    struct lndstr land;
+    struct lndstr land, tmp;
     struct sctstr sect;
     double odds;
     int dam;
@@ -96,13 +96,14 @@ sabo(void)
        }
 
        /* hack: hide the spy so it don't gets blasted by sectdamage() */
-       land.lnd_own = 0;
-       putland(land.lnd_uid, &land);
+       tmp = land;
+       tmp.lnd_own = 0;
+       putland(land.lnd_uid, &tmp);
+       land.lnd_seqno = tmp.lnd_seqno;
 
        sectdamage(&sect, dam);
        putsect(&sect);
 
-       land.lnd_own = player->cnum;
        if (chance(odds)) {
            pr("%s dies in explosion.\n", prland(&land));
            land.lnd_effic = 0;