From 8d4a694e82b0a6f4e26eba44dfec9837b226b598 Mon Sep 17 00:00:00 2001 From: Stoabrogga <38475780+Stoabrogga@users.noreply.github.com> Date: Sun, 28 Jul 2019 15:04:22 +0200 Subject: [PATCH] fix(Core/SAI): fix parameters for action type "SMART_ACTION_UPDATE_TEMPLATE" (#2131) --- .../sql/updates/pending_db_world/rev_1563920358511875161.sql | 4 ++++ src/server/game/AI/SmartScripts/SmartScript.cpp | 2 +- src/server/game/AI/SmartScripts/SmartScriptMgr.h | 5 ++--- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1563920358511875161.sql diff --git a/data/sql/updates/pending_db_world/rev_1563920358511875161.sql b/data/sql/updates/pending_db_world/rev_1563920358511875161.sql new file mode 100644 index 000000000..e918ba16d --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1563920358511875161.sql @@ -0,0 +1,4 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1563920358511875161'); + +UPDATE `smart_scripts` SET `action_param2` = NOT `action_param3` WHERE `action_type` = 36; +UPDATE `smart_scripts` SET `action_param3` = 0 WHERE `action_type` = 36; diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index f9e47ddce..17cca22bc 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1299,7 +1299,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsCreature(*itr)) - (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, NULL, !e.action.updateTemplate.doNotChangeLevel); + (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, NULL, e.action.updateTemplate.updateLevel != 0); delete targets; break; diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index a9d821396..e8917db75 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -466,7 +466,7 @@ enum SMART_ACTION SMART_ACTION_CALL_KILLEDMONSTER = 33, // CreatureId, SMART_ACTION_SET_INST_DATA = 34, // Field, Data SMART_ACTION_SET_INST_DATA64 = 35, // Field, - SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, Team, doNotChangeLevel + SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, UpdateLevel SMART_ACTION_DIE = 37, // No Params SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38, // No Params SMART_ACTION_CALL_FOR_HELP = 39, // Radius, With Emote @@ -810,8 +810,7 @@ struct SmartAction struct { uint32 creature; - uint32 team; - uint32 doNotChangeLevel; + uint32 updateLevel; } updateTemplate; struct