]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add some ons fanciness to td generator
authorMario <mario.mario@y7mail.com>
Wed, 17 Apr 2013 07:29:00 +0000 (17:29 +1000)
committerMario <mario.mario@y7mail.com>
Wed, 17 Apr 2013 07:29:00 +0000 (17:29 +1000)
qcsrc/server/mutators/gamemode_towerdefense.qc

index 5b31e1331f7b5439bcca0794094a095a26ffebff..c81a26c51d8594cdea925b80d769c2c790bec3bf 100644 (file)
@@ -52,6 +52,7 @@ void td_generator_die()
        gendestroyed = TRUE;
        
        pointparticles(particleeffectnum("explosion_medium"), self.origin, '0 0 0', 1);
+       sound(self, CH_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
        
        Send_Notification(NOTIF_ALL, world, MSG_MULTI, MULTI_TD_GENDESTROYED);
        
@@ -66,7 +67,7 @@ void td_generator_die()
 
 void td_generator_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) 
 {
-       if(IS_PLAYER(attacker) || attacker.turrcaps_flags & TFL_TURRCAPS_ISTURRET || attacker.vehicle_flags & VHF_ISVEHICLE)
+       if(IS_PLAYER(attacker) || attacker.turrcaps_flags & TFL_TURRCAPS_ISTURRET || attacker.vehicle_flags & VHF_ISVEHICLE || self.takedamage == DAMAGE_NO)
                return;
                
        if (time > self.pain_finished)
@@ -75,6 +76,11 @@ void td_generator_damage(entity inflictor, entity attacker, float damage, float
                play2all("onslaught/generator_underattack.wav");
        }
        
+       if (random() < 0.5)
+               spamsound(self, CH_TRIGGER, "onslaught/ons_hit1.wav", VOL_BASE, ATTN_NORM);
+       else
+               spamsound(self, CH_TRIGGER, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);
+       
        Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_TD_GENDAMAGED);
        
        self.health -= damage;
@@ -109,7 +115,7 @@ void td_generator_setup()
        
        self.SendFlags |= GSF_SETUP;
        
-       WaypointSprite_SpawnFixed(self.netname, self.origin + '0 0 60', self, sprite, RADARICON_OBJECTIVE, '1 0.5 0');  
+       WaypointSprite_SpawnFixed(self.netname, self.origin + '0 0 90', self, sprite, RADARICON_OBJECTIVE, '1 0.5 0');  
        WaypointSprite_UpdateMaxHealth(self.sprite, self.max_health);
        WaypointSprite_UpdateHealth(self.sprite, self.health);
 }