void Transmogrification::LoadConfig(bool reload) { #ifdef PRESETS EnableSetInfo = sConfigMgr->GetBoolDefault("Transmogrification.EnableSetInfo", true); SetNpcText = uint32(sConfigMgr->GetIntDefault("Transmogrification.SetNpcText", 50001)); EnableSets = sConfigMgr->GetBoolDefault("Transmogrification.EnableSets", true); MaxSets = (uint8)sConfigMgr->GetIntDefault("Transmogrification.MaxSets", 10); SetCostModifier = sConfigMgr->GetFloatDefault("Transmogrification.SetCostModifier", 3.0f); SetCopperCost = sConfigMgr->GetIntDefault("Transmogrification.SetCopperCost", 0); if (MaxSets > MAX_OPTIONS) MaxSets = MAX_OPTIONS; if (reload) // dont store presets for nothing { SessionMap const& sessions = sWorld->GetAllSessions(); for (SessionMap::const_iterator it = sessions.begin(); it != sessions.end(); ++it) { if (Player* player = it->second->GetPlayer()) { // skipping session check UnloadPlayerSets(player->GetGUID()); if (GetEnableSets()) LoadPlayerSets(player->GetGUID()); } } } #endif EnableTransmogInfo = sConfigMgr->GetBoolDefault("Transmogrification.EnableTransmogInfo", true); TransmogNpcText = uint32(sConfigMgr->GetIntDefault("Transmogrification.TransmogNpcText", 50000)); std::istringstream issAllowed(sConfigMgr->GetStringDefault("Transmogrification.Allowed", "")); std::istringstream issNotAllowed(sConfigMgr->GetStringDefault("Transmogrification.NotAllowed", "")); while(issAllowed.good()) { uint32 entry; issAllowed >> entry; if(issAllowed.fail()) break; Allowed.insert(entry); } while(issNotAllowed.good()) { uint32 entry; issNotAllowed >> entry; if(issNotAllowed.fail()) break; NotAllowed.insert(entry); } ScaledCostModifier = sConfigMgr->GetFloatDefault("Transmogrification.ScaledCostModifier", 1.0f); CopperCost = sConfigMgr->GetIntDefault("Transmogrification.CopperCost", 0); RequireToken = sConfigMgr->GetBoolDefault("Transmogrification.RequireToken", false); TokenEntry = uint32(sConfigMgr->GetIntDefault("Transmogrification.TokenEntry", 49426)); TokenAmount = uint32(sConfigMgr->GetIntDefault("Transmogrification.TokenAmount", 1)); AllowPoor = sConfigMgr->GetBoolDefault("Transmogrification.AllowPoor", false); AllowCommon = sConfigMgr->GetBoolDefault("Transmogrification.AllowCommon", false); AllowUncommon = sConfigMgr->GetBoolDefault("Transmogrification.AllowUncommon", true); AllowRare = sConfigMgr->GetBoolDefault("Transmogrification.AllowRare", true); AllowEpic = sConfigMgr->GetBoolDefault("Transmogrification.AllowEpic", true); AllowLegendary = sConfigMgr->GetBoolDefault("Transmogrification.AllowLegendary", false); AllowArtifact = sConfigMgr->GetBoolDefault("Transmogrification.AllowArtifact", false); AllowHeirloom = sConfigMgr->GetBoolDefault("Transmogrification.AllowHeirloom", true); AllowMixedArmorTypes = sConfigMgr->GetBoolDefault("Transmogrification.AllowMixedArmorTypes", false); AllowMixedWeaponTypes = sConfigMgr->GetBoolDefault("Transmogrification.AllowMixedWeaponTypes", false); if (!sObjectMgr->GetItemTemplate(TokenEntry)) { sLog->outError(LOG_FILTER_SERVER_LOADING, "Transmogrification.TokenEntry (%u) does not exist. Using default.", TokenEntry); TokenEntry = 49426; } }
void Transmogrification::LoadConfig(bool reload) { TC_LOG_DEBUG("custom.transmog", "Transmogrification::LoadConfig"); #ifdef PRESETS EnableSetInfo = sConfigMgr->GetBoolDefault("Transmogrification.EnableSetInfo", true); SetNpcText = uint32(sConfigMgr->GetIntDefault("Transmogrification.SetNpcText", 50001)); EnableSets = sConfigMgr->GetBoolDefault("Transmogrification.EnableSets", true); MaxSets = (uint8)sConfigMgr->GetIntDefault("Transmogrification.MaxSets", 10); SetCostModifier = sConfigMgr->GetFloatDefault("Transmogrification.SetCostModifier", 3.0f); SetCopperCost = sConfigMgr->GetIntDefault("Transmogrification.SetCopperCost", 0); if (MaxSets > MAX_OPTIONS) MaxSets = MAX_OPTIONS; if (reload) // dont store presets for nothing { // this should be thread safe as long as LoadConfig is triggered on thread safe env SessionMap const& sessions = sWorld->GetAllSessions(); for (SessionMap::const_iterator it = sessions.begin(); it != sessions.end(); ++it) { if (Player* player = it->second->GetPlayer()) { // skipping session check if (EnableSets) LoadPlayerSets(player); } } } #endif EnableTransmogInfo = sConfigMgr->GetBoolDefault("Transmogrification.EnableTransmogInfo", true); TransmogNpcText = uint32(sConfigMgr->GetIntDefault("Transmogrification.TransmogNpcText", 50000)); std::istringstream issAllowed(sConfigMgr->GetStringDefault("Transmogrification.Allowed", "")); std::istringstream issNotAllowed(sConfigMgr->GetStringDefault("Transmogrification.NotAllowed", "")); while (issAllowed.good()) { uint32 entry; issAllowed >> entry; if (issAllowed.fail()) break; Allowed.insert(entry); } while (issNotAllowed.good()) { uint32 entry; issNotAllowed >> entry; if (issNotAllowed.fail()) break; NotAllowed.insert(entry); } ScaledCostModifier = sConfigMgr->GetFloatDefault("Transmogrification.ScaledCostModifier", 1.0f); CopperCost = sConfigMgr->GetIntDefault("Transmogrification.CopperCost", 0); RequireToken = sConfigMgr->GetBoolDefault("Transmogrification.RequireToken", false); TokenEntry = uint32(sConfigMgr->GetIntDefault("Transmogrification.TokenEntry", 49426)); TokenAmount = uint32(sConfigMgr->GetIntDefault("Transmogrification.TokenAmount", 1)); AllowPoor = sConfigMgr->GetBoolDefault("Transmogrification.AllowPoor", false); AllowCommon = sConfigMgr->GetBoolDefault("Transmogrification.AllowCommon", false); AllowUncommon = sConfigMgr->GetBoolDefault("Transmogrification.AllowUncommon", true); AllowRare = sConfigMgr->GetBoolDefault("Transmogrification.AllowRare", true); AllowEpic = sConfigMgr->GetBoolDefault("Transmogrification.AllowEpic", true); AllowLegendary = sConfigMgr->GetBoolDefault("Transmogrification.AllowLegendary", false); AllowArtifact = sConfigMgr->GetBoolDefault("Transmogrification.AllowArtifact", false); AllowHeirloom = sConfigMgr->GetBoolDefault("Transmogrification.AllowHeirloom", true); AllowMixedArmorTypes = sConfigMgr->GetBoolDefault("Transmogrification.AllowMixedArmorTypes", false); AllowMixedWeaponTypes = sConfigMgr->GetBoolDefault("Transmogrification.AllowMixedWeaponTypes", false); AllowFishingPoles = sConfigMgr->GetBoolDefault("Transmogrification.AllowFishingPoles", false); IgnoreReqRace = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqRace", false); IgnoreReqClass = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqClass", false); IgnoreReqSkill = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqSkill", false); IgnoreReqSpell = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqSpell", false); IgnoreReqLevel = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqLevel", false); IgnoreReqEvent = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqEvent", false); IgnoreReqStats = sConfigMgr->GetBoolDefault("Transmogrification.IgnoreReqStats", false); if (!sObjectMgr->GetItemTemplate(TokenEntry)) { TC_LOG_INFO("custom.transmog", "Transmogrification.TokenEntry (%u) does not exist. Using default (%u).", TokenEntry, 49426); TokenEntry = 49426; } }