aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorRushor <Rushor@users.noreply.github.com>2017-01-20 14:16:47 +0100
committerjackpoz <giacomopoz@gmail.com>2017-01-20 14:16:47 +0100
commita3c6880579f3326088ecbe5b8c08c4b75ed91a59 (patch)
treef2c9356f8b40dc778f14192682fca5c0b3a128bf /src/server/scripts
parent23f76b563f3002e1557eb5dd75e0d26bd22357ab (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.cpp48
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