[Archive] Server Core Unlocks
[Archive] Server Core Unlocks
Hotfix Size — Having trouble sending your entire ItemSparse to clients as a hotfix?
Spoiler
WorldSocket.h - line 60 sets the size limit. Append 0s to increase.
60. bool IsValidSize() { return Size < 0x10000; }
Race/Class Combination — Trying to change your character's class in the SQL table to one not normally available, but don't want to bother hotfixing CharBaseInfo?
Spoiler
Player.cpp - line 416 will refuse to create the character. Comment it out with //.
414. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking attempt: Account %u tried to create a character named '%s' with an invalid race/class pair (%u/%u) - refusing to do so.",
415. GetSession()->GetAccountId(), m_name.c_str(), createInfo->Race, createInfo->Class);
416. return false;
Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.
17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;
Player.cpp - line 19847 will refuse to let the character into the world. Comment it out with //.
19845. TC_LOG_ERROR("entities.player", "Player::_LoadHomeBind: Player '%s' (%s) has incorrect race/class (%u/%u) pair. Can't load.",
19846. GetGUID().ToString().c_str(), GetName().c_str(), uint32(getRace()), uint32(getClass()));
19847. return false;
Character Appearance — Trying to enable NPC skins for players?
Spoiler
Player.cpp - line 436 will refuse to create the character. Comment it out with //.
434. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking-attempt: Account %u tried creating a character named '%s' with invalid appearance attributes - refusing to do so.",
435. GetSession()->GetAccountId(), m_name.c_str());
436. return false;
Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.
317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;
Fatigue — Swim to your heart's content.
Spoiler
Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.
17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;
Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.
317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;
Equipment Restrictions — Because nobody wants to hotfix the entire ItemSparse table
Spoiler
Player.cpp - Player::CanUseItem (line 11626) is responsible for denying equipment. Comment if-statements out with // as needed.
if (!proto)
return EQUIP_ERR_ITEM_NOT_FOUND;
if (proto->GetFlags2() & ITEM_FLAG2_INTERNAL_ITEM)
return EQUIP_ERR_CANT_EQUIP_EVER;
if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_HORDE) && GetTeam() != HORDE)
return EQUIP_ERR_CANT_EQUIP_EVER;
if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_ALLIANCE) && GetTeam() != ALLIANCE)
return EQUIP_ERR_CANT_EQUIP_EVER;
if ((proto->GetAllowableClass() & getClassMask()) == 0 || (proto->GetAllowableRace() & getRaceMask()) == 0)
return EQUIP_ERR_CANT_EQUIP_EVER;
...
Chat Message Limit — tldr;
Spoiler
Chat.cpp - line 470 sets the character limit. Increase or comment out the if-statement.
470. if (strlen(message) > 255)
471. return false;