diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 2 |
5 files changed, 15 insertions, 6 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 9e534a66cf3..221dacca513 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1251,7 +1251,7 @@ enum SpellEffectName SPELL_EFFECT_199 = 199, SPELL_EFFECT_HEAL_BATTLEPET_PCT = 200, // NYI SPELL_EFFECT_ENABLE_BATTLE_PETS = 201, // NYI - SPELL_EFFECT_202 = 202, // some sort of apply aura effect + SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS = 202, SPELL_EFFECT_203 = 203, SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY = 204, SPELL_EFFECT_LAUNCH_QUEST_CHOICE = 205, diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index bc73d8b22f2..517dbd4f8f7 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -2328,7 +2328,7 @@ void UnitAura::FillTargetMap(std::unordered_map<Unit*, uint32>& targets, Unit* c std::deque<Unit*> units; // non-area aura - if (effect->Effect == SPELL_EFFECT_APPLY_AURA || effect->Effect == SPELL_EFFECT_202) + if (effect->Effect == SPELL_EFFECT_APPLY_AURA) { units.push_back(GetUnitOwner()); } @@ -2381,6 +2381,14 @@ void UnitAura::FillTargetMap(std::unordered_map<Unit*, uint32>& targets, Unit* c units.push_back(pet); break; } + case SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS: + { + units.push_back(GetUnitOwner()); + Trinity::WorldObjectSpellAreaTargetCheck check(radius, GetUnitOwner(), caster, GetUnitOwner(), m_spellInfo, TARGET_CHECK_SUMMONED, nullptr, TARGET_OBJECT_TYPE_UNIT); + Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> searcher(GetUnitOwner(), units, check); + Cell::VisitAllObjects(GetUnitOwner(), searcher, radius); + break; + } } } } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 1d1ef6a8c4f..06e91cb1d7a 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -280,7 +280,7 @@ NonDefaultConstructible<pEffect> SpellEffects[TOTAL_SPELL_EFFECTS] = &Spell::EffectNULL, //199 SPELL_EFFECT_199 &Spell::EffectHealBattlePetPct, //200 SPELL_EFFECT_HEAL_BATTLEPET_PCT &Spell::EffectEnableBattlePets, //201 SPELL_EFFECT_ENABLE_BATTLE_PETS - &Spell::EffectApplyAura, //202 SPELL_EFFECT_202 + &Spell::EffectApplyAreaAura, //202 SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS &Spell::EffectNULL, //203 SPELL_EFFECT_203 &Spell::EffectNULL, //204 SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY &Spell::EffectLaunchQuestChoice, //205 SPELL_EFFECT_LAUNCH_QUEST_CHOICE diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index fbe4388e62c..75dd8da4ae0 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -441,6 +441,7 @@ bool SpellEffectInfo::IsAreaAuraEffect() const Effect == SPELL_EFFECT_APPLY_AREA_AURA_ENEMY || Effect == SPELL_EFFECT_APPLY_AREA_AURA_PET || Effect == SPELL_EFFECT_APPLY_AREA_AURA_OWNER || + Effect == SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS || Effect == SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM) return true; return false; @@ -460,7 +461,7 @@ bool SpellEffectInfo::IsFarDestTargetEffect() const bool SpellEffectInfo::IsUnitOwnedAuraEffect() const { - return IsAreaAuraEffect() || Effect == SPELL_EFFECT_APPLY_AURA || Effect == SPELL_EFFECT_APPLY_AURA_ON_PET || Effect == SPELL_EFFECT_202; + return IsAreaAuraEffect() || Effect == SPELL_EFFECT_APPLY_AURA || Effect == SPELL_EFFECT_APPLY_AURA_ON_PET; } int32 SpellEffectInfo::CalcValue(Unit const* caster /*= nullptr*/, int32 const* bp /*= nullptr*/, Unit const* target /*= nullptr*/, float* variance /*= nullptr*/, uint32 castItemId /*= 0*/, int32 itemLevel /*= -1*/) const @@ -730,7 +731,7 @@ ExpectedStatType SpellEffectInfo::GetScalingExpectedStat() const case SPELL_EFFECT_APPLY_AREA_AURA_ENEMY: case SPELL_EFFECT_APPLY_AREA_AURA_OWNER: case SPELL_EFFECT_APPLY_AURA_ON_PET: - case SPELL_EFFECT_202: + case SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS: case SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM: switch (ApplyAuraName) { diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 80860ac8b66..60dcee3608f 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2774,7 +2774,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes() case SPELL_EFFECT_APPLY_AREA_AURA_PET: case SPELL_EFFECT_APPLY_AREA_AURA_OWNER: case SPELL_EFFECT_APPLY_AURA_ON_PET: - case SPELL_EFFECT_202: + case SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS: case SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM: if (effect->ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE || effect->ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE_PERCENT || |