]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/accuracy.qc
Merge remote-tracking branch 'origin/Mario/teamswitch_fix'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / accuracy.qc
index 9d54fad4a05c69b60e73fa5d24113336ebd6bb46..ca837e7d3816292a69e0c9e42304429130253f37 100644 (file)
@@ -5,7 +5,7 @@
 
 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)
@@ -109,12 +109,13 @@ void accuracy_add(entity e, float w, float fired, float hit)
 
 float accuracy_isgooddamage(entity attacker, entity targ)
 {
-       float targ_isvalid = ((g_invasion) ? targ.flags & FL_MONSTER : IS_CLIENT(targ));
+       frag_attacker = attacker;
+       frag_target = targ;
+       float mutator_check = MUTATOR_CALLHOOK(AccuracyTargetValid);
 
        if(!warmup_stage)
-       if(targ_isvalid)
-       if(!targ.frozen)
        if(targ.deadflag == DEAD_NO)
+       if(mutator_check == MUT_ACCADD_INVALID || (mutator_check == MUT_ACCADD_VALID && IS_CLIENT(targ)))
        if(DIFF_TEAM(attacker, targ))
                return TRUE;
        return FALSE;