mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 20:56:23 +00:00
fix(Core/Spells): Forward core changes (#8841)
This commit is contained in:
@@ -640,6 +640,11 @@ ConditionMgr::~ConditionMgr()
|
||||
Clean();
|
||||
}
|
||||
|
||||
bool ConditionMgr::IsSpellUsedInSpellClickConditions(uint32 spellId) const
|
||||
{
|
||||
return SpellsUsedInSpellClickConditions.find(spellId) != SpellsUsedInSpellClickConditions.end();
|
||||
}
|
||||
|
||||
ConditionMgr* ConditionMgr::instance()
|
||||
{
|
||||
static ConditionMgr instance;
|
||||
@@ -694,7 +699,7 @@ uint32 ConditionMgr::GetSearcherTypeMaskForConditionList(ConditionList const& co
|
||||
return mask;
|
||||
}
|
||||
|
||||
bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionList const& conditions)
|
||||
bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionList const& conditions) const
|
||||
{
|
||||
// groupId, groupCheckPassed
|
||||
std::map<uint32, bool> ElseGroupStore;
|
||||
@@ -738,19 +743,19 @@ bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object, ConditionList const& conditions)
|
||||
bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object, ConditionList const& conditions) const
|
||||
{
|
||||
ConditionSourceInfo srcInfo = ConditionSourceInfo(object);
|
||||
return IsObjectMeetToConditions(srcInfo, conditions);
|
||||
}
|
||||
|
||||
bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionList const& conditions)
|
||||
bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionList const& conditions) const
|
||||
{
|
||||
ConditionSourceInfo srcInfo = ConditionSourceInfo(object1, object2);
|
||||
return IsObjectMeetToConditions(srcInfo, conditions);
|
||||
}
|
||||
|
||||
bool ConditionMgr::IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionList const& conditions)
|
||||
bool ConditionMgr::IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionList const& conditions) const
|
||||
{
|
||||
if (conditions.empty())
|
||||
return true;
|
||||
@@ -1055,6 +1060,10 @@ void ConditionMgr::LoadConditions(bool isReload)
|
||||
case CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT:
|
||||
{
|
||||
SpellClickEventConditionStore[cond->SourceGroup][cond->SourceEntry].push_back(cond);
|
||||
if (cond->ConditionType == CONDITION_AURA)
|
||||
{
|
||||
SpellsUsedInSpellClickConditions.insert(cond->ConditionValue1);
|
||||
}
|
||||
valid = true;
|
||||
++count;
|
||||
continue; // do not add to m_AllocatedMemory to avoid double deleting
|
||||
@@ -1123,6 +1132,10 @@ void ConditionMgr::LoadConditions(bool isReload)
|
||||
}
|
||||
|
||||
// add new Condition to storage based on Type/Entry
|
||||
if (cond->SourceType == CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT && cond->ConditionType == CONDITION_AURA)
|
||||
{
|
||||
SpellsUsedInSpellClickConditions.insert(cond->ConditionValue1);
|
||||
}
|
||||
ConditionStore[cond->SourceType][cond->SourceEntry].push_back(cond);
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
@@ -2314,7 +2327,7 @@ void ConditionMgr::Clean()
|
||||
itr->second.clear();
|
||||
}
|
||||
|
||||
SpellClickEventConditionStore.clear();
|
||||
SpellsUsedInSpellClickConditions.clear();
|
||||
|
||||
for (NpcVendorConditionContainer::iterator itr = NpcVendorConditionContainerStore.begin(); itr != NpcVendorConditionContainerStore.end(); ++itr)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user