diff options
author | Meji <alvaro.megias@outlook.com> | 2024-12-04 18:18:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-04 18:18:02 +0100 |
commit | 2cf2535cd637b5b8966f7990f6826bdac94d77ce (patch) | |
tree | 7a96a381c709a25d09779773da14e822203f17ca | |
parent | fa8f2fb273ed3a527af9044970feccedd201b64a (diff) |
Core/SAI: Allow update of disable gravity/root applied via static flags (using related action type) (#30481)
-rw-r--r-- | sql/updates/world/master/2024_12_04_00_world.sql | 1 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.cpp | 5 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.h | 2 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 9 |
4 files changed, 5 insertions, 12 deletions
diff --git a/sql/updates/world/master/2024_12_04_00_world.sql b/sql/updates/world/master/2024_12_04_00_world.sql new file mode 100644 index 00000000000..22a3b393730 --- /dev/null +++ b/sql/updates/world/master/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: |