]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_player.qc
Merge branch 'master' into Mario/minigames_merge
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_player.qc
index 3f10caa8d769152866575ce6eb9824de0327ebf8..46d1b2cbd0ba08c81b08d4ce4a606fc8309d01d6 100644 (file)
@@ -5,7 +5,6 @@
 #include "cheats.qh"
 #include "g_damage.qh"
 #include "g_subs.qh"
-#include "g_triggers.qh"
 #include "g_violence.qh"
 #include "miscfunctions.qh"
 #include "portals.qh"
@@ -16,6 +15,7 @@
 #include "../common/animdecide.qh"
 #include "../common/csqcmodel_settings.qh"
 #include "../common/deathtypes.qh"
+#include "../common/triggers/subs.qh"
 #include "../common/playerstats.qh"
 #include "../csqcmodellib/sv_model.qh"
 
@@ -23,6 +23,8 @@
 
 #include "weapons/weaponstats.qh"
 
+#include "../common/animdecide.qh"
+
 void CopyBody_Think(void)
 {
        if(self.CopyBody_nextthink && time > self.CopyBody_nextthink)
@@ -322,7 +324,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp
                        damage /= sqrt(bound(1.0, attacker.cvar_cl_handicap, 100.0));
        }
 
-       if(DEATH_ISWEAPON(deathtype, WEP_TUBA))
+       if(DEATH_ISWEAPON(deathtype, WEP_TUBA.m_id))
        {
                // tuba causes blood to come out of the ears
                vector ear1, ear2;
@@ -385,14 +387,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp
                self.istypefrag = 0;
        }
 
-       frag_inflictor = inflictor;
-       frag_attacker = attacker;
-       frag_target = self;
        frag_damage = damage;
-       damage_take = take;
-       damage_save = save;
-       damage_force = force;
-       MUTATOR_CALLHOOK(PlayerDamage_SplitHealthArmor);
+       MUTATOR_CALLHOOK(PlayerDamage_SplitHealthArmor, inflictor, attacker, self, force, take, save);
        take = bound(0, damage_take, self.health);
        save = bound(0, damage_save, self.armorvalue);
        excess = max(0, damage - take - save);
@@ -498,6 +494,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp
                dh = dh - max(self.health, 0);
                da = da - max(self.armorvalue, 0);
                WeaponStats_LogDamage(awep, abot, self.weapon, vbot, dh + da);
+               MUTATOR_CALLHOOK(PlayerDamaged, attacker, self, dh, da, hitloc);
        }
 
        if (self.health < 1)
@@ -535,7 +532,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp
                        if(deathtype == DEATH_KILL)
                        {
                                // for the lemmings fans, a small harmless explosion
-                               pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
+                               Send_Effect("rocket_explode", self.origin, '0 0 0', 1);
                        }
                }
 
@@ -549,11 +546,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp
        if(accuracy_isgooddamage(attacker, self))
         attacker.accuracy.(accuracy_frags[w-1]) += 1;
 
-               frag_attacker = attacker;
-               frag_inflictor = inflictor;
-               frag_target = self;
-               frag_deathtype = deathtype;
-               MUTATOR_CALLHOOK(PlayerDies);
+               MUTATOR_CALLHOOK(PlayerDies, inflictor, attacker, self, deathtype);
 
                WEP_ACTION(self.weapon, WR_PLAYERDEATH);