X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_client.qc;h=c157530fa7d39b9cbbb1e7597ce03aba5db0aa58;hb=35528e99ccad9a20fbd6eed640a5bc1bda884acd;hp=e859f6f328044a7db81a1dd4866dffb023f4318f;hpb=e4fdca5e33811690b935475b5a758872c4eb7659;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index e859f6f32..c157530fa 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -371,6 +371,19 @@ void FixPlayermodel(entity player) defaultmodel = substring(defaultmodel, 0, i); } } + if(autocvar_sv_defaultcharacterskin && !defaultskin) + { + if(teamplay) + { + string s = Static_Team_ColorName_Lower(player.team); + if (s != "neutral") + defaultskin = cvar(strcat("sv_defaultplayerskin_", s)); + } + + if(!defaultskin) + defaultskin = autocvar_sv_defaultplayerskin; + } + MUTATOR_CALLHOOK(FixPlayermodel, defaultmodel, defaultskin); defaultmodel = ret_string; defaultskin = ret_int; @@ -401,8 +414,16 @@ void FixPlayermodel(entity player) chmdl = true; } - oldskin = player.skin; - player.skin = stof(player.playerskin); + if(!autocvar_sv_defaultcharacterskin) + { + oldskin = player.skin; + player.skin = stof(player.playerskin); + } + else + { + oldskin = player.skin; + player.skin = defaultskin; + } } if(chmdl || oldskin != player.skin) // model or skin has changed @@ -569,7 +590,8 @@ void PutClientInServer() this.oldorigin = this.origin; this.prevorigin = this.origin; this.lastteleporttime = time; // prevent insane speeds due to changing origin - this.hud = HUD_NORMAL; + this.conveyor = NULL; // prevent conveyors at the previous location from moving a freshly spawned player + this.hud = HUD_NORMAL; this.event_damage = PlayerDamage;