182 if (group->isLFGGroup())
224 std::vector<Creature*> trashs;
227 crea->DespawnOrUnsummon();
386 std::list<Creature*> triggers;
388 if (triggers.empty())
422 targets.push_back(target);
First const & RAND(First const &first, Second const &second, Rest const &... rest)
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
bool roll_chance_i(int chance)
#define RegisterSpellScript(spell_script)
void CloseGossipMenuFor(Player *player)
@ TARGET_UNIT_DEST_AREA_ENTRY
@ EMOTE_STATE_USE_STANDING
@ SPELL_AURA_PERIODIC_DUMMY
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
@ UNIT_FLAG_UNINTERACTIBLE
@ QUEST_YOUVE_BEEN_SERVED
@ SPELL_COLOGNE_SPILL_DAMAGE
@ SPELL_PERFUME_SPILL_DAMAGE
@ SPELL_PERMANENT_FEIGN_DEATH
@ EVENT_CRAZED_APOTHECARY
@ EVENT_CALL_CRAZED_APOTHECARY
Position const FryeMovePos
Position const BaxterMovePos
void AddSC_boss_apothecary_hummel()
HookList< EffectPeriodicHandler > OnEffectPeriodic
InstanceScript *const instance
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
bool _EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void DoZoneInCombat(Creature *creature=nullptr)
void SetImmuneToPC(bool apply) override
void SetImmuneToAll(bool apply) override
void Repeat(Milliseconds time)
bool IsInPhase(PhaseIndex phase) const
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual bool SetBossState(uint32 id, EncounterState state)
PlayerList const & GetPlayers() const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
uint32 GetQuestId() const
HookList< CastHandler > AfterCast
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void DoZoneInCombat(uint32 entry=0)
void DoAction(int32 info, Predicate &&predicate, uint16 max=0)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
void SetFaction(uint32 faction) override
MotionMaster * GetMotionMaster()
void RemoveNpcFlag(NPCFlags flags)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
void SetEmoteState(Emote emote)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
void SetUnitFlag(UnitFlags flags)
void RemoveUnitFlag(UnitFlags flags)
void GetCreatureListWithEntryInGrid(Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void SummonCreatureGroup(uint8 group, std::list< TempSummon * > *list=nullptr)
virtual void SetData(uint32, uint32)
PrepareAuraScript(spell_apothecary_cologne_spill)
void OnPeriodic(AuraEffect const *)
PrepareSpellScript(spell_apothecary_lingering_fumes)
void HandleScript(SpellEffIndex)
void OnPeriodic(AuraEffect const *)
PrepareAuraScript(spell_apothecary_perfume_spill)
PrepareSpellScript(spell_apothecary_throw_cologne)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_apothecary_throw_perfume)
void HandleScript(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_apothecary_validate_area)
void HandleScript(SpellEffIndex)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
#define RegisterShadowfangKeepCreatureAI(ai_name)
@ DATA_SPAWN_VALENTINE_ADDS
void GetPosition(float &x, float &y) const
void SummonedCreatureDies(Creature *summon, Unit *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
boss_apothecary_hummel(Creature *creature)
void EnterEvadeMode(EvadeReason) override
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override
void DoAction(int32 action) override
void OnQuestReward(Player *, Quest const *quest, uint32) override
npc_apothecary_baxter(Creature *creature)
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
npc_apothecary_frye(Creature *creature)
void JustDied(Unit *) override
void DoAction(int32 action) override
void MovementInform(uint32 type, uint32 pointId) override
npc_apothecary_genericAI(Creature *creature, Position pos)