aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-11-20 13:02:56 +0100
committerfunjoker <funjoker109@gmail.com>2023-12-01 23:28:35 +0100
commitb6e346eaf0ee9a1c0dc2c7977ac950b77c857ecf (patch)
tree48a23b1072de5c33b0e6e11ae6b21d912805797b /src/server/game/Globals/ObjectMgr.cpp
parent21b75530a6113f11d0e979669f5fc654f602966d (diff)
Core/Scripts: Add start/fail asset values from criteria to valid game event ids
Closes #29447 (cherry picked from commit 8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4)
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 02138c16d64..09694f457eb 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -5857,26 +5857,18 @@ void ObjectMgr::LoadEventSet()
}
// Load all possible event ids from spells
- for (SpellNameEntry const* spellNameEntry : sSpellNameStore)
- if (SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellNameEntry->ID, DIFFICULTY_NONE))
- for (SpellEffectInfo const& spellEffectInfo : spell->GetEffects())
- if (spellEffectInfo.IsEffect(SPELL_EFFECT_SEND_EVENT))
- if (spellEffectInfo.MiscValue)
- _eventStore.insert(spellEffectInfo.MiscValue);
+ for (SpellEffectEntry const* spellEffect : sSpellEffectStore)
+ if (spellEffect->Effect == SPELL_EFFECT_SEND_EVENT && spellEffect->EffectMiscValue[0])
+ _eventStore.insert(spellEffect->EffectMiscValue[0]);
// Load all possible event ids from taxi path nodes
- for (size_t path_idx = 0; path_idx < sTaxiPathNodesByPath.size(); ++path_idx)
+ for (TaxiPathNodeEntry const* node : sTaxiPathNodeStore)
{
- for (size_t node_idx = 0; node_idx < sTaxiPathNodesByPath[path_idx].size(); ++node_idx)
- {
- TaxiPathNodeEntry const* node = sTaxiPathNodesByPath[path_idx][node_idx];
-
- if (node->ArrivalEventID)
- _eventStore.insert(node->ArrivalEventID);
+ if (node->ArrivalEventID)
+ _eventStore.insert(node->ArrivalEventID);
- if (node->DepartureEventID)
- _eventStore.insert(node->DepartureEventID);
- }
+ if (node->DepartureEventID)
+ _eventStore.insert(node->DepartureEventID);
}
// Load all possible event ids from criterias
@@ -5898,6 +5890,14 @@ void ObjectMgr::LoadEventSet()
for (ScenarioEntry const* scenario : sScenarioStore)
for (CriteriaType criteriaType : eventCriteriaTypes)
addCriteriaEventsToStore(sCriteriaMgr->GetScenarioCriteriaByTypeAndScenario(criteriaType, scenario->ID));
+
+ for (auto const& [gameEventId, _] : sCriteriaMgr->GetCriteriaByStartEvent(CriteriaStartEvent::SendEvent))
+ if (gameEventId)
+ _eventStore.insert(gameEventId);
+
+ for (auto const& [gameEventId, _] : sCriteriaMgr->GetCriteriaByFailEvent(CriteriaFailEvent::SendEvent))
+ if (gameEventId)
+ _eventStore.insert(gameEventId);
}
void ObjectMgr::LoadEventScripts()