aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_01_06_01_world_waypoints.sql18
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp51
2 files changed, 30 insertions, 39 deletions
diff --git a/sql/updates/world/2013_01_06_01_world_waypoints.sql b/sql/updates/world/2013_01_06_01_world_waypoints.sql
new file mode 100644
index 00000000000..a460d33b086
--- /dev/null
+++ b/sql/updates/world/2013_01_06_01_world_waypoints.sql
@@ -0,0 +1,18 @@
+-- Pathing for Kirtonos the Herald Entry: 10506
+SET @PATH := 105061;
+DELETE FROM `waypoint_data` WHERE `id`IN (@PATH,@PATH+1,@PATH+2);
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,316.7087,71.26834,104.5843,0,0,0,100,0),
+(@PATH,2,321.1605,72.80973,104.6676,0,0,0,100,0),
+(@PATH,3,332.3713,77.98991,105.8621,0,0,0,100,0),
+(@PATH,4,333.3254,86.60159,106.6399,0,0,0,100,0),
+(@PATH,5,334.1263,101.6836,106.8343,0,0,0,100,0),
+(@PATH,6,331.0458,114.5935,106.3621,0,0,0,100,0),
+(@PATH,7,329.5439,126.7019,106.1399,0,0,0,100,0),
+(@PATH,8,335.2471,136.546,105.7232,0,0,0,100,0),
+(@PATH,9,343.21,139.9459,107.6399,0,0,0,100,0),
+(@PATH,10,364.3288,140.9012,109.9454,0,0,0,100,0),
+(@PATH,11,362.676,115.6384,110.3065,0,0,0,100,0),
+(@PATH,12,341.7896,91.9439,107.1676,0,0,0,100,0),
+(@PATH,13,313.4945,93.45945,104.0565,0,0,0,100,0),
+(@PATH,14,306.3839,93.61675,104.0565,0,0,0,100,0);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
index 4488f270741..15c7a10a125 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
@@ -33,9 +33,7 @@ enum Spells
SPELL_WING_FLAP = 12882,
SPELL_PIERCE_ARMOR = 6016,
SPELL_DISARM = 8379,
-
SPELL_KIRTONOS_TRANSFORM = 16467,
-
SPELL_SHADOW_BOLT = 17228,
SPELL_CURSE_OF_TONGUES = 12889,
SPELL_DOMINATE_MIND = 14515
@@ -59,33 +57,11 @@ enum Events
EVENT_KIRTONOS_TRANSFORM = 14
};
-enum Points
-{
- MAX_KIRTONOS_WAYPOINTS_INTRO = 14,
- POINT_KIRTONOS_LAND = 14
-};
-
enum Misc
{
- WEAPON_KIRTONOS_STAFF = 11365
-};
-
-Position const kirtonosIntroWaypoint[MAX_KIRTONOS_WAYPOINTS_INTRO] =
-{
- {316.7087f, 71.26834f, 104.5843f, 0.0f},
- {321.1605f, 72.80973f, 104.6676f, 0.0f},
- {332.3713f, 77.98991f, 105.8621f, 0.0f},
- {333.3254f, 86.60159f, 106.6399f, 0.0f},
- {334.1263f, 101.6836f, 106.8343f, 0.0f},
- {331.0458f, 114.5935f, 106.3621f, 0.0f},
- {329.5439f, 126.7019f, 106.1399f, 0.0f},
- {335.2471f, 136.5460f, 105.7232f, 0.0f},
- {343.2100f, 139.9459f, 107.6399f, 0.0f},
- {364.3288f, 140.9012f, 109.9454f, 0.0f},
- {362.6760f, 115.6384f, 110.3065f, 0.0f},
- {341.7896f, 91.94390f, 107.1676f, 0.0f},
- {313.4945f, 93.45945f, 104.0565f, 0.0f},
- {306.3839f, 93.61675f, 104.0565f, 0.0f},
+ WEAPON_KIRTONOS_STAFF = 11365,
+ POINT_KIRTONOS_LAND = 13,
+ KIRTONOS_PATH = 105061
};
class boss_kirtonos_the_herald : public CreatureScript
@@ -158,12 +134,13 @@ class boss_kirtonos_the_herald : public CreatureScript
BossAI::JustSummoned(summon);
}
- void MovementInform(uint32 movementType, uint32 pointId)
+ void MovementInform(uint32 type, uint32 id)
{
- if (movementType != POINT_MOTION_TYPE)
- return;
-
- _currentPoint = pointId + 1;
+ if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
+ {
+ _introTimer = 1500;
+ _introEvent = INTRO_2;
+ }
}
void UpdateAI(uint32 const diff)
@@ -175,13 +152,8 @@ class boss_kirtonos_the_herald : public CreatureScript
switch (_introEvent)
{
case INTRO_1:
- if (_currentPoint < POINT_KIRTONOS_LAND)
- me->GetMotionMaster()->MovePoint(_currentPoint, kirtonosIntroWaypoint[_currentPoint]);
- else
- {
- _introTimer = 1000;
- _introEvent = INTRO_2;
- }
+ me->GetMotionMaster()->MovePath(KIRTONOS_PATH,false);
+ _introEvent = 0;
break;
case INTRO_2:
me->SetWalk(true);
@@ -199,6 +171,7 @@ class boss_kirtonos_the_herald : public CreatureScript
case INTRO_4:
if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
brazier->SetGoState(GO_STATE_READY);
+ me->SetWalk(true);
me->SetDisableGravity(false);
DoCast(me, SPELL_KIRTONOS_TRANSFORM);
_introTimer = 1000;