]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/accuracy.qc
Remove freeze code, monsters no longer use freeze attacks
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / accuracy.qc
index f7a01d572293ca6c48cf7f500e253567fbfb5e87..b78cc4fcda0cdf02ef7f5ad9c03161f4e9464795 100644 (file)
@@ -20,12 +20,12 @@ float accuracy_send(entity to, float sf)
        WriteByte(MSG_ENTITY, ENT_CLIENT_ACCURACY);
 
        a = self.owner;
-       if(a.classname == "spectator")
+       if(IS_SPEC(a))
                a = a.enemy;
        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);
@@ -102,25 +102,26 @@ void accuracy_add(entity e, float w, float fired, float hit)
        w = pow(2, mod(w, 24));
        a.SendFlags |= w;
        FOR_EACH_CLIENT(a)
-               if(a.classname == "spectator")
+               if(IS_SPEC(a))
                        if(a.enemy == e)
                                a.SendFlags |= w;
 }
 
 float accuracy_isgooddamage(entity attacker, entity targ)
 {
-       if(!inWarmupStage)
-       if(targ.flags & FL_CLIENT)
-       if(!(attacker.flags & FL_MONSTER)) // no accuracy for monsters
+       float targ_isvalid = ((g_invasion) ? (targ.flags & FL_MONSTER) : IS_CLIENT(targ));
+
+       if(!warmup_stage)
+       if(targ_isvalid)
        if(targ.deadflag == DEAD_NO)
-       if(IsDifferentTeam(attacker, targ))
+       if(DIFF_TEAM(attacker, targ))
                return TRUE;
        return FALSE;
 }
 
 float accuracy_canbegooddamage(entity attacker)
 {
-       if(!inWarmupStage)
+       if(!warmup_stage)
                return TRUE;
        return FALSE;
 }