float i;
if (damage <= 0)
return;
- if(inWarmupStage)
+ if(warmup_stage)
return;
if (attacker != self)
{
#endif
self.lasthealth = self.health;
}
- else if not(inWarmupStage)
+ else if not(warmup_stage)
{
if (attacker == self)
bprint(Team_ColoredFullName(self.team), " generator spontaneously exploded due to overtime!\n");
onslaught_updatelinks();
}
+ if(self.health <= 0)
+ setmodel(self, "models/onslaught/generator_dead.md3");
+ else if(self.health < self.max_health * 0.10)
+ setmodel(self, "models/onslaught/generator_dmg9.md3");
+ else if(self.health < self.max_health * 0.20)
+ setmodel(self, "models/onslaught/generator_dmg8.md3");
+ else if(self.health < self.max_health * 0.30)
+ setmodel(self, "models/onslaught/generator_dmg7.md3");
+ else if(self.health < self.max_health * 0.40)
+ setmodel(self, "models/onslaught/generator_dmg6.md3");
+ else if(self.health < self.max_health * 0.50)
+ setmodel(self, "models/onslaught/generator_dmg5.md3");
+ else if(self.health < self.max_health * 0.60)
+ setmodel(self, "models/onslaught/generator_dmg4.md3");
+ else if(self.health < self.max_health * 0.70)
+ setmodel(self, "models/onslaught/generator_dmg3.md3");
+ else if(self.health < self.max_health * 0.80)
+ setmodel(self, "models/onslaught/generator_dmg2.md3");
+ else if(self.health < self.max_health * 0.90)
+ setmodel(self, "models/onslaught/generator_dmg1.md3");
+ setsize(self, '-52 -52 -14', '52 52 75');
+
// Throw some flaming gibs on damage, more damage = more chance for gib
if(random() < damage/220)
{
if(random() < damage/200+0.2)
if(random() < 0.5)
ons_throwgib(hitloc + '0 0 20', randomvec()*360, "models/onslaught/gen_gib1.md3", 5, FALSE);
-
- self.SendFlags |= GSF_STATUS;
}
// update links after a delay
{
onslaught_updatelinks();
// now begin normal thinking
- generator_link(onslaught_generator_think);
-
- self.SendFlags = GSF_SETUP;
+ self.think = onslaught_generator_think;
+ self.nextthink = time;
}
string onslaught_generator_waypointsprite_for_team(entity e, float t)
self.think = onslaught_generator_delayed;
self.nextthink = time + 0.2;
setmodel(self, "models/onslaught/generator.md3");
- setsize(self, GENERATOR_MIN, GENERATOR_MAX);
-
- self.SendFlags |= GSF_STATUS;
+ setsize(self, '-52 -52 -14', '52 52 75');
if(!self.noalign)
{
//entity e;
precache_model("models/onslaught/generator.md3");
precache_model("models/onslaught/generator_shield.md3");
+ precache_model("models/onslaught/generator_dmg1.md3");
+ precache_model("models/onslaught/generator_dmg2.md3");
+ precache_model("models/onslaught/generator_dmg3.md3");
+ precache_model("models/onslaught/generator_dmg4.md3");
+ precache_model("models/onslaught/generator_dmg5.md3");
+ precache_model("models/onslaught/generator_dmg6.md3");
+ precache_model("models/onslaught/generator_dmg7.md3");
+ precache_model("models/onslaught/generator_dmg8.md3");
+ precache_model("models/onslaught/generator_dmg9.md3");
+ precache_model("models/onslaught/generator_dead.md3");
precache_model("models/onslaught/shockwave.md3");
precache_model("models/onslaught/shockwavetransring.md3");
precache_model("models/onslaught/gen_gib1.md3");
precache_sound("onslaught/ons_hit1.wav");
precache_sound("onslaught/ons_hit2.wav");
precache_sound("onslaught/electricity_explode.wav");
- precache_sound("onslaught/generator_underattack.wav");
if (!self.team)
objerror("team must be set");
self.movetype = MOVETYPE_NONE;
self.lasthealth = self.max_health = self.health = autocvar_g_onslaught_gen_health;
setmodel(self, "models/onslaught/generator.md3");
- setsize(self, GENERATOR_MIN, GENERATOR_MAX);
+ setsize(self, '-52 -52 -14', '52 52 75');
setorigin(self, self.origin);
self.takedamage = DAMAGE_AIM;
self.bot_attack = TRUE;
entity e = find(world, targetname, self.target);
if (e != world)
self.team = e.team;
-
- self.SendFlags |= MSF_STATUS; // update team
return FALSE;
}
if(e != world)
{
self.team = e.team;
- self.SendFlags |= MSF_STATUS;
ee = e;
}
}