]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'refs/remotes/origin/terencehill/numbered_bots'
authorRudolf Polzer <divverent@alientrap.org>
Tue, 18 May 2010 19:07:42 +0000 (21:07 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 18 May 2010 19:07:42 +0000 (21:07 +0200)
qcsrc/server/bot/bot.qc
qcsrc/server/bot/bot.qh

index b4285304570c574c1ba0a8160e3da29ef12f1930..44ece52bfd9c66cd2caf0d67af3ce2c4c0256d4e 100644 (file)
@@ -200,6 +200,20 @@ void bot_setnameandstuff()
        else
                name = bot_name;
 
+       self.cleanname = strzone(name);
+
+       // number bots with identical names
+       float i;
+       i = 0;
+       FOR_EACH_CLIENT(p)
+       {
+               if(clienttype(p) == CLIENTTYPE_BOT)
+                       if(p.cleanname == name)
+                               ++i;
+       }
+       if (i)
+               name = strcat(name, "(", ftos(i), ")");
+
        // pick the model and skin
        if(substring(bot_model, -4, 1) != ".")
                bot_model = strcat(bot_model, ".iqm");
@@ -338,12 +352,15 @@ void bot_clientdisconnect()
 {
        if (clienttype(self) != CLIENTTYPE_BOT)
                return;
+       if(self.cleanname)
+               strunzone(self.cleanname);
        if(self.netname_freeme)
                strunzone(self.netname_freeme);
        if(self.playermodel_freeme)
                strunzone(self.playermodel_freeme);
        if(self.playerskin_freeme)
                strunzone(self.playerskin_freeme);
+       self.cleanname = string_null;
        self.netname_freeme = string_null;
        self.playermodel_freeme = string_null;
        self.playerskin_freeme = string_null;
index 75619e19b786633e198a2063bac65bf0e34655ae..0550431e968bd8b31b49a7c7546a89faed272bd5 100644 (file)
@@ -53,6 +53,7 @@ entity bot_list;
 entity player_list;
 .entity nextbot;
 .entity nextplayer;
+.string cleanname;
 .string netname_freeme;
 .string playermodel_freeme;
 .string playerskin_freeme;