]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/monsters/sv_monsters.qc
Merge branch 'master' into samual/weapons
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / monsters / sv_monsters.qc
index 28a78ceb87f4ddd8123e8cc72fef483ccfbc14d0..013eea7436b122149ed78db98f0fff22d6bbc93a 100644 (file)
@@ -104,7 +104,7 @@ float monster_isvalidtarget (entity targ, entity ent)
        if(SAME_TEAM(targ, ent))
                return FALSE; // enemy is on our team
 
-       if (targ.frozen)
+       if (targ.freezetag_frozen)
                return FALSE; // ignore frozen
 
        if(autocvar_g_monsters_target_infront || ent.spawnflags & MONSTERFLAG_INFRONT)
@@ -337,7 +337,7 @@ void Monster_CheckMinibossFlag ()
                self.health += autocvar_g_monsters_miniboss_healthboost;
                self.effects |= EF_RED;
                if(!self.weapon)
-                       self.weapon = WEP_NEX;
+                       self.weapon = WEP_VORTEX;
        }
 }
 
@@ -384,8 +384,7 @@ void Monster_Fade ()
                totalspawned -= 1;
 
                if(IS_CLIENT(self.realowner))
-               if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
-                               self.realowner.monstercount -= 1;
+                       self.realowner.monstercount -= 1;
 
                SUB_SetFade(self, time + 3, 1);
        }
@@ -538,26 +537,6 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_
 
        entity targ;
 
-       if(self.frozen)
-       {
-               self.revive_progress = bound(0, self.revive_progress + self.ticrate * self.revive_speed, 1);
-               self.health = max(1, self.max_health * self.revive_progress);
-
-               WaypointSprite_UpdateHealth(self.sprite, self.health);
-
-               movelib_beak_simple(stopspeed);
-
-               self.frame = manim_idle;
-
-               self.enemy = world;
-               self.nextthink = time + self.ticrate;
-
-               if(self.revive_progress >= 1)
-                       Unfreeze(self); // wait for next think before attacking
-
-               return; // no moving while frozen
-       }
-
        if(self.flags & FL_SWIM)
        {
                if(self.waterlevel < WATERLEVEL_WETFEET)
@@ -733,9 +712,6 @@ void monster_remove(entity mon)
        if(mon.weaponentity)
                remove(mon.weaponentity);
 
-       if(mon.iceblock)
-               remove(mon.iceblock);
-
        WaypointSprite_Kill(mon.sprite);
 
        remove(mon);
@@ -786,8 +762,6 @@ void monsters_reset()
        setorigin(self, self.pos1);
        self.angles = self.pos2;
 
-       Unfreeze(self); // remove any icy remains
-
        self.health = self.max_health;
        self.velocity = '0 0 0';
        self.enemy = world;
@@ -806,8 +780,10 @@ void monsters_corpse_damage (entity inflictor, entity attacker, float damage, fl
        {
                Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
 
+               // number of monsters spawned with mobspawn command
+               totalspawned -= 1;
+
                if(IS_CLIENT(self.realowner))
-               if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
                        self.realowner.monstercount -= 1;
 
                self.think = SUB_Remove;
@@ -821,12 +797,6 @@ void monster_die(entity attacker, float gibbed)
        self.nextthink = time;
        self.ltime = time + 5;
 
-       if ( self.frozen )
-       {
-               Unfreeze(self); // remove any icy remains
-               self.health = 0; // reset by Unfreeze
-       }
-
        monster_dropitem();
 
        MonsterSound(monstersound_death, 0, FALSE, CH_VOICE);
@@ -838,13 +808,12 @@ void monster_die(entity attacker, float gibbed)
        if(autocvar_g_monsters_score_spawned || !((self.spawnflags & MONSTERFLAG_SPAWNED) || (self.spawnflags & MONSTERFLAG_RESPAWNED)))
                PlayerScore_Add(attacker, SP_SCORE, +autocvar_g_monsters_score_kill);
 
-       if(!Monster_CanRespawn(self) && gibbed)
+       if(gibbed)
        {
                // number of monsters spawned with mobspawn command
                totalspawned -= 1;
 
                if(IS_CLIENT(self.realowner))
-               if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
                        self.realowner.monstercount -= 1;
        }
 
@@ -871,10 +840,6 @@ void monster_die(entity attacker, float gibbed)
 
 void monsters_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
-
-       if(self.frozen && deathtype != DEATH_KILL)
-               return;
-
        if(time < self.pain_finished && deathtype != DEATH_KILL)
                return;