From 8caa3926db72ddf04e9d4ed98933f263cb42a6b5 Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 8 Mar 2013 11:09:31 +1100 Subject: [PATCH] Cleanup spawner code a bit --- qcsrc/server/monsters/monster/spawner.qc | 26 ++++++++---------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/qcsrc/server/monsters/monster/spawner.qc b/qcsrc/server/monsters/monster/spawner.qc index 76cc94f22..8c3f22a9e 100644 --- a/qcsrc/server/monsters/monster/spawner.qc +++ b/qcsrc/server/monsters/monster/spawner.qc @@ -12,20 +12,17 @@ void() spawner_think; void spawnmonsters () { - if(self.spawner_monstercount >= autocvar_g_monster_spawner_maxmobs || self.frozen || self.freezetag_frozen) + if(self.spawner_monstercount >= autocvar_g_monster_spawner_maxmobs || self.frozen) return; vector p1, p2, p3, p4, chosenposi; float r = random(); - string type = ""; + string type = self.spawnmob; entity e; self.spawner_monstercount += 1; - - if(self.spawnmob != "") - type = self.spawnmob; - if(autocvar_g_monster_spawner_forcespawn != "") + if(autocvar_g_monster_spawner_forcespawn) type = autocvar_g_monster_spawner_forcespawn; if(type == "" || type == "spawner") // spawner spawning spawners?! @@ -47,8 +44,8 @@ void spawnmonsters () e = spawnmonster(type, self, self, chosenposi, FALSE, MONSTER_MOVE_WANDER); - if(teamplay && autocvar_g_monsters_teams) - e.team = self.team; + e.team = self.team; + e.candrop = FALSE; if(self.spawnflags & MONSTERFLAG_GIANT) e.spawnflags = MONSTERFLAG_GIANT; @@ -75,23 +72,17 @@ void spawner_die () void spawner_think() { - float finished = FALSE; self.think = spawner_think; if(self.spawner_monstercount >= autocvar_g_monster_spawner_maxmobs) - { - self.nextthink = time + 5; - } + self.nextthink = time + 15; if (self.spawner_monstercount <= autocvar_g_monster_spawner_maxmobs) - { spawnmonsters(); - finished = TRUE; - } - + self.nextthink = time + 1; - if(self.spawner_monstercount <= autocvar_g_monster_spawner_maxmobs || !finished) + if(self.spawner_monstercount <= autocvar_g_monster_spawner_maxmobs) self.nextthink = time + 0.1; } @@ -109,7 +100,6 @@ void spawner_spawn() self.spawner_monstercount = 0; - droptofloor(); self.movetype = MOVETYPE_NONE; monster_hook_spawn(); // for post-spawn mods -- 2.39.2