From 8f826984263dac5e164f6741af604694353a7f5c Mon Sep 17 00:00:00 2001 From: Mario Date: Tue, 30 Apr 2013 07:13:48 +1000 Subject: [PATCH] Add spawnshield time for monsters --- qcsrc/server/autocvars.qh | 1 + qcsrc/server/monsters/lib/monsters.qc | 4 ++++ qcsrc/server/monsters/monster/zombie.qc | 1 + 3 files changed, 6 insertions(+) diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index eedb8d29a..6eab0c532 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1261,6 +1261,7 @@ float autocvar_g_monsters_forcedrop; float autocvar_g_monsters_drop_time; string autocvar_g_monsters_drop_type; string autocvar_g_monsters_drop_size; +float autocvar_g_monster_spawnshieldtime; float autocvar_g_monsters_teams; float autocvar_g_monsters_healthbars; float autocvar_g_monsters_respawn_delay; diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index e87ffa8a8..2e25b2004 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -810,6 +810,9 @@ void monsters_damage (entity inflictor, entity attacker, float damage, float dea if(time < self.pain_finished && deathtype != DEATH_KILL) return; + if(time < self.spawnshieldtime) + return; + if((ignore_turrets && !(attacker.turrcaps_flags & TFL_TURRCAPS_ISTURRET)) || !ignore_turrets) if(monster_isvalidtarget(attacker, self)) self.enemy = attacker; @@ -1000,6 +1003,7 @@ float monster_initialize(string net_name, float mon_id, self.scale = 1; self.movetype = MOVETYPE_WALK; self.delay = -1; // used in attack delay code + self.spawnshieldtime = time + autocvar_g_monster_spawnshieldtime; monsters_spawned += 1; self.enemy = world; self.velocity = '0 0 0'; diff --git a/qcsrc/server/monsters/monster/zombie.qc b/qcsrc/server/monsters/monster/zombie.qc index a1d0b5395..4e74810dd 100644 --- a/qcsrc/server/monsters/monster/zombie.qc +++ b/qcsrc/server/monsters/monster/zombie.qc @@ -135,6 +135,7 @@ void zombie_spawn() self.nextthink = time + random() * 0.5 + 0.1; self.think = zombie_think; self.monster_attackfunc = zombie_attack; + self.spawnshieldtime = self.spawn_time; self.respawntime = 0.1; self.spawnflags |= MONSTER_RESPAWN_DEATHPOINT; // always enabled for zombie -- 2.39.2