45#define SPELL_HATEFUL_STRIKE RAID_MODE(28308,59192)
119 auto it = list.begin(), end = list.end();
126 if ((*it)->GetVictim() != currentVictim)
128 if ((!secondThreat ||
Is25ManRaid()) && (++it != end && (*it)->IsAvailable()))
130 if ((*it)->GetVictim() != currentVictim)
131 (secondThreat ? thirdThreat : secondThreat) = *it;
132 if (!thirdThreat &&
Is25ManRaid() && (++it != end && (*it)->IsAvailable()))
136 Unit* pHatefulTarget =
nullptr;
138 pHatefulTarget = currentVictim;
139 else if (!thirdThreat)
140 pHatefulTarget = secondThreat->
GetVictim();
std::chrono::seconds Seconds
Seconds shorthand typedef.
@ ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT
@ SPELL_HATEFUL_STRIKE_PRIMER
void AddSC_boss_patchwerk()
#define SPELL_HATEFUL_STRIKE
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void TriggerGameEvent(uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr) override
Unit * GetCurrentVictim()
std::vector< ThreatReference * > GetModifiableThreatList()
void AddThreat(float amount)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
ThreatManager & GetThreatManager()
#define RegisterNaxxramasCreatureAI(ai_name)
bool HealthAbovePct(uint32 pct) const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
boss_patchwerk(Creature *creature)
void JustEngagedWith(Unit *who) override
void KilledUnit(Unit *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override