feat(Core/Game): Add option to disable trading BoP items among raid members (#4895)

This commit is contained in:
UltraNix
2021-03-24 22:19:58 +01:00
committed by GitHub
parent 47fad16967
commit 0e8cb3e4b2
4 changed files with 12 additions and 1 deletions

View File

@@ -12704,7 +12704,7 @@ Item* Player::StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM, item, count);
pItem = StoreItem(dest, pItem, update);
if (allowedLooters.size() > 1 && pItem->GetTemplate()->GetMaxStackSize() == 1 && pItem->IsSoulBound())
if (allowedLooters.size() > 1 && pItem->GetTemplate()->GetMaxStackSize() == 1 && pItem->IsSoulBound() && sWorld->getBoolConfig(CONFIG_SET_BOP_ITEM_TRADEABLE))
{
pItem->SetSoulboundTradeable(allowedLooters);
pItem->SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, GetTotalPlayedTime());

View File

@@ -165,6 +165,7 @@ enum WorldBoolConfigs
CONFIG_DEBUG_ARENA,
CONFIG_REGEN_HP_CANNOT_REACH_TARGET_IN_RAID,
CONFIG_SET_SHAPASSHASH,
CONFIG_SET_BOP_ITEM_TRADEABLE,
BOOL_CONFIG_VALUE_COUNT
};

View File

@@ -1415,6 +1415,8 @@ void World::LoadConfigSettings(bool reload)
m_bool_configs[CONFIG_SET_SHAPASSHASH] = sConfigMgr->GetBoolDefault("SetDeprecatedExternalPasswords", false);
m_bool_configs[CONFIG_SET_BOP_ITEM_TRADEABLE] = sConfigMgr->GetOption<bool>("Item.SetItemTradeable", true);
// call ScriptMgr if we're reloading the configuration
sScriptMgr->OnAfterConfigLoad(reload);
}