diff options
-rw-r--r-- | sql/updates/1073_world_scripts.sql | 1 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp | 120 |
2 files changed, 120 insertions, 1 deletions
diff --git a/sql/updates/1073_world_scripts.sql b/sql/updates/1073_world_scripts.sql new file mode 100644 index 00000000000..040fe88ea8e --- /dev/null +++ b/sql/updates/1073_world_scripts.sql @@ -0,0 +1 @@ +update creature_template set scriptname = 'npc_plains_vision' where entry = 2983;
\ No newline at end of file diff --git a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp index 51bdf5c3af0..cde34fb11a0 100644 --- a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp +++ b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp @@ -17,16 +17,18 @@ /* ScriptData SDName: Mulgore SD%Complete: 100 -SDComment: Support for quest: 11129 +SDComment: Support for quest: 11129, 772 SDCategory: Mulgore EndScriptData */ /* ContentData npc_skorn_whitecloud npc_kyle_frenzied +npc_plains_vision EndContentData */ #include "precompiled.h" +#include "../../npc/npc_escortAI.h" /*###### # npc_skorn_whitecloud @@ -158,6 +160,117 @@ CreatureAI* GetAI_npc_kyle_frenzied(Creature *_Creature) return new npc_kyle_frenziedAI (_Creature); } +/*##### +# npc_plains_vision +######*/ + +float wp_plain_vision[50][3] = +{ + {-2226.32, -408.095, -9.36235}, + {-2203.04, -437.212, -5.72498}, + {-2163.91, -457.851, -7.09049}, + {-2123.87, -448.137, -9.29591}, + {-2104.66, -427.166, -6.49513}, + {-2101.48, -422.826, -5.3567}, + {-2097.56, -417.083, -7.16716}, + {-2084.87, -398.626, -9.88973}, + {-2072.71, -382.324, -10.2488}, + {-2054.05, -356.728, -6.22468}, + {-2051.8, -353.645, -5.35791}, + {-2049.08, -349.912, -6.15723}, + {-2030.6, -310.724, -9.59302}, + {-2002.15, -249.308, -10.8124}, + {-1972.85, -195.811, -10.6316}, + {-1940.93, -147.652, -11.7055}, + {-1888.06, -81.943, -11.4404}, + {-1837.05, -34.0109, -12.258}, + {-1796.12, -14.6462, -10.3581}, + {-1732.61, -4.27746, -10.0213}, + {-1688.94, -0.829945, -11.7103}, + {-1681.32, 13.0313, -9.48056}, + {-1677.04, 36.8349, -7.10318}, + {-1675.2, 68.559, -8.95384}, + {-1676.57, 89.023, -9.65104}, + {-1678.16, 110.939, -10.1782}, + {-1677.86, 128.681, -5.73869}, + {-1675.27, 144.324, -3.47916}, + {-1671.7, 163.169, -1.23098}, + {-1666.61, 181.584, 5.26145}, + {-1661.51, 196.154, 8.95252}, + {-1655.47, 210.811, 8.38727}, + {-1647.07, 226.947, 5.27755}, + {-1621.65, 232.91, 2.69579}, + {-1600.23, 237.641, 2.98539}, + {-1576.07, 242.546, 4.66541}, + {-1554.57, 248.494, 6.60377}, + {-1547.53, 259.302, 10.6741}, + {-1541.7, 269.847, 16.4418}, + {-1539.83, 278.989, 21.0597}, + {-1540.16, 290.219, 27.8247}, + {-1538.99, 298.983, 34.0032}, + {-1540.38, 307.337, 41.3557}, + {-1536.61, 314.884, 48.0179}, + {-1532.42, 323.277, 55.6667}, + {-1528.77, 329.774, 61.1525}, + {-1525.65, 333.18, 63.2161}, + {-1517.01, 350.713, 62.4286}, + {-1511.39, 362.537, 62.4539}, + {-1508.68, 366.822, 62.733} +}; + +struct TRINITY_DLL_DECL npc_plains_visionAI : public ScriptedAI +{ + npc_plains_visionAI(Creature *c) : ScriptedAI(c) {Reset();} + + bool newWaypoint; + uint8 WayPointId; + uint8 amountWP; + + void Reset() + { + WayPointId = 0; + newWaypoint = true; + amountWP = 49; + } + + void Aggro(Unit* who){} + + void MovementInform(uint32 type, uint32 id) + { + if(type != POINT_MOTION_TYPE) + return; + + if (id < amountWP) + { + ++WayPointId; + newWaypoint = true; + } + else + { + m_creature->setDeathState(JUST_DIED); + m_creature->RemoveCorpse(); + } + } + + void UpdateAI(const uint32 diff) + { + if (newWaypoint) + { + m_creature->GetMotionMaster()->MovePoint(WayPointId, wp_plain_vision[WayPointId][0], wp_plain_vision[WayPointId][1], wp_plain_vision[WayPointId][2]); + newWaypoint = false; + } + } +}; + +CreatureAI* GetAI_npc_plains_vision(Creature *_Creature) +{ + return new npc_plains_visionAI (_Creature); +} + +/*##### +# +######*/ + void AddSC_mulgore() { Script *newscript; @@ -172,4 +285,9 @@ void AddSC_mulgore() newscript->Name="npc_kyle_frenzied"; newscript->GetAI = &GetAI_npc_kyle_frenzied; newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "npc_plains_vision"; + newscript->GetAI = &GetAI_npc_plains_vision; + newscript->RegisterSelf(); } |