236 me->GetMotionMaster()->MovementExpired();
237 me->GetMotionMaster()->MoveChase(
me->GetVictim());
271 me->GetMotionMaster()->MoveIdle();
357 pos.
Relocate(marrowgarAI->GetLastColdflamePosition());
364 me->SetOrientation(ang);
372 me->DespawnOrUnsummon();
377 me->SetOrientation(ang);
393 me->GetNearPosition(newPos, 5.0f, 0.0f);
427 if (
Unit* trapped = summ->GetSummoner())
430 me->DespawnOrUnsummon();
435 me->DespawnOrUnsummon();
457 init.
MoveTo(-0.02206125f, -0.02132235f, 5.514783f,
false);
504 targets.push_back(target);
538 for (
uint8 i = 0; i < 4; ++i)
601 for (
uint32 i = 0; i < 3; ++i)
626 std::list<Unit*> targets;
632 for (std::list<Unit*>::const_iterator itr = targets.begin(); itr != targets.end(); ++itr, ++i)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_APPLY_AURA
@ TARGET_UNIT_DEST_AREA_ENEMY
@ SPELL_FAILED_NO_VALID_TARGETS
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraCheckAreaTargetFn(F)
#define SF_UNARY_FUNCTION
@ SPELL_COLDFLAME_BONE_STORM
@ SPELL_COLDFLAME_PASSIVE
@ SPELL_BONE_SPIKE_GRAVEYARD
void AddSC_boss_lord_marrowgar()
boss_lord_marrowgar::boss_lord_marrowgarAI MarrowgarAI
@ POINT_TARGET_BONESTORM_PLAYER
uint32 const BoneSpikeSummonId[3]
@ ACTION_CLEAR_SPIKE_IMMUNITIES
@ EVENT_COLDFLAME_TRIGGER
@ EVENT_BONE_SPIKE_GRAVEYARD
@ EVENT_ENABLE_BONE_SLICE
SpellInfo const * GetSpellInfo() const
WorldObject * GetOwner() const
HookList< CheckAreaTargetHandler > DoCheckAreaTarget
bool operator()(Unit *unit) const
BoneSpikeTargetSelector(UnitAI *ai)
InstanceScript *const instance
BossAI(Creature *creature, uint32 bossId)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureScript(const char *name)
void DisableTransportPathTransformations()
void MoveTo(const Vector3 &destination, bool generatePath=true, bool forceDestination=false)
static Player * GetPlayer(WorldObject const &, uint64 guid)
HookList< CheckCastHandler > OnCheckCast
SpellInfo const * GetSpellInfo()
HookList< HitHandler > OnHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
HookList< CastHandler > BeforeCast
void SetHitDamage(int32 damage)
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellScriptLoader(const char *name)
virtual void DoAction(int32)
virtual void SetGUID(uint64, int32=0)
void SelectTargetList(std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
void DoCastAOE(uint32 spellId, bool triggered=false)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Aura * GetAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
float GetSpeedRate(UnitMoveType mtype) const
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Vehicle * GetVehicleKit() const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareSpellScript(spell_marrowgar_bone_slice_SpellScript)
void CountTargets(std::list< WorldObject * > &targets)
void ClearSpikeImmunities()
spell_marrowgar_bone_slice()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_marrowgar_bone_spike_graveyard_SpellScript)
void HandleSpikes(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) OVERRIDE
SpellCastResult CheckCast()
SpellScript * GetSpellScript() const OVERRIDE
spell_marrowgar_bone_spike_graveyard()
PrepareSpellScript(spell_marrowgar_bone_storm_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_marrowgar_bone_storm()
void HandleScriptEffect(SpellEffIndex effIndex)
PrepareSpellScript(spell_marrowgar_coldflame_SpellScript)
void SelectTarget(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_marrowgar_coldflame_SpellScript)
void HandleScriptEffect(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_marrowgar_coldflame_bonestorm()
bool CanBeAppliedOn(Unit *target)
PrepareAuraScript(spell_marrowgar_coldflame_damage_AuraScript)
spell_marrowgar_coldflame_damage()
AuraScript * GetAuraScript() const OVERRIDE
spell_marrowgar_coldflame()
SpellScript * GetSpellScript() const OVERRIDE
CreatureAI * GetIcecrownCitadelAI(Creature *creature)
float GetAngle(Position const *pos) const
float GetExactDist2d(const float x, const float y) const
static float NormalizeOrientation(float o)
float GetPositionX() const
float GetPositionY() const
void Relocate(float x, float y)
void SetCombatMovement(bool allowMovement)
const T & RAID_MODE(const T &normal10, const T &normal25) const
ScriptedAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
std::vector< uint64 > _boneSpikeImmune
Position const * GetLastColdflamePosition() const
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Position _coldflameLastPos
void MovementInform(uint32 type, uint32 id) OVERRIDE
boss_lord_marrowgarAI(Creature *creature)
void MoveInLineOfSight(Unit *who) OVERRIDE
void SetGUID(uint64 guid, int32 type) OVERRIDE
void JustReachedHome() OVERRIDE
void EnterCombat(Unit *) OVERRIDE
uint64 GetGUID(int32 type) const OVERRIDE
void DoAction(int32 action) OVERRIDE
void KilledUnit(Unit *victim) OVERRIDE
uint32 _boneStormDuration
npc_bone_spikeAI(Creature *creature)
void KilledUnit(Unit *victim) OVERRIDE
void IsSummonedBy(Unit *summoner) OVERRIDE
void PassengerBoarded(Unit *passenger, int8, bool apply) OVERRIDE
== Fields =======================================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
npc_coldflameAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void IsSummonedBy(Unit *owner) OVERRIDE