aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_11_10_00_world_utgarde.sql2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp11
2 files changed, 12 insertions, 1 deletions
diff --git a/sql/updates/world/2012_11_10_00_world_utgarde.sql b/sql/updates/world/2012_11_10_00_world_utgarde.sql
index 3ff985cb50b..90c9cd80b83 100644
--- a/sql/updates/world/2012_11_10_00_world_utgarde.sql
+++ b/sql/updates/world/2012_11_10_00_world_utgarde.sql
@@ -9,7 +9,7 @@ INSERT INTO `smart_scripts`(`entryorguid`,`source_type`,`event_type`,`event_para
-- Template updates for proto drake and rider
UPDATE `creature_template` SET `AIName`='',`ScriptName`='npc_enslaved_proto_drake' WHERE `entry`=24083; -- Proto drake non heroic
-UPDATE `creature_template` SET `InhabitType`=3 WHERE `entry` IN (24849,31676); -- Proto drake rider
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (24849,31676); -- Proto drake rider
-- Waypoints for core script
DELETE FROM `waypoint_data` WHERE `id`=125946;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index 885cf410032..a982032e0ee 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -246,6 +246,8 @@ enum EnslavedProtoDrake
SPELL_REND = 43931,
SPELL_FLAME_BREATH = 50653,
SPELL_KNOCK_AWAY = 49722,
+
+ POINT_LAST = 5,
};
const Position protodrakeCheckPos = { 206.24f, -190.28f, 200.11f };
@@ -270,11 +272,20 @@ public:
_events.ScheduleEvent(EVENT_KNOCKAWAY, urand(3500, 6000));
}
+ void MovementInform(uint32 type, uint32 id)
+ {
+ if (type == WAYPOINT_MOTION_TYPE && id == POINT_LAST)
+ {
+ me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
+ }
+ }
+
void SetData(uint32 type, uint32 data)
{
if (type == TYPE_PROTODRAKE_AT && data == DATA_PROTODRAKE_MOVE && !_setData && me->GetDistance(protodrakeCheckPos) < 5.0f)
{
_setData = true;
+ me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
me->GetMotionMaster()->MovePath(PATH_PROTODRAKE, false);
}
}