]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_minelayer.qc
Merge branch 'sev/menu_colorbutton_clean'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_minelayer.qc
index 1557e9e5ee4e9ef7d1607c2595ac48fff24a6070..ec36f5d32541cea2fbca1c8fa29572b0e1994d06 100644 (file)
@@ -73,7 +73,7 @@ void W_Mine_Explode ()
 {
        if(other.takedamage == DAMAGE_AIM)
                if(IS_PLAYER(other))
-                       if(IsDifferentTeam(self.realowner, other))
+                       if(DIFF_TEAM(self.realowner, other))
                                if(other.deadflag == DEAD_NO)
                                        if(IsFlying(other))
                                                Send_Notification(NOTIF_ONE, self.realowner, MSG_ANNCE, ANNCE_ACHIEVEMENT_AIRSHOT);
@@ -148,7 +148,7 @@ void W_Mine_ProximityExplode ()
                head = findradius(self.origin, autocvar_g_balance_minelayer_radius);
                while(head)
                {
-                       if(head == self.realowner || !IsDifferentTeam(head, self.realowner))
+                       if(head == self.realowner || SAME_TEAM(head, self.realowner))
                                return;
                        head = head.chain;
                }
@@ -182,7 +182,7 @@ void W_Mine_Think (void)
                        self.movetype = MOVETYPE_NONE;
                }
        }
-       
+
        // our lifetime has expired, it's time to die - mine_time just allows us to play a sound for this
        // TODO: replace this mine_trigger.wav sound with a real countdown
        if ((time > self.cnt) && (!self.mine_time))
@@ -195,7 +195,7 @@ void W_Mine_Think (void)
 
        // a player's mines shall explode if he disconnects or dies
        // TODO: Do this on team change too -- Samual: But isn't a player killed when they switch teams?
-       if(!IS_PLAYER(self.realowner) || self.realowner.deadflag != DEAD_NO)
+       if(!IS_PLAYER(self.realowner) || self.realowner.deadflag != DEAD_NO || self.realowner.freezetag_frozen)
        {
                other = world;
                self.projectiledeathtype |= HITTYPE_BOUNCE;
@@ -207,8 +207,8 @@ void W_Mine_Think (void)
        head = findradius(self.origin, autocvar_g_balance_minelayer_proximityradius);
        while(head)
        {
-               if(IS_PLAYER(head) && head.deadflag == DEAD_NO)
-               if(head != self.realowner && IsDifferentTeam(head, self.realowner)) // don't trigger for team mates
+               if(IS_PLAYER(head) && head.deadflag == DEAD_NO && !head.freezetag_frozen)
+               if(head != self.realowner && DIFF_TEAM(head, self.realowner)) // don't trigger for team mates
                if(!self.mine_time)
                {
                        spamsound (self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTEN_NORM);
@@ -258,15 +258,15 @@ void W_Mine_Damage (entity inflictor, entity attacker, float damage, float death
 {
        if (self.health <= 0)
                return;
-               
+
        float is_from_enemy = (inflictor.realowner != self.realowner);
-               
+
        if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, (is_from_enemy ? 1 : -1)))
                return; // g_projectiles_damage says to halt
-               
+
        self.health = self.health - damage;
        self.angles = vectoangles(self.velocity);
-       
+
        if (self.health <= 0)
                W_PrepareExplosionByDamage(attacker, W_Mine_Explode);
 }
@@ -337,7 +337,7 @@ void W_Mine_Attack (void)
        // common properties
 
        other = mine; MUTATOR_CALLHOOK(EditProjectile);
-       
+
        self.minelayer_mines = W_Mine_Count(self);
 }
 
@@ -470,7 +470,7 @@ float w_minelayer(float req)
                if(autocvar_g_balance_minelayer_reload_ammo && self.clip_load < autocvar_g_balance_minelayer_ammo) // forced reload
                {
                        // not if we're holding the minelayer without enough ammo, but can detonate existing mines
-                       if not (W_PlacedMines(FALSE) && self.ammo_rockets < autocvar_g_balance_minelayer_ammo)
+                       if (!(W_PlacedMines(FALSE) && self.ammo_rockets < autocvar_g_balance_minelayer_ammo))
                                weapon_action(self.weapon, WR_RELOAD);
                }
                else if (self.BUTTON_ATCK)