aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2018-06-03 10:06:57 -0700
committerGitHub <noreply@github.com>2018-06-03 10:06:57 -0700
commit982643cd96790ffc54e7a3e507469649f3b074d2 (patch)
tree90e65482d064fc9b2e8d0e215f2dec6e5fe663c9 /src/server/scripts/Northrend
parentb84348f6fc7746349fdcbd443b32fe5483174442 (diff)
Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp54
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h38
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp15
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp3
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp8
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp2
19 files changed, 87 insertions, 85 deletions
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
index 6ee613636ed..da6c486ab48 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -826,7 +826,7 @@ class npc_anubarak_spike : public CreatureScript
me->GetThreatManager().ResetAllThreat();
DoZoneInCombat();
AddThreat(who, 1000000.0f);
- me->GetMotionMaster()->Clear(true);
+ me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveChase(who);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
index 0f0047ef819..3a5c2764551 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -15,20 +15,24 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
#include "halls_of_reflection.h"
+#include "Creature.h"
+#include "EventProcessor.h"
#include "InstanceScript.h"
#include "MotionMaster.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
+#include "ObjectGuid.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
+#include "ScriptMgr.h"
#include "Spell.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Transport.h"
+#include "Unit.h"
enum Text
{
@@ -344,12 +348,6 @@ Position const IceWallTargetPosition[] =
{ 5318.289f, 1749.184f, 771.9423f, 0.8726646f } // 4th Icewall
};
-void GameObjectDeleteDelayEvent::DeleteGameObject()
-{
- if (GameObject* go = ObjectAccessor::GetGameObject(*_owner, _gameObjectGUID))
- go->Delete();
-}
-
class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
{
public:
@@ -797,6 +795,33 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
}
};
+class HoRGameObjectDeleteDelayEvent : public BasicEvent
+{
+ public:
+ explicit HoRGameObjectDeleteDelayEvent(Unit* owner, ObjectGuid gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
+
+ void DeleteGameObject()
+ {
+ if (GameObject* go = ObjectAccessor::GetGameObject(*_owner, _gameObjectGUID))
+ go->Delete();
+ }
+
+ bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
+ {
+ DeleteGameObject();
+ return true;
+ }
+
+ void Abort(uint64 /*execTime*/) override
+ {
+ DeleteGameObject();
+ }
+
+ private:
+ Unit* _owner;
+ ObjectGuid _gameObjectGUID;
+};
+
class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
{
public:
@@ -894,7 +919,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_SYLVANAS_DESTROY_ICE_WALL);
_instance->HandleGameObject(_instance->GetGuidData(DATA_ICEWALL), true);
- me->m_Events.AddEvent(new GameObjectDeleteDelayEvent(me, _instance->GetGuidData(DATA_ICEWALL)), me->m_Events.CalculateTime(5000));
+ me->m_Events.AddEvent(new HoRGameObjectDeleteDelayEvent(me, _instance->GetGuidData(DATA_ICEWALL)), me->m_Events.CalculateTime(5000));
if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ICEWALL_TARGET)))
wallTarget->DespawnOrUnsummon();
@@ -2123,13 +2148,10 @@ enum EscapeEvents
EVENT_LUMBERING_ABOMINATION_CLEAVE
};
-namespace hor
-{
-
-class StartMovementEvent : public BasicEvent
+class HoRStartMovementEvent : public BasicEvent
{
public:
- StartMovementEvent(Creature* owner) : _owner(owner) { }
+ explicit HoRStartMovementEvent(Creature* owner) : _owner(owner) { }
bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
{
@@ -2143,8 +2165,6 @@ class StartMovementEvent : public BasicEvent
Creature* _owner;
};
-} // namespace hor
-
struct npc_escape_event_trash : public ScriptedAI
{
npc_escape_event_trash(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -2197,7 +2217,7 @@ class npc_raging_ghoul : public CreatureScript
me->CastSpell(me, SPELL_RAGING_GHOUL_SPAWN, true);
me->SetReactState(REACT_PASSIVE);
me->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
- me->m_Events.AddEvent(new hor::StartMovementEvent(me), me->m_Events.CalculateTime(5000));
+ me->m_Events.AddEvent(new HoRStartMovementEvent(me), me->m_Events.CalculateTime(5000));
npc_escape_event_trash::IsSummonedBy(summoner);
}
@@ -2263,7 +2283,7 @@ class npc_risen_witch_doctor : public CreatureScript
me->CastSpell(me, SPELL_RISEN_WITCH_DOCTOR_SPAWN, true);
me->SetReactState(REACT_PASSIVE);
me->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
- me->m_Events.AddEvent(new hor::StartMovementEvent(me), me->m_Events.CalculateTime(5000));
+ me->m_Events.AddEvent(new HoRStartMovementEvent(me), me->m_Events.CalculateTime(5000));
npc_escape_event_trash::IsSummonedBy(summoner);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
index 4303bc5fa5d..1104c92fcb6 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -19,19 +19,18 @@
#define HALLS_OF_REFLECTION_H_
#include "CreatureAIImpl.h"
-#include "EventProcessor.h"
-#include "ObjectGuid.h"
#define HoRScriptName "instance_halls_of_reflection"
-#define DataHeader "HOR"
+#define DataHeader "HOR"
uint32 const EncounterCount = 3;
-/* Halls of Reflection encounters:
- 0 - Falric
- 1 - Marwyn
- 2 - The Lich King
-*/
+/*
+ * Halls of Reflection encounters:
+ * 0 - Falric
+ * 1 - Marwyn
+ * 2 - The Lich King
+ */
enum HORDataTypes
{
@@ -196,29 +195,6 @@ enum HORInstanceYells
SAY_CAPTAIN_FINAL = 1
};
-class GameObjectDeleteDelayEvent : public BasicEvent
-{
- public:
- GameObjectDeleteDelayEvent(Unit* owner, ObjectGuid gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
-
- void DeleteGameObject();
-
- bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
- {
- DeleteGameObject();
- return true;
- }
-
- void Abort(uint64 /*execTime*/) override
- {
- DeleteGameObject();
- }
-
- private:
- Unit* _owner;
- ObjectGuid _gameObjectGUID;
-};
-
template <class AI, class T>
inline AI* GetHallsOfReflectionAI(T* obj)
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 60b3c43a970..e80d238d7c9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -476,7 +476,7 @@ public:
Movement::MoveSplineInit init(_owner);
init.DisableTransportPathTransformations();
init.MoveTo(_dest.GetPositionX(), _dest.GetPositionY(), _dest.GetPositionZ(), false);
- _owner->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_CHARGE_PREPATH, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ _owner->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_CHARGE_PREPATH, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
return true;
}
@@ -570,7 +570,7 @@ struct gunship_npc_AI : public ScriptedAI
Movement::MoveSplineInit init(me);
init.DisableTransportPathTransformations();
init.MoveTo(x, y, z, false);
- me->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_CHARGE_PREPATH, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ me->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_CHARGE_PREPATH, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
}
}
@@ -943,7 +943,7 @@ class npc_high_overlord_saurfang_igb : public CreatureScript
Movement::MoveSplineInit init(me);
init.DisableTransportPathTransformations();
init.MovebyPath(path, 0);
- me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
me->DespawnOrUnsummon(18000);
}
@@ -1207,7 +1207,7 @@ class npc_muradin_bronzebeard_igb : public CreatureScript
Movement::MoveSplineInit init(me);
init.DisableTransportPathTransformations();
init.MovebyPath(path, 0);
- me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
me->DespawnOrUnsummon(18000);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index d974533d9ef..1d107a720fc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -23,6 +23,7 @@
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "Player.h"
+#include "PointMovementGenerator.h"
#include "ScriptedCreature.h"
#include "SpellAuras.h"
#include "SpellScript.h"
@@ -242,8 +243,16 @@ class boss_lord_marrowgar : public CreatureScript
break;
}
case EVENT_BONE_STORM_END:
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
- me->GetMotionMaster()->MovementExpired();
+ if (MovementGenerator* movement = me->GetMotionMaster()->GetMovementGenerator([](MovementGenerator const* a) -> bool
+ {
+ if (a->GetMovementGeneratorType() == POINT_MOTION_TYPE)
+ {
+ PointMovementGenerator<Creature> const* pointMovement = dynamic_cast<PointMovementGenerator<Creature> const*>(a);
+ return pointMovement && pointMovement->GetId() == POINT_TARGET_BONESTORM_PLAYER;
+ }
+ return false;
+ }))
+ me->GetMotionMaster()->Remove(movement);
me->GetMotionMaster()->MoveChase(me->GetVictim());
me->SetSpeedRate(MOVE_RUN, _baseSpeed);
events.CancelEvent(EVENT_BONE_STORM_MOVE);
@@ -473,7 +482,7 @@ class npc_bone_spike : public CreatureScript
Movement::MoveSplineInit init(passenger);
init.DisableTransportPathTransformations();
init.MoveTo(-0.02206125f, -0.02132235f, 5.514783f, false);
- passenger->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_VEHICLE_BOARD, MOTION_SLOT_CONTROLLED);
+ passenger->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_VEHICLE_BOARD, MOTION_PRIORITY_HIGHEST);
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index ff0dd695971..6a3c459916a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -245,8 +245,6 @@ class boss_professor_putricide : public CreatureScript
_experimentState = EXPERIMENT_STATE_OOZE;
me->SetReactState(REACT_DEFENSIVE);
me->SetWalk(false);
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
- me->GetMotionMaster()->MovementExpired();
if (instance->GetBossState(DATA_ROTFACE) == DONE && instance->GetBossState(DATA_FESTERGUT) == DONE)
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index bf9035604a3..2d190659d1d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -393,8 +393,7 @@ class boss_sindragosa : public CreatureScript
me->SetDisableGravity(false);
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_ANIM_TIER, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
me->SetReactState(REACT_DEFENSIVE);
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
- me->GetMotionMaster()->MovementExpired();
+
_isInAirPhase = false;
// trigger Asphyxiation
EntryCheckPredicate pred(NPC_ICE_TOMB);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 7353486e186..0878b5645f5 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -441,10 +441,10 @@ class FrozenThroneResetWorker
}
};
-class StartMovementEvent : public BasicEvent
+class LichKingStartMovementEvent : public BasicEvent
{
public:
- StartMovementEvent(Creature* summoner, Creature* owner)
+ LichKingStartMovementEvent(Creature* summoner, Creature* owner)
: _summonerGuid(summoner->GetGUID()), _owner(owner)
{
}
@@ -737,7 +737,7 @@ class boss_the_lich_king : public CreatureScript
summon->CastSpell(summon, SPELL_RISEN_WITCH_DOCTOR_SPAWN, true);
summon->SetReactState(REACT_PASSIVE);
summon->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
- summon->m_Events.AddEvent(new StartMovementEvent(me, summon), summon->m_Events.CalculateTime(5000));
+ summon->m_Events.AddEvent(new LichKingStartMovementEvent(me, summon), summon->m_Events.CalculateTime(5000));
break;
case NPC_ICE_SPHERE:
{
@@ -1690,7 +1690,7 @@ class npc_strangulate_vehicle : public CreatureScript
switch (eventId)
{
case EVENT_TELEPORT:
- me->GetMotionMaster()->Clear(false);
+ me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
if (TempSummon* summ = me->ToTempSummon())
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index d9c1c8e1128..21d6dfa30ee 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -1292,7 +1292,7 @@ struct npc_argent_captainAI : public ScriptedAI
me->SetReactState(REACT_DEFENSIVE);
FollowAngle = me->GetAbsoluteAngle(crok) + me->GetOrientation();
FollowDist = me->GetDistance2d(crok);
- me->GetMotionMaster()->MoveFollow(crok, FollowDist, FollowAngle, MOTION_SLOT_IDLE);
+ me->GetMotionMaster()->MoveFollow(crok, FollowDist, FollowAngle, MOTION_SLOT_DEFAULT);
}
me->setActive(true);
@@ -1320,7 +1320,7 @@ struct npc_argent_captainAI : public ScriptedAI
void EnterEvadeMode(EvadeReason why) override
{
// not yet following
- if (me->GetMotionMaster()->GetMotionSlotType(MOTION_SLOT_IDLE) != CHASE_MOTION_TYPE || IsUndead)
+ if (me->GetMotionMaster()->GetCurrentMovementGeneratorType(MOTION_SLOT_DEFAULT) != FOLLOW_MOTION_TYPE || IsUndead)
{
ScriptedAI::EnterEvadeMode(why);
return;
@@ -1331,9 +1331,9 @@ struct npc_argent_captainAI : public ScriptedAI
if (!me->GetVehicle())
{
- me->GetMotionMaster()->Clear(false);
+ me->GetMotionMaster()->Clear();
if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CROK_SCOURGEBANE)))
- me->GetMotionMaster()->MoveFollow(crok, FollowDist, FollowAngle, MOTION_SLOT_IDLE);
+ me->GetMotionMaster()->MoveFollow(crok, FollowDist, FollowAngle, MOTION_SLOT_DEFAULT);
}
Reset();
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 61faa846a85..2c5456229e5 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -502,7 +502,7 @@ public:
DummyEntryCheckPredicate pred;
summons.DoAction(ACTION_DELAYED_DESPAWN, pred);
Talk(SAY_END_P_TWO);
- me->GetMotionMaster()->Clear(false);
+ me->GetMotionMaster()->Clear();
me->StopMoving();
if (me->GetPositionZ() > 300.0f)
events.ScheduleEvent(EVENT_DELAY_MOVE_TO_DESTROY_P, 5*IN_MILLISECONDS, 0, PHASE_TWO);
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index 997ff31527e..c916d93fefc 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -419,21 +419,21 @@ public:
}
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- if (uiDamage > me->GetHealth())
+ if (damage >= me->GetHealth())
{
me->UpdateEntry(NPC_BRITTLE_GOLEM);
me->SetHealth(1);
- uiDamage = 0;
+ damage = 0;
me->RemoveAllAuras();
me->AttackStop();
- // me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); //Set in DB
- // me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); //Set in DB
+ // me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); // Set in DB
+ // me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // Set in DB
if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
- me->GetMotionMaster()->MovementExpired();
+
+ me->GetMotionMaster()->Clear();
m_bIsFrozen = true;
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index 671b781f86b..0da39233faa 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -357,7 +357,7 @@ class boss_algalon_the_observer : public CreatureScript
Movement::MoveSplineInit init(me);
init.MoveTo(AlgalonLandPos.GetPositionX(), AlgalonLandPos.GetPositionY(), AlgalonLandPos.GetPositionZ(), false);
init.SetOrientationFixed(true);
- me->GetMotionMaster()->LaunchMoveSpline(std::move(init), POINT_ALGALON_LAND, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ me->GetMotionMaster()->LaunchMoveSpline(std::move(init), POINT_ALGALON_LAND, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
events.Reset();
events.SetPhase(PHASE_ROLE_PLAY);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index f26ddedd8f3..303cdd85a0e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -1133,7 +1133,7 @@ class boss_aerial_command_unit : public CreatureScript
if (events.IsInPhase(PHASE_AERIAL_COMMAND_UNIT))
{
- me->GetMotionMaster()->Clear(true);
+ me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MovePoint(WP_AERIAL_P4_POS, VehicleRelocation[WP_AERIAL_P4_POS]);
}
else if (events.IsInPhase(PHASE_VOL7RON))
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index ae3d1b6eb01..fd96955add0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -337,7 +337,7 @@ struct boss_razorscale : public BossAI
init.MovebyPath(path, 0);
init.SetCyclic();
init.SetFly();
- me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ me->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
}
bool CanAIAttack(Unit const* target) const override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 0f47cd67419..141c005e5d6 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -660,7 +660,7 @@ class boss_thorim : public CreatureScript
Movement::MoveSplineInit init(summon);
init.MovebyPath(path);
- summon->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_SLOT_ACTIVE, POINT_MOTION_TYPE);
+ summon->GetMotionMaster()->LaunchMoveSpline(std::move(init), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE);
break;
}
case NPC_DARK_RUNE_CHAMPION:
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index c1f8dae9145..2a392030b0f 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -256,7 +256,7 @@ class npc_vrykul_skeleton : public CreatureScript
events.ScheduleEvent(EVENT_DECREPIFY, urand(4, 6) * IN_MILLISECONDS);
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -273,7 +273,7 @@ class npc_vrykul_skeleton : public CreatureScript
events.Reset();
events.ScheduleEvent(EVENT_RESURRECT, urand(18, 22) * IN_MILLISECONDS);
- me->GetMotionMaster()->MovementExpired(false);
+ me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
}
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index 0bb6b26baff..a90cdbd42c5 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -362,7 +362,7 @@ public:
Movement::MoveSplineInit init(who);
init.DisableTransportPathTransformations();
init.MoveTo(0.3320355f, 0.05355075f, 5.196949f, false);
- who->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_VEHICLE_BOARD, MOTION_SLOT_CONTROLLED);
+ who->GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_VEHICLE_BOARD, MOTION_PRIORITY_HIGHEST);
me->setActive(true);
me->SetFarVisible(true);
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 6af5ea78700..e7aa7ab9fde 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -721,7 +721,7 @@ public:
owner->RemoveAllAurasExceptType(SPELL_AURA_DUMMY);
owner->CombatStop(true);
owner->GetThreatManager().ClearAllThreat();
- owner->GetMotionMaster()->Clear(false);
+ owner->GetMotionMaster()->Clear();
owner->GetMotionMaster()->MoveFollow(GetCaster(), 4.0f, 0.0f);
owner->CastSpell(owner, SPELL_SUBDUED, true);
GetCaster()->CastSpell(GetCaster(), SPELL_DRAKE_HATCHLING_SUBDUED, true);
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index d414a82bcd7..c85840a0e80 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -900,7 +900,7 @@ public:
{
_finished = false;
me->SetVisible(true);
- me->GetMotionMaster()->Clear(true);
+ me->GetMotionMaster()->Clear();
}
void DoAction(int32 /*action*/) override