diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 3a55a5ae777..e4e06525335 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -4303,9 +4303,9 @@ void ObjectMgr::LoadQuests() "RewardFactionID5, RewardFactionValue5, RewardFactionOverride5, RewardFactionCapIn5, RewardFactionFlags, " //93 94 95 96 97 98 99 100 "RewardCurrencyID1, RewardCurrencyQty1, RewardCurrencyID2, RewardCurrencyQty2, RewardCurrencyID3, RewardCurrencyQty3, RewardCurrencyID4, RewardCurrencyQty4, " - //101 102 103 104 105 106 107 108 109 - "AcceptedSoundKitID, CompleteSoundKitID, AreaGroupID, TimeAllowed, AllowableRaces, TreasurePickerID, Expansion, ManagedWorldStateID, QuestSessionBonus, " - //110 111 112 113 114 115 116 117 118 + //101 102 103 104 105 106 107 108 + "AcceptedSoundKitID, CompleteSoundKitID, AreaGroupID, TimeAllowed, AllowableRaces, Expansion, ManagedWorldStateID, QuestSessionBonus, " + //109 110 111 112 113 114 115 116 117 "LogTitle, LogDescription, QuestDescription, AreaDescription, PortraitGiverText, PortraitGiverName, PortraitTurnInText, PortraitTurnInName, QuestCompletionLog " "FROM quest_template"); if (!result) @@ -4384,7 +4384,10 @@ void ObjectMgr::LoadQuests() { "QuestId, PlayerConditionId, QuestgiverCreatureId, Text, locale", "quest_offer_reward_conditional", "ORDER BY OrderIndex", "conditional reward", &Quest::LoadConditionalConditionalOfferRewardText }, // 0 1 2 3 4 - { "QuestId, PlayerConditionId, QuestgiverCreatureId, Text, locale", "quest_completion_log_conditional", "ORDER BY OrderIndex", "conditional completion log", &Quest::LoadConditionalConditionalQuestCompletionLog } + { "QuestId, PlayerConditionId, QuestgiverCreatureId, Text, locale", "quest_completion_log_conditional", "ORDER BY OrderIndex", "conditional completion log", &Quest::LoadConditionalConditionalQuestCompletionLog }, + + // 0 1 + { "QuestID, TreasurePickerID", "quest_treasure_pickers", "ORDER BY OrderIndex", "treasure pickers", &Quest::LoadTreasurePickers } }; for (QuestLoaderHelper const& loader : QuestLoaderHelpers) @@ -9518,8 +9521,8 @@ void ObjectMgr::LoadGossipMenuAddon() _gossipMenuAddonStore.clear(); - // 0 1 - QueryResult result = WorldDatabase.Query("SELECT MenuID, FriendshipFactionID FROM gossip_menu_addon"); + // 0 1 2 + QueryResult result = WorldDatabase.Query("SELECT MenuID, FriendshipFactionID, LfgDungeonsID FROM gossip_menu_addon"); if (!result) { @@ -9534,20 +9537,30 @@ void ObjectMgr::LoadGossipMenuAddon() uint32 menuID = fields[0].GetUInt32(); GossipMenuAddon& addon = _gossipMenuAddonStore[menuID]; addon.FriendshipFactionID = fields[1].GetInt32(); + addon.LfgDungeonsID = fields[2].GetInt32(); - if (FactionEntry const* faction = sFactionStore.LookupEntry(addon.FriendshipFactionID)) + if (addon.FriendshipFactionID) { - if (!sFriendshipReputationStore.LookupEntry(faction->FriendshipRepID)) + if (FactionEntry const* faction = sFactionStore.LookupEntry(addon.FriendshipFactionID)) + { + if (!sFriendshipReputationStore.LookupEntry(faction->FriendshipRepID)) + { + TC_LOG_ERROR("sql.sql", "Table gossip_menu_addon: ID {} is using FriendshipFactionID {} referencing non-existing FriendshipRepID {}", + menuID, addon.FriendshipFactionID, faction->FriendshipRepID); + addon.FriendshipFactionID = 0; + } + } + else { - TC_LOG_ERROR("sql.sql", "Table gossip_menu_addon: ID {} is using FriendshipFactionID {} referencing non-existing FriendshipRepID {}", - menuID, addon.FriendshipFactionID, faction->FriendshipRepID); + TC_LOG_ERROR("sql.sql", "Table gossip_menu_addon: ID {} is using non-existing FriendshipFactionID {}", menuID, addon.FriendshipFactionID); addon.FriendshipFactionID = 0; } } - else + + if (addon.LfgDungeonsID && sLFGDungeonsStore.LookupEntry(addon.LfgDungeonsID)) { - TC_LOG_ERROR("sql.sql", "Table gossip_menu_addon: ID {} is using non-existing FriendshipFactionID {}", menuID, addon.FriendshipFactionID); - addon.FriendshipFactionID = 0; + TC_LOG_ERROR("sql.sql", "Table gossip_menu_addon: ID {} is using non-existing LfgDungeonsID {}", menuID, addon.LfgDungeonsID); + addon.LfgDungeonsID = 0; } } while (result->NextRow()); |