Core/SAI: Implemented new action SMART_ACTION_TRIGGER_GAME_EVENT

Port From (https://github.com/TrinityCore/TrinityCore/commit/9d0187dd5669d73bcb94ffe76b4fc3975a5455cc)
This commit is contained in:
hondacrx
2022-05-31 20:46:07 -04:00
parent e1b85a66e9
commit deadb86e31
3 changed files with 28 additions and 0 deletions
@@ -2467,6 +2467,19 @@ namespace Game.AI
_timedActionList.RemoveAll(script => { return script.EventId > e.EventId; });
break;
}
case SmartActions.TriggerGameEvent:
{
WorldObject sourceObject = GetBaseObjectOrUnit(unit);
foreach (WorldObject target in targets)
{
if (e.Action.triggerGameEvent.useSaiTargetAsGameEventSource != 0)
GameEvents.Trigger(e.Action.triggerGameEvent.eventId, sourceObject, target);
else
GameEvents.Trigger(e.Action.triggerGameEvent.eventId, target, sourceObject);
}
break;
}
default:
Log.outError(LogFilter.Sql, "SmartScript.ProcessAction: Entry {0} SourceType {1}, Event {2}, Unhandled Action type {3}", e.EntryOrGuid, e.GetScriptType(), e.EventId, e.GetActionType());
break;