]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/csqcmodel_hooks.qc
Fix cl_forceplayercolors 3; also improve cl_forceplayercolors description
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / csqcmodel_hooks.qc
index f53ea725c7d537403a7d785b7e21caf66cc82599..0b38b108bdc5e8c63a57c1fb86ac300f0f80e584 100644 (file)
@@ -244,8 +244,7 @@ void CSQCPlayer_ModelAppearance_Apply(entity this, bool islocalplayer)
 
                if(autocvar_cl_forcemyplayercolors)
                        forcecolor_friend = 1024 + autocvar_cl_forcemyplayercolors;
-               if((autocvar_cl_forceplayercolors == 2 && team_count == 2)
-                       || (autocvar_cl_forceplayercolors == 3 && IS_GAMETYPE(DUEL)))
+               if(autocvar_cl_forceplayercolors != 3 && autocvar_cl_forceplayercolors == 2 && team_count == 2)
                        forcecolor_enemy = 1024 + autocvar__cl_color;
 
                if(forcecolor_enemy && !forcecolor_friend)
@@ -284,7 +283,7 @@ void CSQCPlayer_ModelAppearance_Apply(entity this, bool islocalplayer)
        {
                if(autocvar_cl_forcemyplayercolors && islocalplayer)
                        this.colormap = 1024 + autocvar_cl_forcemyplayercolors;
-               else if(autocvar_cl_forceplayercolors)
+               else if(autocvar_cl_forceplayercolors && (autocvar_cl_forceplayercolors != 3 || ISGAMETYPE(DUEL)))
                        this.colormap = player_localnum + 1;
        }
 
@@ -738,6 +737,7 @@ void CSQCModel_Hook_PostUpdate(entity this, bool isnew, bool isplayer, bool islo
        bool is_playermodel = (substring(this.model, 0, 14) == "models/player/" || substring(this.model, 0, 17) == "models/ok_player/" || 
                                                        (substring(this.model, 0, 16) == "models/monsters/" && (this.isplayermodel & BIT(1))));
        this.isplayermodel = BITSET(this.isplayermodel, ISPLAYER_MODEL, is_playermodel);
+       this.csqcmodel_isdead = false; // workaround for dead players who become a spectator
 
        // save values set by server
        if((this.isplayermodel & ISPLAYER_MODEL))