From: Mario Date: Mon, 29 Apr 2013 21:13:48 +0000 (+1000) Subject: Add spawnshield time for monsters X-Git-Tag: xonotic-v0.8.0~241^2^2~256 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=8f826984263dac5e164f6741af604694353a7f5c;p=xonotic%2Fxonotic-data.pk3dir.git Add spawnshield time for monsters --- 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