61#define PUNGENT_BLIGHT_HELPER RAID_MODE<uint32>(69195, 71219, 73031, 73032)
62#define INOCULATED_HELPER RAID_MODE<uint32>(69291, 72101, 72102, 72103)
105 for (
uint8 i = 0; i < 3; ++i)
151 professor->AI()->EnterEvadeMode();
212 std::list<Unit*> ranged, melee;
213 uint32 minTargets = RAID_MODE<uint32>(3, 8, 3, 8);
216 while (ranged.size() < minTargets)
222 ranged.push_back(target);
223 melee.remove(target);
229 for (std::list<Unit*>::iterator itr = ranged.begin(); itr != ranged.end(); ++itr)
277 for (
uint8 i = 0; i < 3; ++i)
337 if (festergut->IsAlive())
@ QUEST_STATUS_INCOMPLETE
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DAMAGE
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#define SpellEffectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
uint32 const gaseousBlight[3]
#define INOCULATED_HELPER
#define PUNGENT_BLIGHT_HELPER
@ SPELL_GASTRIC_EXPLOSION
@ EMOTE_WARN_PUNGENT_BLIGHT
void AddSC_boss_festergut()
uint32 const gaseousBlightVisual[3]
HookList< EffectApplyHandler > OnEffectRemove
Unit * GetUnitOwner() const
uint8 GetStackAmount() const
uint8 GetStackAmount() const
InstanceScript *const instance
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
virtual bool SetBossState(uint32 id, EncounterState state)
void DoCastSpellOnPlayers(uint32 spell, bool includePets=false, bool includeControlled=false)
virtual ObjectGuid GetGuidData(uint32 type) const override
virtual bool CheckRequiredBosses(uint32, Player const *=nullptr) const
static Creature * ToCreature(Object *o)
static Unit * ToUnit(Object *o)
static ObjectGuid GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
QuestStatus GetQuestStatus(uint32 quest_id) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
int32 GetEffectValue() const
HookList< EffectHandler > OnEffectHitTarget
SpellInfo const * GetSpellInfo() const
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
virtual uint32 GetData(uint32) const
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
void SelectTargetList(std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void setActive(bool isActiveObject)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
bool OnCheck(Player *, Unit *target) override
achievement_flu_shot_shortage()
void ExtraEffect(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
@ SPELL_ORANGE_BLIGHT_RESIDUE
@ LIGHT_S_HAMMER_TELEPORT
#define RegisterIcecrownCitadelCreatureAI(ai_name)
@ ACTION_FESTERGUT_COMBAT
@ DATA_PROFESSOR_PUTRICIDE
@ QUEST_RESIDUE_RENDEZVOUS_10
@ QUEST_RESIDUE_RENDEZVOUS_25
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
void RandomResize(C &container, std::size_t requestedSize)
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
void UpdateAI(uint32 diff) override
void JustReachedHome() override
uint32 _maxInoculatedStack
void KilledUnit(Unit *victim) override
uint32 GetData(uint32 type) const override
void SetData(uint32 type, uint32 data) override
void JustDied(Unit *) override
void EnterEvadeMode(EvadeReason why) override
void JustEngagedWith(Unit *who) override
boss_festergut(Creature *creature)
void JustEngagedWith(Unit *) override
npc_stinky_icc(Creature *creature)
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
InstanceScript * _instance