X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Faccuracy.qc;h=8a7f4c5b061d76d93d29984777bc9f4881df60f3;hb=d787ef77434af4984c331a5fcd1628cfca15cd60;hp=0f077a5fb83e570fed8c41861ce141a544c78c10;hpb=936363b20ad37d0f0e3bba07451219104652f1d5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/accuracy.qc b/qcsrc/server/weapons/accuracy.qc index 0f077a5fb..8a7f4c5b0 100644 --- a/qcsrc/server/weapons/accuracy.qc +++ b/qcsrc/server/weapons/accuracy.qc @@ -1,6 +1,6 @@ float accuracy_byte(float n, float d) { - //print(sprintf("accuracy: %d / %d\n", n, d)); + //printf("accuracy: %d / %d\n", n, d); if(n <= 0) return 0; if(n > d) @@ -20,7 +20,7 @@ float accuracy_send(entity to, float sf) a = a.accuracy; if(to != a.owner) - if not(self.owner.cvar_cl_accuracy_data_share && autocvar_sv_accuracy_data_share) + if (!(self.owner.cvar_cl_accuracy_data_share && autocvar_sv_accuracy_data_share)) sf = 0; // note: zero sendflags can never be sent... so we can use that to say that we send no accuracy! WriteInt24_t(MSG_ENTITY, sf); @@ -104,17 +104,22 @@ void accuracy_add(entity e, float w, float fired, float hit) float accuracy_isgooddamage(entity attacker, entity targ) { - if(!inWarmupStage) - if(IS_CLIENT(targ)) + frag_attacker = attacker; + frag_target = targ; + float mutator_check = MUTATOR_CALLHOOK(AccuracyTargetValid); + + if(!warmup_stage) if(targ.deadflag == DEAD_NO) - if(IsDifferentTeam(attacker, targ)) + if(!targ.frozen) + if(mutator_check == MUT_ACCADD_INVALID || (mutator_check == MUT_ACCADD_VALID && IS_CLIENT(targ))) + if(DIFF_TEAM(attacker, targ)) return TRUE; return FALSE; } float accuracy_canbegooddamage(entity attacker) { - if(!inWarmupStage) + if(!warmup_stage) return TRUE; return FALSE; }