X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Faccuracy.qc;h=9efc4ce6a0700f31511eb9dfb2c9a5ae56e92cb9;hp=019bcda4958ac006b1766f2fd9a0a1eab5dec7f3;hb=0a980f57412cf2253cfd73c8c01a26fb04c87189;hpb=cd141fba8a7c59fef4b0e98eee651943b18cd99d diff --git a/qcsrc/server/weapons/accuracy.qc b/qcsrc/server/weapons/accuracy.qc index 019bcda49..9efc4ce6a 100644 --- a/qcsrc/server/weapons/accuracy.qc +++ b/qcsrc/server/weapons/accuracy.qc @@ -1,10 +1,10 @@ #include "accuracy.qh" #include "../mutators/all.qh" -#include "../../common/constants.qh" -#include "../../common/teams.qh" -#include "../../common/util.qh" -#include "../../common/weapons/all.qh" +#include +#include +#include +#include int accuracy_byte(float n, float d) { @@ -15,7 +15,7 @@ int accuracy_byte(float n, float d) bool accuracy_send(entity this, entity to, int sf) { - WriteByte(MSG_ENTITY, ENT_CLIENT_ACCURACY); + WriteHeader(MSG_ENTITY, ENT_CLIENT_ACCURACY); entity a = this.owner; if (IS_SPEC(a)) a = a.enemy; @@ -39,8 +39,7 @@ bool accuracy_send(entity this, entity to, int sf) // init/free void accuracy_init(entity e) { - entity a = e.accuracy = new(accuracy); - make_pure(a); + entity a = e.accuracy = new_pure(accuracy); a.owner = e; a.drawonlytoclient = e; Net_LinkEntity(a, false, 0, accuracy_send); @@ -48,7 +47,7 @@ void accuracy_init(entity e) void accuracy_free(entity e) { - remove(e.accuracy); + delete(e.accuracy); } // force a resend of a player's accuracy stats @@ -58,7 +57,7 @@ void accuracy_resend(entity e) } // update accuracy stats -.float hit_time; +//.float hit_time; .float fired_time; void accuracy_add(entity this, int w, int fired, int hit) @@ -85,9 +84,7 @@ void accuracy_add(entity this, int w, int fired, int hit) if (b == accuracy_byte(a.accuracy_hit[w], a.accuracy_fired[w])) return; // no change int sf = 1 << (w % 24); a.SendFlags |= sf; - entity e; FOR_EACH_CLIENT(e) if (IS_SPEC(e)) if (e.enemy == this) { - e.accuracy.SendFlags |= sf; - } + FOREACH_CLIENT(IS_SPEC(it) && it.enemy == this, LAMBDA(it.accuracy.SendFlags |= sf)); } bool accuracy_isgooddamage(entity attacker, entity targ) @@ -95,8 +92,8 @@ bool accuracy_isgooddamage(entity attacker, entity targ) int mutator_check = MUTATOR_CALLHOOK(AccuracyTargetValid, attacker, targ); if (warmup_stage) return false; - if (targ.deadflag != DEAD_NO) return false; - if (targ.frozen) return false; + if (IS_DEAD(targ)) return false; + if (STAT(FROZEN, targ)) return false; if (SAME_TEAM(attacker, targ)) return false; if (mutator_check == MUT_ACCADD_INVALID) return true;