91 {
NPC_BJORN_VISUAL,
SAY_SUMMON_BJORN, 404.379f, -335.335f, 104.756f, 413.594f, -335.408f, 107.995f, 3.157f,
EVENT_BJORN_SPIRIT_FOUNT},
92 {
NPC_HALDOR_VISUAL,
SAY_SUMMON_HALDOR, 380.813f, -335.069f, 104.756f, 369.994f, -334.771f, 107.995f, 6.232f,
EVENT_HALDOR_SPIRIT_STRIKE},
93 {
NPC_RANULF_VISUAL,
SAY_SUMMON_RANULF, 381.546f, -314.362f, 104.756f, 370.841f, -314.426f, 107.995f, 6.232f,
EVENT_RANULF_SPIRIT_BURST},
108 for (
int i = 0; i < 4; ++i)
110 for (
int i = 0; i < 3; ++i)
112 int r = i + (
rand32() % (4 - i));
173 ancestor->SetUninteractible(
true);
174 ancestor->SetDisableGravity(
true);
264 for (
uint8 i = 0; i < 4; ++i)
290 temp->DisappearAndDie();
292 CreatureGUID.
Clear();
@ TEMPSUMMON_CORPSE_DESPAWN
Milliseconds randtime(Milliseconds min, Milliseconds max)
#define RegisterSpellScript(spell_script)
@ UNIT_FLAG_NON_ATTACKABLE
@ EVENT_GROUP_BASE_SPELLS
static ActiveBoatStruct ActiveBoat[4]
@ SPELL_SCREAMS_OF_THE_DEAD
@ SPELL_SUMMON_AVENGING_SPIRIT
@ SPELL_CHANNEL_SPIRIT_TO_YMIRON
@ SPELL_CHANNEL_YMIRON_TO_SPIRIT
@ SPELL_SUMMON_SPIRIT_FOUNT
@ SPELL_ANCESTORS_VENGEANCE
@ EVENT_TORGYN_SUMMON_AVENGING_SPIRITS
@ EVENT_BJORN_SPIRIT_FOUNT
@ EVENT_ANCESTORS_VENGEANCE
@ EVENT_RANULF_SPIRIT_BURST
@ EVENT_HALDOR_SPIRIT_STRIKE
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
void SetReactState(ReactStates st)
void SetDisplayId(uint32 displayId, bool setNative=false) override
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
HookList< HitHandler > OnHit
Unit * GetHitUnit() const
void SetHitDamage(int32 damage)
void Summon(Creature const *summon)
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
bool OnCheck(Player *, Unit *target) override
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
T const & DUNGEON_MODE(T const &normal5, T const &heroic10) const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
uint32 GetData(uint32 type) const override
void JustSummoned(Creature *summon) override
void MovementInform(uint32 type, uint32 pointId) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
uint32 HealthAmountMultipler
void JustDied(Unit *) override
boss_ymiron(Creature *creature)
void DespawnBoatGhosts(ObjectGuid &CreatureGUID)
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
ObjectGuid SpiritFountGUID
void ExecuteEvent(uint32 eventId) override
void JustEngagedWith(Unit *who) override
uint32 HealthAmountModifier
ObjectGuid ActiveAncestorGUID
void KilledUnit(Unit *who) override
#define RegisterUtgardePinnacleCreatureAI(ai_name)