Core/Spells: Implemented spell effect 202 SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS
Port From (https://github.com/TrinityCore/TrinityCore/commit/ad479e8fa0de6659815e956ee5f2b594957a7d1d)
This commit is contained in:
@@ -2209,7 +2209,7 @@ namespace Framework.Constants
|
||||
Unk199 = 199,
|
||||
HealBattlepetPct = 200, // NYI
|
||||
EnableBattlePets = 201, // NYI
|
||||
Unk202 = 202,
|
||||
ApplyAreaAuraSummons = 202,
|
||||
Unk203 = 203,
|
||||
ChangeBattlepetQuality = 204,
|
||||
LaunchQuestChoice = 205,
|
||||
|
||||
@@ -2602,7 +2602,7 @@ namespace Game.Spells
|
||||
|
||||
List<Unit> targetList = new List<Unit>();
|
||||
// non-area aura
|
||||
if (effect.Effect == SpellEffectName.ApplyAura || effect.Effect == SpellEffectName.Unk202)
|
||||
if (effect.Effect == SpellEffectName.ApplyAura)
|
||||
{
|
||||
targetList.Add(GetUnitOwner());
|
||||
}
|
||||
@@ -2657,6 +2657,14 @@ namespace Game.Spells
|
||||
targetList.Add(pet);
|
||||
break;
|
||||
}
|
||||
case SpellEffectName.ApplyAreaAuraSummons:
|
||||
{
|
||||
targetList.Add(GetUnitOwner());
|
||||
WorldObjectSpellAreaTargetCheck check = new(radius, GetUnitOwner(), caster, GetUnitOwner(), GetSpellInfo(), SpellTargetCheckTypes.Summoned, null, SpellTargetObjectTypes.Unit);
|
||||
UnitListSearcher searcher = new(GetUnitOwner(), targetList, check);
|
||||
Cell.VisitAllObjects(GetUnitOwner(), searcher, radius);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -716,7 +716,6 @@ namespace Game.Spells
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAura)]
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAuraOnPet)]
|
||||
[SpellEffectHandler(SpellEffectName.Unk202)]
|
||||
void EffectApplyAura(uint effIndex)
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
@@ -736,6 +735,7 @@ namespace Game.Spells
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraPet)]
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraRaid)]
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraPartyNonrandom)]
|
||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraSummons)]
|
||||
void EffectApplyAreaAura(uint effIndex)
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
@@ -2179,6 +2179,9 @@ namespace Game.Spells
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
return;
|
||||
|
||||
if (itemTarget == null)
|
||||
return;
|
||||
|
||||
Player player = m_caster.ToPlayer();
|
||||
if (player == null)
|
||||
return;
|
||||
|
||||
@@ -3721,6 +3721,7 @@ namespace Game.Spells
|
||||
Effect == SpellEffectName.ApplyAreaAuraEnemy ||
|
||||
Effect == SpellEffectName.ApplyAreaAuraPet ||
|
||||
Effect == SpellEffectName.ApplyAreaAuraOwner ||
|
||||
Effect == SpellEffectName.ApplyAreaAuraSummons ||
|
||||
Effect == SpellEffectName.ApplyAreaAuraPartyNonrandom)
|
||||
return true;
|
||||
return false;
|
||||
@@ -3740,7 +3741,7 @@ namespace Game.Spells
|
||||
|
||||
public bool IsUnitOwnedAuraEffect()
|
||||
{
|
||||
return IsAreaAuraEffect() || Effect == SpellEffectName.ApplyAura || Effect == SpellEffectName.ApplyAuraOnPet || Effect == SpellEffectName.Unk202;
|
||||
return IsAreaAuraEffect() || Effect == SpellEffectName.ApplyAura || Effect == SpellEffectName.ApplyAuraOnPet;
|
||||
}
|
||||
|
||||
public int CalcValue(Unit caster = null, int? bp = null, Unit target = null, uint castItemId = 0, int itemLevel = -1)
|
||||
@@ -4034,7 +4035,7 @@ namespace Game.Spells
|
||||
case SpellEffectName.ApplyAreaAuraEnemy:
|
||||
case SpellEffectName.ApplyAreaAuraOwner:
|
||||
case SpellEffectName.ApplyAuraOnPet:
|
||||
case SpellEffectName.Unk202:
|
||||
case SpellEffectName.ApplyAreaAuraSummons:
|
||||
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
||||
switch (ApplyAuraName)
|
||||
{
|
||||
|
||||
@@ -2534,7 +2534,7 @@ namespace Game.Entities
|
||||
case SpellEffectName.ApplyAreaAuraPet:
|
||||
case SpellEffectName.ApplyAreaAuraOwner:
|
||||
case SpellEffectName.ApplyAuraOnPet:
|
||||
case SpellEffectName.Unk202:
|
||||
case SpellEffectName.ApplyAreaAuraSummons:
|
||||
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
||||
{
|
||||
if (effect.ApplyAuraName == AuraType.PeriodicDamage ||
|
||||
|
||||
Reference in New Issue
Block a user