From: Mario Date: Sat, 12 Oct 2013 16:41:10 +0000 (+1100) Subject: Add support for mobspawn argument "random" which spawns a randomly selected monster X-Git-Tag: xonotic-v0.8.0~241^2^2~54 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=f0a29d8d2b7f71e3340d56cd181445847e0553d2;p=xonotic%2Fxonotic-data.pk3dir.git Add support for mobspawn argument "random" which spawns a randomly selected monster --- diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index 3d1015dfc..43af3c07d 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -256,7 +256,7 @@ void ClientCommand_mobspawn(float request, float argc) { entity e; string tospawn; - float moveflag; + float moveflag, i; moveflag = (argv(2) ? stof(argv(2)) : 1); // follow owner if not defined tospawn = strtolower(argv(1)); @@ -267,6 +267,15 @@ void ClientCommand_mobspawn(float request, float argc) return; } + if(tospawn == "random") + { + RandomSelection_Init(); + for(i = MON_FIRST; i <= MON_LAST; ++i) + RandomSelection_Add(world, 0, (get_monsterinfo(i)).netname, 1, 1); + + tospawn = RandomSelection_chosen_string; + } + if(autocvar_g_monsters_max <= 0 || autocvar_g_monsters_max_perplayer <= 0) { sprint(self, "Monster spawning is disabled.\n"); } else if(!IS_PLAYER(self)) { sprint(self, "You can't spawn monsters while spectating.\n"); } else if(g_invasion) { sprint(self, "You can't spawn monsters during an invasion!\n"); } @@ -299,6 +308,7 @@ void ClientCommand_mobspawn(float request, float argc) { sprint(self, "\nUsage:^3 cmd mobspawn monster\n"); sprint(self, " See 'cmd mobspawn list' for available arguments.\n"); + sprint(self, " Argument 'random' spawns a randomly selected monster.\n"); return; } }