73 bool foundSomeone =
false;
76 std::vector<Player*> playerList;
78 for (
Player* playerFound : playerList)
80 if (target != playerFound && playerFound->
HasAura(
GetId()))
First const & RAND(First const &first, Second const &second, Rest const &... rest)
#define INTERACTION_DISTANCE
bool roll_chance(T chance)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DUMMY
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
SpellEffectInfo const & GetEffectInfo(SpellEffIndex effIndex) const
int32 CalcValueAsInt(WorldObject const *caster=nullptr, SpellEffectValue const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
int32 GetEffectValueAsInt() const
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
virtual Gender GetNativeGender() const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
UnitStandStateType GetStandState() const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
virtual void SetDisplayId(uint32 displayId, bool setNative=false)
void GetPlayerListInGrid(Container &playerContainer, float maxSearchRange, bool alive=true) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void OnPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *)
void AddSC_event_love_is_in_the_air()
@ SPELL_CREATE_HEART_CANDY_1
@ SPELL_CREATE_HEART_CANDY_4
@ SPELL_CREATE_HEART_CANDY_7
@ SPELL_CREATE_HEART_CANDY_5
@ SPELL_CREATE_HEART_CANDY_2
@ SPELL_CREATE_HEART_CANDY_3
@ SPELL_CREATE_HEART_CANDY_8
@ SPELL_CREATE_HEART_CANDY_6
@ SPELL_ROMANTIC_PICNIC_ACHIEV
std::array< uint32, 8 > const CreateHeartCandySpells
auto SelectRandomContainerElement(C const &container) -> std::add_const_t< decltype(*std::ranges::begin(container))> &