TrinityCore
zone_mulgore.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "ScriptMgr.h"
19#include "MotionMaster.h"
20#include "ScriptedCreature.h"
21
22/*######
23## npc_eagle_spirit
24######*/
25
27{
29 SPELL_SPIRIT_FORM = 69324
30};
31
33{
34 { -2884.155f, -71.08681f, 242.0678f },
35 { -2720.592f, -111.0035f, 242.5955f },
36 { -2683.951f, -382.9010f, 231.1792f },
37 { -2619.148f, -484.9288f, 231.1792f },
38 { -2543.868f, -525.3333f, 231.1792f },
39 { -2465.321f, -502.4896f, 190.7347f },
40 { -2343.872f, -401.8281f, -8.320873f }
41};
42size_t const EagleSpiritflightPathSize = std::extent<decltype(EagleSpiritflightPath)>::value;
43
45{
46public:
47 npc_eagle_spirit() : CreatureScript("npc_eagle_spirit") { }
48
50 {
51 npc_eagle_spirit_AI(Creature* creature) : ScriptedAI(creature) { }
52
53 void PassengerBoarded(Unit* /*who*/, int8 /*seatId*/, bool apply) override
54 {
55 if (!apply)
56 return;
57
60 }
61
62 void MovementInform(uint32 type, uint32 pointId) override
63 {
64 if (type == EFFECT_MOTION_TYPE && pointId == EagleSpiritflightPathSize)
65 {
67 }
68 }
69 };
70
71 CreatureAI* GetAI(Creature* creature) const override
72 {
73 return new npc_eagle_spirit_AI(creature);
74 }
75};
76
78{
79 new npc_eagle_spirit();
80}
int8_t int8
Definition: Define.h:140
uint32_t uint32
Definition: Define.h:142
@ EFFECT_MOTION_TYPE
Creature *const me
Definition: CreatureAI.h:61
void MoveSmoothPath(uint32 pointId, Position const *pathPoints, size_t pathSize, bool walk=false, bool fly=false)
SpellCastResult DoCast(uint32 spellId)
Definition: UnitAI.cpp:89
Definition: Unit.h:627
MotionMaster * GetMotionMaster()
Definition: Unit.h:1652
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Definition: Object.cpp:2896
CreatureAI * GetAI(Creature *creature) const override
void apply(T *val)
Definition: ByteConverter.h:41
void PassengerBoarded(Unit *, int8, bool apply) override
== Fields =======================================
void MovementInform(uint32 type, uint32 pointId) override
EagleSpirit
@ SPELL_SPIRIT_FORM
@ SPELL_EJECT_ALL_PASSENGERS
void AddSC_mulgore()
Position const EagleSpiritflightPath[]
size_t const EagleSpiritflightPathSize