diff options
| -rw-r--r-- | sql/updates/world/2012_11_10_00_world_utgarde.sql | 2 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp | 11 |
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); } } |
