mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 10:05:32 +01:00
Core/SAI: Remove deprecated events and actions (#27258)
(cherry picked from commit c508203895)
This commit is contained in:
@@ -353,11 +353,6 @@ bool SmartAI::IsEscortInvokerInRange()
|
||||
return true;
|
||||
}
|
||||
|
||||
void SmartAI::WaypointStarted(uint32 nodeId, uint32 pathId)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_WAYPOINT_START, nullptr, nodeId, pathId);
|
||||
}
|
||||
|
||||
void SmartAI::WaypointReached(uint32 nodeId, uint32 pathId)
|
||||
{
|
||||
if (!HasEscortState(SMART_ESCORT_ESCORTING))
|
||||
@@ -745,16 +740,6 @@ void SmartAI::SetDisableGravity(bool fly)
|
||||
me->SetDisableGravity(fly);
|
||||
}
|
||||
|
||||
void SmartAI::SetCanFly(bool fly)
|
||||
{
|
||||
me->SetCanFly(fly);
|
||||
}
|
||||
|
||||
void SmartAI::SetSwim(bool swim)
|
||||
{
|
||||
me->SetSwim(swim);
|
||||
}
|
||||
|
||||
void SmartAI::SetEvadeDisabled(bool disable)
|
||||
{
|
||||
_evadeDisabled = disable;
|
||||
|
||||
@@ -81,7 +81,6 @@ class TC_GAME_API SmartAI : public CreatureAI
|
||||
void StopFollow(bool complete);
|
||||
bool IsEscortInvokerInRange();
|
||||
|
||||
void WaypointStarted(uint32 nodeId, uint32 pathId) override;
|
||||
void WaypointReached(uint32 nodeId, uint32 pathId) override;
|
||||
void WaypointPathEnded(uint32 nodeId, uint32 pathId) override;
|
||||
|
||||
@@ -182,12 +181,8 @@ class TC_GAME_API SmartAI : public CreatureAI
|
||||
// Makes the creature run/walk
|
||||
void SetRun(bool run = true);
|
||||
|
||||
void SetCanFly(bool fly = true);
|
||||
|
||||
void SetDisableGravity(bool disable = true);
|
||||
|
||||
void SetSwim(bool swim = true);
|
||||
|
||||
void SetEvadeDisabled(bool disable = true);
|
||||
|
||||
void SetInvincibilityHpLevel(uint32 level)
|
||||
|
||||
@@ -1352,14 +1352,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ENSURE_AI(SmartAI, me->AI())->SetDisableGravity(e.action.setDisableGravity.disable != 0);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_CAN_FLY:
|
||||
{
|
||||
if (!IsSmart())
|
||||
break;
|
||||
|
||||
ENSURE_AI(SmartAI, me->AI())->SetCanFly(e.action.setFly.fly != 0);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_RUN:
|
||||
{
|
||||
if (!IsSmart())
|
||||
@@ -1368,14 +1360,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ENSURE_AI(SmartAI, me->AI())->SetRun(e.action.setRun.run != 0);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_SWIM:
|
||||
{
|
||||
if (!IsSmart())
|
||||
break;
|
||||
|
||||
ENSURE_AI(SmartAI, me->AI())->SetSwim(e.action.setSwim.swim != 0);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_COUNTER:
|
||||
{
|
||||
if (!targets.empty())
|
||||
@@ -1620,38 +1604,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
mRemIDs.push_back(e.action.timeEvent.id);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
|
||||
{
|
||||
for (WorldObject* target : targets)
|
||||
{
|
||||
if (IsCreature(target))
|
||||
{
|
||||
if (!meOrigGUID && me)
|
||||
meOrigGUID = me->GetGUID();
|
||||
if (!goOrigGUID && go)
|
||||
goOrigGUID = go->GetGUID();
|
||||
go = nullptr;
|
||||
me = target->ToCreature();
|
||||
break;
|
||||
}
|
||||
else if (IsGameObject(target))
|
||||
{
|
||||
if (!meOrigGUID && me)
|
||||
meOrigGUID = me->GetGUID();
|
||||
if (!goOrigGUID && go)
|
||||
goOrigGUID = go->GetGUID();
|
||||
go = target->ToGameObject();
|
||||
me = nullptr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT:
|
||||
{
|
||||
ResetBaseObject();
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_CALL_SCRIPT_RESET:
|
||||
{
|
||||
SetPhase(0);
|
||||
@@ -2275,27 +2227,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ENSURE_AI(SmartAI, me->AI())->SetEvadeDisabled(e.action.disableEvade.disable != 0);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_REMOVE_AURAS_BY_TYPE: // can be used to exit vehicle for example
|
||||
{
|
||||
for (WorldObject* const target : targets)
|
||||
if (IsUnit(target))
|
||||
target->ToUnit()->RemoveAurasByType((AuraType)e.action.auraType.type);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_SIGHT_DIST:
|
||||
{
|
||||
for (WorldObject* const target : targets)
|
||||
if (IsCreature(target))
|
||||
target->ToCreature()->m_SightDistance = e.action.sightDistance.dist;
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_FLEE:
|
||||
{
|
||||
for (WorldObject* const target : targets)
|
||||
if (IsCreature(target))
|
||||
target->ToCreature()->GetMotionMaster()->MoveFleeing(me, e.action.flee.fleeTime);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_ADD_THREAT:
|
||||
{
|
||||
if (!me->CanHaveThreatList())
|
||||
@@ -2318,13 +2249,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, nullptr, eventId);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS:
|
||||
{
|
||||
for (WorldObject* const target : targets)
|
||||
if (IsUnit(target))
|
||||
target->ToUnit()->RemoveAllGameObjects();
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_PAUSE_MOVEMENT:
|
||||
{
|
||||
for (WorldObject* const target : targets)
|
||||
@@ -3216,7 +3140,6 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
|
||||
case SMART_EVENT_DEATH:
|
||||
case SMART_EVENT_EVADE:
|
||||
case SMART_EVENT_REACHED_HOME:
|
||||
case SMART_EVENT_CHARMED_TARGET:
|
||||
case SMART_EVENT_CORPSE_REMOVED:
|
||||
case SMART_EVENT_AI_INIT:
|
||||
case SMART_EVENT_TRANSPORT_ADDPLAYER:
|
||||
@@ -3377,7 +3300,6 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
|
||||
ProcessAction(e, unit, var0);
|
||||
break;
|
||||
}
|
||||
case SMART_EVENT_WAYPOINT_START:
|
||||
case SMART_EVENT_WAYPOINT_REACHED:
|
||||
case SMART_EVENT_WAYPOINT_RESUMED:
|
||||
case SMART_EVENT_WAYPOINT_PAUSED:
|
||||
@@ -3466,14 +3388,6 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
|
||||
ProcessAction(e, unit, var0, var1);
|
||||
break;
|
||||
}
|
||||
case SMART_EVENT_EVENT_PHASE_CHANGE:
|
||||
{
|
||||
if (!IsInPhase(e.event.eventPhaseChange.phasemask))
|
||||
return;
|
||||
|
||||
ProcessAction(e, GetLastInvoker());
|
||||
break;
|
||||
}
|
||||
case SMART_EVENT_GAME_EVENT_START:
|
||||
case SMART_EVENT_GAME_EVENT_END:
|
||||
{
|
||||
@@ -4262,12 +4176,7 @@ void SmartScript::DecPhase(uint32 p)
|
||||
|
||||
void SmartScript::SetPhase(uint32 p)
|
||||
{
|
||||
uint32 oldPhase = mEventPhase;
|
||||
|
||||
mEventPhase = p;
|
||||
|
||||
if (oldPhase != mEventPhase)
|
||||
ProcessEventsFor(SMART_EVENT_EVENT_PHASE_CHANGE);
|
||||
}
|
||||
|
||||
bool SmartScript::IsInPhase(uint32 p) const
|
||||
|
||||
@@ -792,7 +792,6 @@ bool SmartAIMgr::CheckUnusedEventParams(SmartScriptHolder const& e)
|
||||
case SMART_EVENT_PASSENGER_BOARDED: return sizeof(SmartEvent::minMax);
|
||||
case SMART_EVENT_PASSENGER_REMOVED: return sizeof(SmartEvent::minMax);
|
||||
case SMART_EVENT_CHARMED: return sizeof(SmartEvent::charm);
|
||||
case SMART_EVENT_CHARMED_TARGET: return NO_PARAMS;
|
||||
case SMART_EVENT_SPELLHIT_TARGET: return sizeof(SmartEvent::spellHit);
|
||||
case SMART_EVENT_DAMAGED: return sizeof(SmartEvent::minMaxRepeat);
|
||||
case SMART_EVENT_DAMAGED_TARGET: return sizeof(SmartEvent::minMaxRepeat);
|
||||
@@ -801,7 +800,6 @@ bool SmartAIMgr::CheckUnusedEventParams(SmartScriptHolder const& e)
|
||||
case SMART_EVENT_CORPSE_REMOVED: return NO_PARAMS;
|
||||
case SMART_EVENT_AI_INIT: return NO_PARAMS;
|
||||
case SMART_EVENT_DATA_SET: return sizeof(SmartEvent::dataSet);
|
||||
case SMART_EVENT_WAYPOINT_START: return sizeof(SmartEvent::waypoint);
|
||||
case SMART_EVENT_WAYPOINT_REACHED: return sizeof(SmartEvent::waypoint);
|
||||
case SMART_EVENT_TRANSPORT_ADDPLAYER: return NO_PARAMS;
|
||||
case SMART_EVENT_TRANSPORT_ADDCREATURE: return sizeof(SmartEvent::transportAddCreature);
|
||||
@@ -828,7 +826,6 @@ bool SmartAIMgr::CheckUnusedEventParams(SmartScriptHolder const& e)
|
||||
case SMART_EVENT_JUST_CREATED: return NO_PARAMS;
|
||||
case SMART_EVENT_GOSSIP_HELLO: return sizeof(SmartEvent::gossipHello);
|
||||
case SMART_EVENT_FOLLOW_COMPLETED: return NO_PARAMS;
|
||||
case SMART_EVENT_EVENT_PHASE_CHANGE: return sizeof(SmartEvent::eventPhaseChange);
|
||||
case SMART_EVENT_GAME_EVENT_START: return sizeof(SmartEvent::gameEvent);
|
||||
case SMART_EVENT_GAME_EVENT_END: return sizeof(SmartEvent::gameEvent);
|
||||
case SMART_EVENT_GO_LOOT_STATE_CHANGED: return sizeof(SmartEvent::goLootStateChanged);
|
||||
@@ -932,7 +929,6 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e)
|
||||
case SMART_ACTION_REMOVE_ITEM: return sizeof(SmartAction::item);
|
||||
case SMART_ACTION_SET_RUN: return sizeof(SmartAction::setRun);
|
||||
case SMART_ACTION_SET_DISABLE_GRAVITY: return sizeof(SmartAction::setDisableGravity);
|
||||
case SMART_ACTION_SET_SWIM: return sizeof(SmartAction::setSwim);
|
||||
case SMART_ACTION_TELEPORT: return sizeof(SmartAction::teleport);
|
||||
case SMART_ACTION_SET_COUNTER: return sizeof(SmartAction::setCounter);
|
||||
case SMART_ACTION_STORE_TARGET_LIST: return sizeof(SmartAction::storeTargets);
|
||||
@@ -947,8 +943,6 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e)
|
||||
case SMART_ACTION_TRIGGER_TIMED_EVENT: return sizeof(SmartAction::timeEvent);
|
||||
case SMART_ACTION_REMOVE_TIMED_EVENT: return sizeof(SmartAction::timeEvent);
|
||||
case SMART_ACTION_ADD_AURA: return sizeof(SmartAction::addAura);
|
||||
case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT: return NO_PARAMS;
|
||||
case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT: return NO_PARAMS;
|
||||
case SMART_ACTION_CALL_SCRIPT_RESET: return NO_PARAMS;
|
||||
case SMART_ACTION_SET_RANGED_MOVEMENT: return sizeof(SmartAction::setRangedMovement);
|
||||
case SMART_ACTION_CALL_TIMED_ACTIONLIST: return sizeof(SmartAction::timedActionList);
|
||||
@@ -987,14 +981,9 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e)
|
||||
case SMART_ACTION_SET_CORPSE_DELAY: return sizeof(SmartAction::corpseDelay);
|
||||
case SMART_ACTION_DISABLE_EVADE: return sizeof(SmartAction::disableEvade);
|
||||
case SMART_ACTION_GO_SET_GO_STATE: return sizeof(SmartAction::goState);
|
||||
case SMART_ACTION_SET_CAN_FLY: return sizeof(SmartAction::setFly);
|
||||
case SMART_ACTION_REMOVE_AURAS_BY_TYPE: return sizeof(SmartAction::auraType);
|
||||
case SMART_ACTION_SET_SIGHT_DIST: return sizeof(SmartAction::sightDistance);
|
||||
case SMART_ACTION_FLEE: return sizeof(SmartAction::flee);
|
||||
case SMART_ACTION_ADD_THREAT: return sizeof(SmartAction::threat);
|
||||
case SMART_ACTION_LOAD_EQUIPMENT: return sizeof(SmartAction::loadEquipment);
|
||||
case SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT: return sizeof(SmartAction::randomTimedEvent);
|
||||
case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS: return NO_PARAMS;
|
||||
case SMART_ACTION_PAUSE_MOVEMENT: return sizeof(SmartAction::pauseMovement);
|
||||
case SMART_ACTION_PLAY_ANIMKIT: return sizeof(SmartAction::animKit);
|
||||
case SMART_ACTION_SCENE_PLAY: return sizeof(SmartAction::scene);
|
||||
@@ -1325,27 +1314,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
if (!IsTextValid(e, e.event.textOver.textGroupID))
|
||||
return false;
|
||||
break;
|
||||
case SMART_EVENT_EVENT_PHASE_CHANGE:
|
||||
{
|
||||
if (!e.event.eventPhaseChange.phasemask)
|
||||
{
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Entry " SI64FMTD " SourceType %u Event %u Action %u has no param set, event won't be executed!.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (e.event.eventPhaseChange.phasemask > SMART_EVENT_PHASE_ALL)
|
||||
{
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Entry " SI64FMTD " SourceType %u Event %u Action %u uses invalid phasemask %u, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.event.eventPhaseChange.phasemask);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (e.event.event_phase_mask && !(e.event.event_phase_mask & e.event.eventPhaseChange.phasemask))
|
||||
{
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Entry " SI64FMTD " SourceType %u Event %u Action %u uses event phasemask %u and incompatible event_param1 %u, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.event.event_phase_mask, e.event.eventPhaseChange.phasemask);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SMART_EVENT_GAME_EVENT_START:
|
||||
case SMART_EVENT_GAME_EVENT_END:
|
||||
{
|
||||
@@ -1487,7 +1455,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_EVENT_TIMED_EVENT_TRIGGERED:
|
||||
case SMART_EVENT_INSTANCE_PLAYER_ENTER:
|
||||
case SMART_EVENT_TRANSPORT_RELOCATE:
|
||||
case SMART_EVENT_CHARMED_TARGET:
|
||||
case SMART_EVENT_CORPSE_REMOVED:
|
||||
case SMART_EVENT_AI_INIT:
|
||||
case SMART_EVENT_TRANSPORT_ADDPLAYER:
|
||||
@@ -1497,7 +1464,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_EVENT_EVADE:
|
||||
case SMART_EVENT_REACHED_HOME:
|
||||
case SMART_EVENT_JUST_SUMMONED:
|
||||
case SMART_EVENT_WAYPOINT_START:
|
||||
case SMART_EVENT_WAYPOINT_REACHED:
|
||||
case SMART_EVENT_WAYPOINT_PAUSED:
|
||||
case SMART_EVENT_WAYPOINT_RESUMED:
|
||||
@@ -1517,6 +1483,9 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_EVENT_TARGET_HEALTH_PCT:
|
||||
case SMART_EVENT_FRIENDLY_HEALTH:
|
||||
case SMART_EVENT_TARGET_MANA_PCT:
|
||||
case SMART_EVENT_CHARMED_TARGET:
|
||||
case SMART_EVENT_WAYPOINT_START:
|
||||
case SMART_EVENT_EVENT_PHASE_CHANGE:
|
||||
case SMART_EVENT_IS_BEHIND_TARGET:
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Unused event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
return false;
|
||||
@@ -1524,19 +1493,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Not handled event_type(%u), Entry " SI64FMTD " SourceType %u Event %u Action %u, skipped.", e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
|
||||
return false;
|
||||
}
|
||||
|
||||
// Additional check for deprecated
|
||||
switch (e.GetEventType())
|
||||
{
|
||||
// Deprecated
|
||||
case SMART_EVENT_EVENT_PHASE_CHANGE:
|
||||
case SMART_EVENT_WAYPOINT_START:
|
||||
case SMART_EVENT_CHARMED_TARGET:
|
||||
TC_LOG_WARN("sql.sql.deprecation", "SmartAIMgr: Deprecated event_type(%u), Entry " SI64FMTD " SourceType %u Event %u Action %u, it might be removed in the future, loaded for now.", e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!CheckUnusedEventParams(e))
|
||||
@@ -2053,15 +2009,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_REMOVE_AURAS_BY_TYPE:
|
||||
{
|
||||
if (e.action.auraType.type >= TOTAL_AURAS)
|
||||
{
|
||||
TC_LOG_ERROR("sql.sql", "Entry " SI64FMTD " SourceType %u Event %u Action %u uses invalid data type %u (value range 0-TOTAL_AURAS), skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.action.auraType.type);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_RESPAWN_BY_SPAWNID:
|
||||
{
|
||||
if (!sObjectMgr->GetSpawnData(SpawnObjectType(e.action.respawnData.spawnType), e.action.respawnData.spawnId))
|
||||
@@ -2214,16 +2161,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
TC_SAI_IS_BOOLEAN_VALID(e, e.action.setDisableGravity.disable);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_CAN_FLY:
|
||||
{
|
||||
TC_SAI_IS_BOOLEAN_VALID(e, e.action.setFly.fly);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_SWIM:
|
||||
{
|
||||
TC_SAI_IS_BOOLEAN_VALID(e, e.action.setSwim.swim);
|
||||
break;
|
||||
}
|
||||
case SMART_ACTION_SET_COUNTER:
|
||||
{
|
||||
TC_SAI_IS_BOOLEAN_VALID(e, e.action.setCounter.reset);
|
||||
@@ -2341,8 +2278,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_ACTION_CLOSE_GOSSIP:
|
||||
case SMART_ACTION_TRIGGER_TIMED_EVENT:
|
||||
case SMART_ACTION_REMOVE_TIMED_EVENT:
|
||||
case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
|
||||
case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT:
|
||||
case SMART_ACTION_ACTIVATE_GOBJECT:
|
||||
case SMART_ACTION_CALL_SCRIPT_RESET:
|
||||
case SMART_ACTION_SET_RANGED_MOVEMENT:
|
||||
@@ -2365,11 +2300,8 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_ACTION_SUMMON_CREATURE_GROUP:
|
||||
case SMART_ACTION_MOVE_OFFSET:
|
||||
case SMART_ACTION_SET_CORPSE_DELAY:
|
||||
case SMART_ACTION_SET_SIGHT_DIST:
|
||||
case SMART_ACTION_FLEE:
|
||||
case SMART_ACTION_ADD_THREAT:
|
||||
case SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT:
|
||||
case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS:
|
||||
case SMART_ACTION_SPAWN_SPAWNGROUP:
|
||||
case SMART_ACTION_DESPAWN_SPAWNGROUP:
|
||||
case SMART_ACTION_ADD_TO_STORED_TARGET_LIST:
|
||||
@@ -2387,32 +2319,22 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
|
||||
case SMART_ACTION_SET_UNIT_FLAG:
|
||||
case SMART_ACTION_REMOVE_UNIT_FLAG:
|
||||
case SMART_ACTION_INSTALL_AI_TEMPLATE:
|
||||
case SMART_ACTION_SET_DYNAMIC_FLAG:
|
||||
case SMART_ACTION_ADD_DYNAMIC_FLAG:
|
||||
case SMART_ACTION_REMOVE_DYNAMIC_FLAG:
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Unused action_type(%u), event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
return false;
|
||||
default:
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Additional check for deprecated
|
||||
switch (e.GetActionType())
|
||||
{
|
||||
// Deprecated
|
||||
case SMART_ACTION_SET_SWIM:
|
||||
case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
|
||||
case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT:
|
||||
case SMART_ACTION_SET_DYNAMIC_FLAG:
|
||||
case SMART_ACTION_ADD_DYNAMIC_FLAG:
|
||||
case SMART_ACTION_REMOVE_DYNAMIC_FLAG:
|
||||
case SMART_ACTION_SET_CAN_FLY:
|
||||
case SMART_ACTION_REMOVE_AURAS_BY_TYPE:
|
||||
case SMART_ACTION_SET_SIGHT_DIST:
|
||||
case SMART_ACTION_FLEE:
|
||||
case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS:
|
||||
TC_LOG_WARN("sql.sql.deprecation", "SmartAIMgr: Deprecated action_type(%u), Entry " SI64FMTD " SourceType %u Event %u, it might be removed in the future, loaded for now.", e.GetActionType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
break;
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Unused action_type(%u), event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
return false;
|
||||
default:
|
||||
break;
|
||||
TC_LOG_ERROR("sql.sql", "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!CheckUnusedActionParams(e))
|
||||
|
||||
@@ -110,13 +110,13 @@ enum SMART_EVENT
|
||||
SMART_EVENT_RANGE = 9, // MinDist, MaxDist, RepeatMin, RepeatMax
|
||||
SMART_EVENT_OOC_LOS = 10, // HostilityMode, MaxRnage, CooldownMin, CooldownMax
|
||||
SMART_EVENT_RESPAWN = 11, // type, MapId, ZoneId
|
||||
SMART_EVENT_TARGET_HEALTH_PCT = 12, // UNUSED, do not reuse
|
||||
SMART_EVENT_TARGET_HEALTH_PCT = 12, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_VICTIM_CASTING = 13, // RepeatMin, RepeatMax, spellid
|
||||
SMART_EVENT_FRIENDLY_HEALTH = 14, // UNUSED, do not reuse
|
||||
SMART_EVENT_FRIENDLY_HEALTH = 14, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_FRIENDLY_IS_CC = 15, // Radius, RepeatMin, RepeatMax
|
||||
SMART_EVENT_FRIENDLY_MISSING_BUFF = 16, // SpellId, Radius, RepeatMin, RepeatMax
|
||||
SMART_EVENT_SUMMONED_UNIT = 17, // CreatureId(0 all), CooldownMin, CooldownMax
|
||||
SMART_EVENT_TARGET_MANA_PCT = 18, // UNUSED, do not reuse
|
||||
SMART_EVENT_TARGET_MANA_PCT = 18, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_ACCEPTED_QUEST = 19, // QuestID (0 = any), CooldownMin, CooldownMax
|
||||
SMART_EVENT_REWARD_QUEST = 20, // QuestID (0 = any), CooldownMin, CooldownMax
|
||||
SMART_EVENT_REACHED_HOME = 21, // NONE
|
||||
@@ -128,7 +128,7 @@ enum SMART_EVENT
|
||||
SMART_EVENT_PASSENGER_BOARDED = 27, // CooldownMin, CooldownMax
|
||||
SMART_EVENT_PASSENGER_REMOVED = 28, // CooldownMin, CooldownMax
|
||||
SMART_EVENT_CHARMED = 29, // onRemove (0 - on apply, 1 - on remove)
|
||||
SMART_EVENT_CHARMED_TARGET = 30, // NONE
|
||||
SMART_EVENT_CHARMED_TARGET = 30, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_SPELLHIT_TARGET = 31, // SpellID, School, CooldownMin, CooldownMax
|
||||
SMART_EVENT_DAMAGED = 32, // MinDmg, MaxDmg, CooldownMin, CooldownMax
|
||||
SMART_EVENT_DAMAGED_TARGET = 33, // MinDmg, MaxDmg, CooldownMin, CooldownMax
|
||||
@@ -137,7 +137,7 @@ enum SMART_EVENT
|
||||
SMART_EVENT_CORPSE_REMOVED = 36, // NONE
|
||||
SMART_EVENT_AI_INIT = 37, // NONE
|
||||
SMART_EVENT_DATA_SET = 38, // Id, Value, CooldownMin, CooldownMax
|
||||
SMART_EVENT_WAYPOINT_START = 39, // PointId(0any), pathID(0any)
|
||||
SMART_EVENT_WAYPOINT_START = 39, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_WAYPOINT_REACHED = 40, // PointId(0any), pathID(0any)
|
||||
SMART_EVENT_TRANSPORT_ADDPLAYER = 41, // NONE
|
||||
SMART_EVENT_TRANSPORT_ADDCREATURE = 42, // Entry (0 any)
|
||||
@@ -164,8 +164,8 @@ enum SMART_EVENT
|
||||
SMART_EVENT_JUST_CREATED = 63, // none
|
||||
SMART_EVENT_GOSSIP_HELLO = 64, // noReportUse (for GOs)
|
||||
SMART_EVENT_FOLLOW_COMPLETED = 65, // none
|
||||
SMART_EVENT_EVENT_PHASE_CHANGE = 66, // event phase mask (<= SMART_EVENT_PHASE_ALL)
|
||||
SMART_EVENT_IS_BEHIND_TARGET = 67, // UNUSED, do not reuse
|
||||
SMART_EVENT_EVENT_PHASE_CHANGE = 66, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_IS_BEHIND_TARGET = 67, // UNUSED, DO NOT REUSE
|
||||
SMART_EVENT_GAME_EVENT_START = 68, // game_event.Entry
|
||||
SMART_EVENT_GAME_EVENT_END = 69, // game_event.Entry
|
||||
SMART_EVENT_GO_LOOT_STATE_CHANGED = 70, // go LootState
|
||||
@@ -367,11 +367,6 @@ struct SmartEvent
|
||||
uint32 action;
|
||||
} gossip;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 phasemask;
|
||||
} eventPhaseChange;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 gameEventId;
|
||||
@@ -466,8 +461,8 @@ enum SMART_ACTION
|
||||
SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS = 15, // QuestID
|
||||
SMART_ACTION_SET_INGAME_PHASE_GROUP = 16, // phaseGroupId, apply
|
||||
SMART_ACTION_SET_EMOTE_STATE = 17, // emoteID
|
||||
SMART_ACTION_SET_UNIT_FLAG = 18, // UNUSED, do not reuse
|
||||
SMART_ACTION_REMOVE_UNIT_FLAG = 19, // UNUSED, do not reuse
|
||||
SMART_ACTION_SET_UNIT_FLAG = 18, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_REMOVE_UNIT_FLAG = 19, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_AUTO_ATTACK = 20, // AllowAttackState (0 = stop attack, anything else means continue attacking)
|
||||
SMART_ACTION_ALLOW_COMBAT_MOVEMENT = 21, // AllowCombatMovement (0 = stop combat based movement, anything else continue attacking)
|
||||
SMART_ACTION_SET_EVENT_PHASE = 22, // Phase
|
||||
@@ -506,10 +501,10 @@ enum SMART_ACTION
|
||||
SMART_ACTION_WP_STOP = 55, // despawnTime, quest, fail?
|
||||
SMART_ACTION_ADD_ITEM = 56, // itemID, count
|
||||
SMART_ACTION_REMOVE_ITEM = 57, // itemID, count
|
||||
SMART_ACTION_INSTALL_AI_TEMPLATE = 58, // UNUSED, do not reuse
|
||||
SMART_ACTION_INSTALL_AI_TEMPLATE = 58, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_SET_RUN = 59, // 0/1
|
||||
SMART_ACTION_SET_DISABLE_GRAVITY = 60, // 0/1
|
||||
SMART_ACTION_SET_SWIM = 61, // 0/1
|
||||
SMART_ACTION_SET_SWIM = 61, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_TELEPORT = 62, // mapID,
|
||||
SMART_ACTION_SET_COUNTER = 63, // id, value, reset (0/1)
|
||||
SMART_ACTION_STORE_TARGET_LIST = 64, // varID,
|
||||
@@ -524,8 +519,8 @@ enum SMART_ACTION
|
||||
SMART_ACTION_TRIGGER_TIMED_EVENT = 73, // id(>1)
|
||||
SMART_ACTION_REMOVE_TIMED_EVENT = 74, // id(>1)
|
||||
SMART_ACTION_ADD_AURA = 75, // spellid, targets
|
||||
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT = 76, // WARNING: CAN CRASH CORE, do not use if you dont know what you are doing
|
||||
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT = 77, // none
|
||||
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT = 76, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT = 77, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_CALL_SCRIPT_RESET = 78, // none
|
||||
SMART_ACTION_SET_RANGED_MOVEMENT = 79, // Distance, angle
|
||||
SMART_ACTION_CALL_TIMED_ACTIONLIST = 80, // ID (overwrites already running actionlist), stop after combat?(0/1), timer update type(0-OOC, 1-IC, 2-ALWAYS)
|
||||
@@ -542,9 +537,9 @@ enum SMART_ACTION
|
||||
SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 = 91, // bytes, target
|
||||
SMART_ACTION_INTERRUPT_SPELL = 92,
|
||||
SMART_ACTION_SEND_GO_CUSTOM_ANIM = 93, // anim id
|
||||
SMART_ACTION_SET_DYNAMIC_FLAG = 94, // UNUSED, do not reuse
|
||||
SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // UNUSED, do not reuse
|
||||
SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96, // UNUSED, do not reuse
|
||||
SMART_ACTION_SET_DYNAMIC_FLAG = 94, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_JUMP_TO_POS = 97, // speedXY, speedZ, targetX, targetY, targetZ
|
||||
SMART_ACTION_SEND_GOSSIP_MENU = 98, // menuId, optionId
|
||||
SMART_ACTION_GO_SET_LOOT_STATE = 99, // state
|
||||
@@ -567,14 +562,14 @@ enum SMART_ACTION
|
||||
SMART_ACTION_SET_CORPSE_DELAY = 116, // timer
|
||||
SMART_ACTION_DISABLE_EVADE = 117, // 0/1 (1 = disabled, 0 = enabled)
|
||||
SMART_ACTION_GO_SET_GO_STATE = 118, // state
|
||||
SMART_ACTION_SET_CAN_FLY = 119, // 0/1
|
||||
SMART_ACTION_REMOVE_AURAS_BY_TYPE = 120, // type
|
||||
SMART_ACTION_SET_SIGHT_DIST = 121, // sightDistance
|
||||
SMART_ACTION_FLEE = 122, // fleeTime
|
||||
SMART_ACTION_SET_CAN_FLY = 119, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_REMOVE_AURAS_BY_TYPE = 120, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_SET_SIGHT_DIST = 121, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_FLEE = 122, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_ADD_THREAT = 123, // +threat, -threat
|
||||
SMART_ACTION_LOAD_EQUIPMENT = 124, // id
|
||||
SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT = 125, // id min range, id max range
|
||||
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS = 126,
|
||||
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS = 126, // UNUSED, DO NOT REUSE
|
||||
SMART_ACTION_PAUSE_MOVEMENT = 127, // MovementSlot (default = 0, active = 1, controlled = 2), PauseTime (ms), Force
|
||||
SMART_ACTION_PLAY_ANIMKIT = 128, // id, type (0 = oneShot, 1 = aiAnim, 2 = meleeAnim, 3 = movementAnim)
|
||||
SMART_ACTION_SCENE_PLAY = 129, // sceneId
|
||||
@@ -898,16 +893,6 @@ struct SmartAction
|
||||
SAIBool disable;
|
||||
} setDisableGravity;
|
||||
|
||||
struct
|
||||
{
|
||||
SAIBool fly;
|
||||
} setFly;
|
||||
|
||||
struct
|
||||
{
|
||||
SAIBool swim;
|
||||
} setSwim;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 mapID;
|
||||
@@ -1007,11 +992,6 @@ struct SmartAction
|
||||
SAIBool withEmote;
|
||||
} fleeAssist;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 fleeTime;
|
||||
} flee;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 duration;
|
||||
@@ -1120,16 +1100,6 @@ struct SmartAction
|
||||
uint32 spawnflags;
|
||||
} groupSpawn;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 type;
|
||||
} auraType;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 dist;
|
||||
} sightDistance;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 id;
|
||||
|
||||
Reference in New Issue
Block a user