Added a bit of a fun limitation.

* Made it so (player->availabilities & 1 << skinnum) is only true if skins[skinnum] DOES have an availability method, and always false otherwise.
* This means that setting your availabilities to INT32_MAX is no longer the equivalent of having gotten all skins.
* This means we can detect and kick cheat engine script kiddies who try to fool the server that they can use everything.
* This means availabilities of 0x00 is now valid, so make it all F's for an invalid not-in-game.
This commit is contained in:
toasterbabe 2017-03-18 13:03:29 +00:00
parent ced6cd4349
commit 096921cbbf
3 changed files with 14 additions and 4 deletions

View file

@ -2561,7 +2561,7 @@ UINT32 R_GetSkinAvailabilities(void)
for (s = 0; s < MAXSKINS; s++)
{
if (!skins[s].availability || unlockables[skins[s].availability - 1].unlocked)
if (skins[s].availability && unlockables[skins[s].availability - 1].unlocked)
response |= (1 << s);
}
return response;