#ifdef CSQC
+float generator_precached;
+
void generator_precache()
{
+ if(generator_precached)
+ return; // already precached
+
precache_model("models/onslaught/generator.md3");
precache_model("models/onslaught/generator_dead.md3");
- precache_sound("onslaught/generator_underattack.wav");
-
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_dmg8.md3");
precache_model("models/onslaught/generator_dmg9.md3");
precache_model("models/onslaught/generator_dead.md3");
+
+ generator_precached = TRUE;
}
void generator_draw() { } // TODO
setmodel(self, "models/onslaught/generator_dmg2.md3");
else if(hp < self.max_health * 0.90)
setmodel(self, "models/onslaught/generator_dmg1.md3");
+ else if(hp <= self.max_health || hp >= self.max_health)
+ setmodel(self, "models/onslaught/generator.md3");
setsize(self, GENERATOR_MIN, GENERATOR_MAX);
}
.vector glowmod;
void generator_changeteam()
-{
- switch(self.team - 1)
- {
- case NUM_TEAM_1: // Red
- {
- self.glowmod = '2 0 0';
- self.teamradar_color = '1 0 0';
- break;
- }
- case NUM_TEAM_2: // Blue
- {
- self.glowmod = '0 0 2';
- self.teamradar_color = '0 0 1';
- break;
- }
- case NUM_TEAM_3: // Yellow
- {
- self.glowmod = '1 1 0';
- self.teamradar_color = '1 1 0';
- break;
- }
- case NUM_TEAM_4: // Pink
- {
- self.glowmod = '1 0 1';
- self.teamradar_color = '1 0 1';
- break;
- }
- }
+{
+ self.glowmod = Team_ColorRGB(self.team - 1);
+ self.teamradar_color = Team_ColorRGB(self.team - 1);
if(self.team)
self.colormap = 1024 + (self.team - 1) * 17;