From: Mario Date: Wed, 13 Feb 2013 11:53:42 +0000 (+1100) Subject: Use a cvar for monster list rather than a hardcoded string (invalid value is replaced... X-Git-Tag: xonotic-v0.8.0~241^2^2~515 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=b4c7df19b04dd8f61fc72c21a2cb5ae03123519d;p=xonotic%2Fxonotic-data.pk3dir.git Use a cvar for monster list rather than a hardcoded string (invalid value is replaced with knight, so no error) --- diff --git a/monsters.cfg b/monsters.cfg index cae7a40eb..cddda3c4c 100644 --- a/monsters.cfg +++ b/monsters.cfg @@ -23,6 +23,7 @@ set g_monsters_skill_normal 4 "Monster normal skill level (used for skill based set g_monsters_skill_hard 5 "Monster hard skill level (used for skill based functions)" set g_monsters_skill_insane 7 "Monster insane skill level (used for skill based functions)" set g_monsters_skill_nightmare 10 "Monster nightmare skill level (used for skill based functions)" +set g_monsters_spawn_list "ogre demon shambler knight soldier scrag dog spawn hellknight fish vore enforcer zombie spawner spider" "monsters not listed here will spawn as knights" // Enforcer set g_monster_enforcer 1 "Enable Enforcers" diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 3b8a49759..8d4e07eda 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1326,3 +1326,4 @@ float autocvar_g_monsters_skill_normal; float autocvar_g_monsters_skill_hard; float autocvar_g_monsters_skill_insane; float autocvar_g_monsters_skill_nightmare; +string autocvar_g_monsters_spawn_list; \ No newline at end of file diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index b4048a721..26ef72b74 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -199,7 +199,7 @@ void ClientCommand_mobspawn(float request, float argc) if(tospawn == "list") { sprint(self, "Available monsters:\n"); - sprint(self, strcat(monsterlist(), "\n")); + sprint(self, strcat(autocvar_g_monsters_spawn_list, "\n")); return; } diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 368ce705f..ae94b7fc8 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -655,4 +655,3 @@ float spawncode_first_load; // used to tell the player the monster database is l float monsters_total; float monsters_killed; void monsters_setstatus(); // monsters.qc -string monsterlist(); diff --git a/qcsrc/server/monsters/lib/spawn.qc b/qcsrc/server/monsters/lib/spawn.qc index 6a9fa3fe4..bb707b3ea 100644 --- a/qcsrc/server/monsters/lib/spawn.qc +++ b/qcsrc/server/monsters/lib/spawn.qc @@ -35,7 +35,7 @@ entity spawnmonster (string monster, entity spawnedby, entity own, vector orig, setorigin(e, orig); - if not(spawnmonster_checkinlist(monster, monsterlist())) + if not(spawnmonster_checkinlist(monster, autocvar_g_monsters_spawn_list)) monster = "knight"; e.realowner = spawnedby; diff --git a/qcsrc/server/monsters/monsters.qh b/qcsrc/server/monsters/monsters.qh index 67eec4b69..a9695490b 100644 --- a/qcsrc/server/monsters/monsters.qh +++ b/qcsrc/server/monsters/monsters.qh @@ -19,4 +19,3 @@ #include "monster/zombie.qc" #include "monster/spider.qc" #include "monster/spawner.qc" -string monsterlist () { return "ogre demon shambler knight soldier scrag dog spawn hellknight fish vore enforcer zombie spawner spider"; } \ No newline at end of file