From f0a29d8d2b7f71e3340d56cd181445847e0553d2 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 13 Oct 2013 03:41:10 +1100 Subject: [PATCH] Add support for mobspawn argument "random" which spawns a randomly selected monster --- qcsrc/server/command/cmd.qc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; } } -- 2.39.2