]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/damagetext/sv_damagetext.qc
take3: format 903 files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / damagetext / sv_damagetext.qc
index 4a18cc930879ad34e28ef7551c7af1e381bf8d46..62e44bdc7bd6295d2762292714683d291523a638 100644 (file)
@@ -4,54 +4,51 @@ AUTOCVAR(sv_damagetext, int, 2, "<= 0: disabled, >= 1: visible to spectators, >=
 
 REGISTER_MUTATOR(damagetext, true);
 
-#define SV_DAMAGETEXT_DISABLED()        (autocvar_sv_damagetext <= 0 || autocvar_g_instagib)
+#define SV_DAMAGETEXT_DISABLED() (autocvar_sv_damagetext <= 0 || autocvar_g_instagib)
 #define SV_DAMAGETEXT_SPECTATORS_ONLY() (autocvar_sv_damagetext >= 1)
-#define SV_DAMAGETEXT_PLAYERS()         (autocvar_sv_damagetext >= 2)
-#define SV_DAMAGETEXT_ALL()             (autocvar_sv_damagetext >= 3)
-MUTATOR_HOOKFUNCTION(damagetext, PlayerDamaged) {
-    if (SV_DAMAGETEXT_DISABLED()) return;
-    const entity attacker = M_ARGV(0, entity);
-    const entity hit = M_ARGV(1, entity); if (hit == attacker) return;
-    const float health = M_ARGV(2, float);
-    const float armor = M_ARGV(3, float);
-    const int deathtype = M_ARGV(5, int);
-    const float potential_damage = M_ARGV(6, float);
-    FOREACH_CLIENT(IS_REAL_CLIENT(it), {
-        if (
-            (SV_DAMAGETEXT_ALL()) ||
-            (SV_DAMAGETEXT_PLAYERS() && it == attacker) ||
-            (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_SPEC(it) && it.enemy == attacker) ||
-            (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_OBSERVER(it))
-        ) {
-            int flags = 0;
-            if (SAME_TEAM(hit, attacker)) flags |= DTFLAG_SAMETEAM;
-            if (health >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_HEALTH;
-            if (armor >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_ARMOR;
-            if (potential_damage >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_POTENTIAL;
-            if (!armor) flags |= DTFLAG_NO_ARMOR;
-            if (almost_equals_eps(armor + health, potential_damage, 5)) flags |= DTFLAG_NO_POTENTIAL;
+#define SV_DAMAGETEXT_PLAYERS() (autocvar_sv_damagetext >= 2)
+#define SV_DAMAGETEXT_ALL() (autocvar_sv_damagetext >= 3)
+MUTATOR_HOOKFUNCTION(damagetext, PlayerDamaged)
+{
+       if (SV_DAMAGETEXT_DISABLED()) { return; }
+       const entity attacker = M_ARGV(0, entity);
+       const entity hit = M_ARGV(1, entity);
+       if (hit == attacker) { return; }
+       const float health = M_ARGV(2, float);
+       const float armor = M_ARGV(3, float);
+       const int deathtype = M_ARGV(5, int);
+       const float potential_damage = M_ARGV(6, float);
+       FOREACH_CLIENT(IS_REAL_CLIENT(it), {
+               if (
+                       (SV_DAMAGETEXT_ALL())
+                       || (SV_DAMAGETEXT_PLAYERS() && it == attacker)
+                       || (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_SPEC(it) && it.enemy == attacker)
+                       || (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_OBSERVER(it))
+               ) {
+                       int flags = 0;
+                       if (SAME_TEAM(hit, attacker)) { flags |= DTFLAG_SAMETEAM; }
+                       if (health >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_HEALTH; }
+                       if (armor >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_ARMOR; }
+                       if (potential_damage >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_POTENTIAL; }
+                       if (!armor) { flags |= DTFLAG_NO_ARMOR; }
+                       if (almost_equals_eps(armor + health, potential_damage, 5)) { flags |= DTFLAG_NO_POTENTIAL; }
 
-            msg_entity = it;
-            WriteHeader(MSG_ONE, damagetext);
-            WriteByte(MSG_ONE, etof(hit));
-            WriteInt24_t(MSG_ONE, deathtype);
-            WriteByte(MSG_ONE, flags);
+                       msg_entity = it;
+                       WriteHeader(MSG_ONE, damagetext);
+                       WriteByte(MSG_ONE, etof(hit));
+                       WriteInt24_t(MSG_ONE, deathtype);
+                       WriteByte(MSG_ONE, flags);
 
-            // we need to send a few decimal places to minimize errors when accumulating damage
-            // sending them multiplied saves bandwidth compared to using WriteCoord,
-            // however if the multiplied damage would be too much for (signed) short, we send an int24
-            if (flags & DTFLAG_BIG_HEALTH) WriteInt24_t(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER);
-            else WriteShort(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER);
-            if (!(flags & DTFLAG_NO_ARMOR))
-            {
-                if (flags & DTFLAG_BIG_ARMOR) WriteInt24_t(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER);
-                else WriteShort(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER);
-            }
-            if (!(flags & DTFLAG_NO_POTENTIAL))
-            {
-                if (flags & DTFLAG_BIG_POTENTIAL) WriteInt24_t(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER);
-                else WriteShort(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER);
+                   // we need to send a few decimal places to minimize errors when accumulating damage
+                   // sending them multiplied saves bandwidth compared to using WriteCoord,
+                   // however if the multiplied damage would be too much for (signed) short, we send an int24
+                       if (flags & DTFLAG_BIG_HEALTH) { WriteInt24_t(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER); }
+                       if (!(flags & DTFLAG_NO_ARMOR)) {
+                               if (flags & DTFLAG_BIG_ARMOR) { WriteInt24_t(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER); }
                        }
-        }
-    });
+                       if (!(flags & DTFLAG_NO_POTENTIAL)) {
+                               if (flags & DTFLAG_BIG_POTENTIAL) { WriteInt24_t(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER); }
+                       }
+               }
+       });
 }