36 {2542.3f, -2984.1f, 241.49f, 5.362f},
37 {2547.6f, -2999.4f, 241.34f, 5.049f},
38 {2542.9f, -3015.0f, 241.35f, 4.654f},
40 {2498.3f, -2961.8f, 241.28f, 3.267f},
41 {2487.7f, -2959.2f, 241.28f, 2.890f},
42 {2469.4f, -2947.6f, 241.28f, 2.576f},
44 {2553.8f, -2968.4f, 241.33f, 5.757f},
45 {2564.3f, -2972.5f, 241.33f, 5.890f},
46 {2583.9f, -2971.67f, 241.35f, 0.008f},
48 {2534.5f, -2921.7f, 241.53f, 1.363f},
49 {2523.5f, -2902.8f, 241.28f, 2.095f},
50 {2517.8f, -2896.6f, 241.28f, 2.315f},
55#define SPELL_PRIMARY(i) RAID_MODE(SPELL_PRIMARY_N[i], SPELL_PRIMARY_H[i])
58#define SPELL_SECONDARY(i) RAID_MODE(SPELL_SECONDARY_N[i], SPELL_SECONDARY_H[i])
62#define SPELL_BERSERK 26662
88 for (
uint8 i = 0; i < 4; ++i)
138 if (Thane && Lady && Baron && Sir)
216 if (
id == 2 ||
id == 5 ||
id == 8 ||
id == 11)
223 if (eventStarter &&
me->IsValidAttackTarget(eventStarter))
233 me->GetMotionMaster()->Clear();
234 me->GetMotionMaster()->MoveIdle();
247 if (
me->GetVictim() &&
me->GetDistanceOrder(who,
me->GetVictim()) &&
me->IsValidAttackTarget(who))
249 me->getThreatManager().modifyThreatPercent(
me->GetVictim(), -100);
250 me->AddThreat(who, 1000000.0f);
275 me->Attack(who,
false);
@ ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
#define AuraEffectApplyFn(F, I, N, M)
const uint32 SPELL_PUNISH[]
const uint32 SPELL_MARK[]
#define SPELL_SECONDARY(i)
const uint32 SPELL_PRIMARY_H[]
const uint32 SPELL_PRIMARY_N[]
const Position WaypointPositions[12]
const uint32 SPELL_SECONDARY_H[]
const uint32 NPC_HORSEMEN[]
const uint32 SPELL_SECONDARY_N[]
void AddSC_boss_four_horsemen()
HookList< EffectApplyHandler > AfterEffectApply
uint8 GetStackAmount() const
InstanceScript *const instance
BossAI(Creature *creature, uint32 bossId)
virtual void MoveInLineOfSight(Unit *)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void Respawn(bool force=false)
CreatureScript(const char *name)
SpellScriptLoader(const char *name)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
bool DoSpellAttackIfReady(uint32 spell)
void DoCastVictim(uint32 spellId, bool triggered=false)
void DoCastAOE(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
CreatureAI * GetAI(Creature *creature) const OVERRIDE
void OnApply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_four_horsemen_mark_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_four_horsemen_mark()
void JustDied(Unit *) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
bool encounterActionAttack
bool DoEncounteraction(Unit *who, bool attack, bool reset, bool checkAllDead)
bool encounterActionReset
void EnterCombat(Unit *) OVERRIDE
void MovementInform(uint32 type, uint32 id) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void BeginFourHorsemenMovement()
uint64 uiEventStarterGUID
void MoveInLineOfSight(Unit *who) OVERRIDE
boss_four_horsemenAI(Creature *creature)
void AttackStart(Unit *who) OVERRIDE
void SelectNearestTarget(Unit *who)