mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-05 20:13:48 +00:00
fix(Core/Players): Players should nt able to rest in unfriendly taver… (#13493)
* fix(Core/Players): Players should nt able to rest in unfriendly taverns. Original author: @Rushor Fixes #13459 * Update.
This commit is contained in:
@@ -6320,7 +6320,7 @@ void ObjectMgr::LoadTavernAreaTriggers()
|
||||
|
||||
_tavernAreaTriggerStore.clear(); // need for reload case
|
||||
|
||||
QueryResult result = WorldDatabase.Query("SELECT id FROM areatrigger_tavern");
|
||||
QueryResult result = WorldDatabase.Query("SELECT id, faction FROM areatrigger_tavern");
|
||||
|
||||
if (!result)
|
||||
{
|
||||
@@ -6346,7 +6346,9 @@ void ObjectMgr::LoadTavernAreaTriggers()
|
||||
continue;
|
||||
}
|
||||
|
||||
_tavernAreaTriggerStore.insert(Trigger_ID);
|
||||
uint32 faction = fields[1].Get<uint32>();
|
||||
|
||||
_tavernAreaTriggerStore.emplace(Trigger_ID, faction);
|
||||
} while (result->NextRow());
|
||||
|
||||
LOG_INFO("server.loading", ">> Loaded {} Tavern Triggers in {} ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
|
||||
@@ -840,9 +840,15 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
[[nodiscard]] bool IsTavernAreaTrigger(uint32 Trigger_ID) const
|
||||
[[nodiscard]] bool IsTavernAreaTrigger(uint32 triggerID, uint32 faction) const
|
||||
{
|
||||
return _tavernAreaTriggerStore.find(Trigger_ID) != _tavernAreaTriggerStore.end();
|
||||
auto itr = _tavernAreaTriggerStore.find(triggerID);
|
||||
if (itr != _tavernAreaTriggerStore.end())
|
||||
{
|
||||
return (itr->second & faction) != 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
[[nodiscard]] GossipText const* GetGossipText(uint32 Text_ID) const;
|
||||
@@ -1448,7 +1454,7 @@ private:
|
||||
|
||||
typedef std::unordered_map<uint32, GossipText> GossipTextContainer;
|
||||
typedef std::unordered_map<uint32, uint32> QuestAreaTriggerContainer;
|
||||
typedef std::set<uint32> TavernAreaTriggerContainer;
|
||||
typedef std::unordered_map<uint32, uint32> TavernAreaTriggerContainer;
|
||||
|
||||
QuestAreaTriggerContainer _questAreaTriggerStore;
|
||||
TavernAreaTriggerContainer _tavernAreaTriggerStore;
|
||||
|
||||
Reference in New Issue
Block a user