tPlayers are now removed properly on being killed - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c5d428b05211298ff701a107ed49a3204e6d35fd
 (DIR) parent 4e3602017eea8f0f61368aa22b54d767b22a3f35
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sat, 21 Oct 2000 17:36:16 +0000
       
       Players are now removed properly on being killed
       
       
       Diffstat:
         M po/dopewars.pot                     |      44 ++++++++++++++++----------------
         M src/serverside.c                    |      23 +++++++++++++++++++++++
       
       2 files changed, 45 insertions(+), 22 deletions(-)
       ---
 (DIR) diff --git a/po/dopewars.pot b/po/dopewars.pot
       t@@ -6,7 +6,7 @@
        msgid ""
        msgstr ""
        "Project-Id-Version: PACKAGE VERSION\n"
       -"POT-Creation-Date: 2000-10-08 16:52+0100\n"
       +"POT-Creation-Date: 2000-10-21 18:33+0100\n"
        "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
        "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
        "Language-Team: LANGUAGE <LL@li.org>\n"
       t@@ -2173,103 +2173,103 @@ msgstr ""
        msgid "AE^%s is already here!^Do you Attack, or Evade?"
        msgstr ""
        
       -#: src/serverside.c:1464
       +#: src/serverside.c:1487
        msgid "You were mugged in the subway!"
        msgstr ""
        
       -#: src/serverside.c:1475
       +#: src/serverside.c:1498
        #, c-format
        msgid "You meet a friend! He gives you %d %s."
        msgstr ""
        
       -#: src/serverside.c:1480
       +#: src/serverside.c:1503
        #, c-format
        msgid "You meet a friend! You give him %d %s."
        msgstr ""
        
       -#: src/serverside.c:1489
       +#: src/serverside.c:1512
        msgid "Sanitized away a RandomOffer"
        msgstr ""
        
       -#: src/serverside.c:1494
       +#: src/serverside.c:1517
        #, c-format
        msgid ""
        "Police dogs chase you for %d blocks! You dropped some %s! That's a drag, man!"
        msgstr ""
        
       -#: src/serverside.c:1510
       +#: src/serverside.c:1533
        #, c-format
        msgid "You find %d %s on a dead dude in the subway!"
        msgstr ""
        
       -#: src/serverside.c:1522
       +#: src/serverside.c:1545
        #, c-format
        msgid "Your mama made brownies with some of your %s! They were great!"
        msgstr ""
        
       -#: src/serverside.c:1532
       +#: src/serverside.c:1555
        msgid ""
        "YN^There is some weed that smells like paraquat here!^It looks good! Will "
        "you smoke it? "
        msgstr ""
        
       -#: src/serverside.c:1539
       +#: src/serverside.c:1562
        #, c-format
        msgid "You stopped to %s."
        msgstr ""
        
       -#: src/serverside.c:1560
       +#: src/serverside.c:1583
        msgid "Would you like to buy a bigger trenchcoat for %P?"
        msgstr ""
        
       -#: src/serverside.c:1565
       +#: src/serverside.c:1588
        msgid "YN^Hey dude! I'll help carry your %tde for a mere %P. Yes or no?"
        msgstr ""
        
       -#: src/serverside.c:1575
       +#: src/serverside.c:1598
        msgid "YN^Would you like to buy a %tde for %P?"
        msgstr ""
        
       -#: src/serverside.c:1679 src/serverside.c:1772
       +#: src/serverside.c:1702 src/serverside.c:1795
        #, c-format
        msgid "%s: offer was on behalf of %s"
        msgstr ""
        
       -#: src/serverside.c:1682
       +#: src/serverside.c:1705
        #, c-format
        msgid "%s has accepted your %s!^Use the G key to contact your spy."
        msgstr ""
        
       -#: src/serverside.c:1728
       +#: src/serverside.c:1751
        msgid ""
        "You hallucinated for three days on the wildest trip you ever imagined!^Then "
        "you died because your brain disintegrated!"
        msgstr ""
        
       -#: src/serverside.c:1752
       +#: src/serverside.c:1775
        #, c-format
        msgid "Too late - %s has just left!"
        msgstr ""
        
       -#: src/serverside.c:1775
       +#: src/serverside.c:1798
        #, c-format
        msgid "%s has rejected your %s!"
        msgstr ""
        
       -#: src/serverside.c:1818
       +#: src/serverside.c:1841
        msgid "YN^Officer %%s spots you dropping %s, and chases you!"
        msgstr ""
        
       -#: src/serverside.c:1820
       +#: src/serverside.c:1843
        msgid ""
        "YN^Officer %%s and %%d of his deputies spot you dropping %s, and chase you!"
        msgstr ""
        
       -#: src/serverside.c:1979
       +#: src/serverside.c:2002
        msgid "Player removed due to idle timeout"
        msgstr ""
        
       -#: src/serverside.c:1989
       +#: src/serverside.c:2012
        msgid "Player removed due to connect timeout"
        msgstr ""
        
 (DIR) diff --git a/src/serverside.c b/src/serverside.c
       t@@ -1348,6 +1348,28 @@ void RunFromCombat(Player *Play) {
           }
        }
        
       +void CheckForKilledPlayers(Player *Play) {
       +   Player *Defend;
       +   int ArrayInd;
       +   GPtrArray *KilledPlayers;
       +
       +   KilledPlayers=g_ptr_array_new();
       +   for (ArrayInd=0;ArrayInd<Play->FightArray->len;ArrayInd++) {
       +      Defend=(Player *)g_ptr_array_index(Play->FightArray,ArrayInd);
       +
       +      if (Defend && Defend!=Play && IsOpponent(Play,Defend) &&
       +          Defend->Health==0) {
       +         g_ptr_array_add(KilledPlayers,(gpointer)Defend);
       +      }
       +   }
       +   for (ArrayInd=0;ArrayInd<KilledPlayers->len;ArrayInd++) {
       +      Defend=(Player *)g_ptr_array_index(KilledPlayers,ArrayInd);
       +      WithdrawFromCombat(Defend);
       +   }
       +
       +   g_ptr_array_free(KilledPlayers,FALSE);
       +}
       +
        void Fire(Player *Play) {
        /* Fires all weapons of player "Play" at all opponents, and resets  */
        /* the fight timeout (the reload time)                              */
       t@@ -1383,6 +1405,7 @@ void Fire(Player *Play) {
                 SendFightMessage(Play,Defend,BitchesKilled,FightPoint,Loot,TRUE,NULL);
              }
           }
       +   CheckForKilledPlayers(Play);
           DoReturnFire(Play);
        }