diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 8552e51ae..21008cbcf 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -4002,7 +4002,7 @@ static void Command_Archivetest_f(void) */ static void ForceSkin_OnChange(void) { - if ((server || adminplayer == consoleplayer) && (cv_forceskin.value < -1 || cv_forceskin.value >= numskins || !R_SkinUnlock(cv_forceskin.value))) + if ((server || adminplayer == consoleplayer) && (cv_forceskin.value < -1 || cv_forceskin.value >= numskins || !(dedicated || R_SkinUnlock(cv_forceskin.value)))) // Dedicated servers have everything when it comes to forceskin because they have no gamedata. { if (cv_forceskin.value == -2) CV_SetValue(&cv_forceskin, numskins-1); diff --git a/src/r_things.c b/src/r_things.c index ba76dc5ce..4198ce99b 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -2434,6 +2434,8 @@ void SetPlayerSkinByNum(INT32 playernum, INT32 skinnum) P_SetScale(player->mo, player->mo->scale); return; } + else if !R_SkinUnlock(skinnum) // Sneaky sneaky. + skinnum = -1; if (P_IsLocalPlayer(player)) CONS_Alert(CONS_WARNING, M_GetText("Skin %d not found\n"), skinnum);