diff options
| author | Rushor <Rushor@users.noreply.github.com> | 2017-01-20 14:16:47 +0100 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2017-01-20 14:16:47 +0100 |
| commit | a3c6880579f3326088ecbe5b8c08c4b75ed91a59 (patch) | |
| tree | f2c9356f8b40dc778f14192682fca5c0b3a128bf /src/server/scripts | |
| parent | 23f76b563f3002e1557eb5dd75e0d26bd22357ab (diff) | |
Revert "[3.3.5][master] Core/Movement: Smooth movement #13467 (#18020)" (#18888)
This reverts commit 28050f338dfc66e0c40b6a3915bf96e38e0613e5.
Conflicts:
src/server/game/AI/SmartScripts/SmartAI.cpp
src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp | 48 |
1 files changed, 29 insertions, 19 deletions
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 1d87edcfd31..3f9f81b5158 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 @@ -18,7 +18,6 @@ #include "ObjectMgr.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "ScriptedEscortAI.h" #include "SpellScript.h" #include "PassiveAI.h" #include "GameObjectAI.h" @@ -870,15 +869,11 @@ class npc_brann_bronzebeard_algalon : public CreatureScript public: npc_brann_bronzebeard_algalon() : CreatureScript("npc_brann_bronzebeard_algalon") { } - struct npc_brann_bronzebeard_algalonAI : public npc_escortAI + struct npc_brann_bronzebeard_algalonAI : public CreatureAI { - npc_brann_bronzebeard_algalonAI(Creature* creature) : npc_escortAI(creature) + npc_brann_bronzebeard_algalonAI(Creature* creature) : CreatureAI(creature) { - SetDespawnAtEnd(false); - SetDespawnAtFar(false); - - for (uint8 i = 0; i < MAX_BRANN_WAYPOINTS_INTRO; ++i) - AddWaypoint(i, BrannIntroWaypoint[i].GetPositionX(), BrannIntroWaypoint[i].GetPositionY(), BrannIntroWaypoint[i].GetPositionZ()); + _currentPoint = 0; } void DoAction(int32 action) override @@ -886,12 +881,14 @@ class npc_brann_bronzebeard_algalon : public CreatureScript switch (action) { case ACTION_START_INTRO: + _currentPoint = 0; _events.Reset(); - Start(false, true); + me->SetWalk(false); + _events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1); break; case ACTION_FINISH_INTRO: Talk(SAY_BRANN_ALGALON_INTRO_2); - SetEscortPaused(false); + _events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1); break; case ACTION_OUTRO: me->GetMotionMaster()->MovePoint(POINT_BRANN_OUTRO, BrannOutroPos[1]); @@ -901,27 +898,38 @@ class npc_brann_bronzebeard_algalon : public CreatureScript } } - void WaypointReached(uint32 pointId) override + void MovementInform(uint32 movementType, uint32 pointId) override { + if (movementType != POINT_MOTION_TYPE) + return; + + uint32 delay = 1; + _currentPoint = pointId + 1; switch (pointId) { case 2: - SetEscortPaused(true); - _events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 8000); - SetRun(false); + delay = 8000; + me->SetWalk(true); break; case 5: - SetRun(true); - SetEscortPaused(true); + me->SetWalk(false); Talk(SAY_BRANN_ALGALON_INTRO_1); _events.ScheduleEvent(EVENT_SUMMON_ALGALON, 7500); - break; + return; + case 9: + me->DespawnOrUnsummon(1); + return; + case POINT_BRANN_OUTRO: + case POINT_BRANN_OUTRO_END: + return; } + + _events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, delay); } void UpdateAI(uint32 diff) override { - npc_escortAI::UpdateAI(diff); + UpdateVictim(); if (_events.Empty()) return; @@ -933,7 +941,8 @@ class npc_brann_bronzebeard_algalon : public CreatureScript switch (eventId) { case EVENT_BRANN_MOVE_INTRO: - SetEscortPaused(false); + if (_currentPoint < MAX_BRANN_WAYPOINTS_INTRO) + me->GetMotionMaster()->MovePoint(_currentPoint, BrannIntroWaypoint[_currentPoint]); break; case EVENT_SUMMON_ALGALON: if (Creature* algalon = me->GetMap()->SummonCreature(NPC_ALGALON, AlgalonSummonPos)) @@ -951,6 +960,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript private: EventMap _events; + uint32 _currentPoint; }; CreatureAI* GetAI(Creature* creature) const override |
