]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add spawnshield time for monsters
authorMario <mario.mario@y7mail.com>
Mon, 29 Apr 2013 21:13:48 +0000 (07:13 +1000)
committerMario <mario.mario@y7mail.com>
Mon, 29 Apr 2013 21:13:48 +0000 (07:13 +1000)
qcsrc/server/autocvars.qh
qcsrc/server/monsters/lib/monsters.qc
qcsrc/server/monsters/monster/zombie.qc

index eedb8d29a513c2751ab90eda31f47d0ae973200a..6eab0c53298c5f72bdaf4e02c43a170ef54c7778 100644 (file)
@@ -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;
index e87ffa8a8477e18510177fe08156cdfee9540126..2e25b2004278a7c970e3133c3dcfb652f0366184 100644 (file)
@@ -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';
index a1d0b539530c7277619a9afb91e823cf10ebb0fc..4e74810dd35c8aec48836ae03e4b2db590783023 100644 (file)
@@ -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