30 ASSERT(source || target,
"At least one of [source] or [target] must be provided");
32 WorldObject* refForMapAndZoneScript = Coalesce<WorldObject>(source, target);
35 if (!zoneScript && refForMapAndZoneScript->
IsPlayer())
41 sScriptMgr->OnEventTrigger(target, source, gameEventId);
45 goAI->EventInform(gameEventId);
50 Map* map = refForMapAndZoneScript->
GetMap();
@ AnyoneTriggerGameEventScenario
ScriptMapMap sEventScripts
void ScriptsStart(std::map< uint32, std::multimap< uint32, ScriptInfo > > const &scripts, uint32 id, Object *source, Object *target)
Put scripts in the execution queue.
bool Instanceable() const
GameObject * ToGameObject()
void StartCriteria(CriteriaStartEvent startEvent, uint32 entry, Milliseconds timeLost=Milliseconds::zero())
void UpdateCriteria(CriteriaType type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, WorldObject *ref=nullptr)
void FailCriteria(CriteriaFailEvent condition, int32 failAsset)
ZoneScript * FindZoneScript() const
ZoneScript * GetZoneScript() const
virtual void ProcessEvent(WorldObject *, uint32, WorldObject *)
TC_GAME_API void TriggerForMap(uint32 gameEventId, Map *map, WorldObject *source=nullptr, WorldObject *target=nullptr)
TC_GAME_API void Trigger(uint32 gameEventId, WorldObject *source, WorldObject *target)
TC_GAME_API void TriggerForPlayer(uint32 gameEventId, Player *source)