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)
self.health += autocvar_g_monsters_miniboss_healthboost;
self.effects |= EF_RED;
if(!self.weapon)
- self.weapon = WEP_NEX;
+ self.weapon = WEP_VORTEX;
}
}
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);
}
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)
if(mon.weaponentity)
remove(mon.weaponentity);
- if(mon.iceblock)
- remove(mon.iceblock);
-
WaypointSprite_Kill(mon.sprite);
remove(mon);
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;
{
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;
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);
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;
}
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;