167 {
169 return;
170
172 if (!caster)
173 return;
174
176 if (!map)
177 return;
178
179 Aura* aura = aurEff->GetBase();
180 if (!aura)
181 return;
182
186 for (
auto itr = pl.
begin(); itr != pl.
end(); ++itr)
187 if (
Player* p = itr->GetSource())
188 if (p->IsAlive())
189 ++count;
190
191 if (!count)
192 return;
193
195 int32 dmg = (ticks * dmgPerTick) / count;
197 }
std::int32_t int32
Definition Define.h:103
std::uint32_t uint32
Definition Define.h:107
@ AURA_REMOVE_BY_ENEMY_SPELL
Definition SpellAuraDefines.h:394
@ SPELL_SHARED_SUFFERING_DAMAGE
Definition boss_marwyn.cpp:154
AuraApplication const * GetTargetApplication() const
Definition SpellScript.cpp:1210
Unit * GetCaster() const
Definition SpellScript.cpp:1035
Unit * GetTarget() const
Definition SpellScript.cpp:1180
Definition SpellAuras.h:87
int32 GetDuration() const
Definition SpellAuras.h:133
SpellInfo const * GetSpellInfo() const
Definition SpellAuras.h:100
Definition MapRefMgr.h:26
iterator begin()
Definition MapRefMgr.h:36
iterator end()
Definition MapRefMgr.h:37
PlayerList const & GetPlayers() const
Definition Map.h:329
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > Effects
Definition SpellInfo.h:417
SpellCastResult CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1432
Map * FindMap() const
Definition Object.h:626