diff options
author | Meji <alvaro.megias@outlook.com> | 2024-12-04 18:18:02 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-12-06 21:19:40 +0100 |
commit | f9b564af3c601e5f2616708c2d6ce382034db558 (patch) | |
tree | 5e61a7a7deff736e538f706431ec6c4a63498a5d | |
parent | 6e336607a1ef15a10b113bcfd2152ac7c9ae9449 (diff) |
Core/SAI: Allow update of disable gravity/root applied via static flags (using related action type) (#30481)
(cherry picked from commit 2cf2535cd637b5b8966f7990f6826bdac94d77ce)
4 files changed, 5 insertions, 12 deletions
diff --git a/sql/updates/world/cata_classic/2024_12_06_00_world_2024_12_04_00_world.sql b/sql/updates/world/cata_classic/2024_12_06_00_world_2024_12_04_00_world.sql new file mode 100644 index 00000000000..22a3b393730 --- /dev/null +++ b/sql/updates/world/cata_classic/2024_12_06_00_world_2024_12_04_00_world.sql @@ -0,0 +1 @@ +UPDATE `smart_scripts` SET `target_type`=1 WHERE `action_type`=60; diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index dcaa2d85c74..11f645bc6da 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -735,11 +735,6 @@ void SmartAI::SetRun(bool run) _run = run; } -void SmartAI::SetDisableGravity(bool fly) -{ - me->SetDisableGravity(fly); -} - void SmartAI::SetEvadeDisabled(bool disable) { _evadeDisabled = disable; diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 3c49a361740..16a7790a645 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -192,8 +192,6 @@ class TC_GAME_API SmartAI : public CreatureAI // Makes the creature run/walk void SetRun(bool run = true); - void SetDisableGravity(bool disable = true); - void SetEvadeDisabled(bool disable = true); void SetInvincibilityHpLevel(uint32 level) diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 4b3e2d55026..d1b7aec16fe 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1361,10 +1361,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u } case SMART_ACTION_SET_DISABLE_GRAVITY: { - if (!IsSmart()) - break; - - ENSURE_AI(SmartAI, me->AI())->SetDisableGravity(e.action.setDisableGravity.disable != 0); + for (WorldObject* target : targets) + if (IsCreature(target)) + target->ToCreature()->SetFloating(e.action.setDisableGravity.disable != 0); break; } case SMART_ACTION_SET_RUN: @@ -2055,7 +2054,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { for (WorldObject* target : targets) if (IsCreature(target)) - target->ToCreature()->SetControlled(e.action.setRoot.root != 0, UNIT_STATE_ROOT); + target->ToCreature()->SetSessile(e.action.setRoot.root != 0); break; } case SMART_ACTION_SUMMON_CREATURE_GROUP: |