Core/Spells: Assign spell effect handles for new apply aura effects
Port From (https://github.com/TrinityCore/TrinityCore/commit/c3dcbe04dcea04ce3f453f99d44ebebb542bcda7)
This commit is contained in:
@@ -2060,7 +2060,7 @@ namespace Framework.Constants
|
|||||||
Effect171 = 171, // Summons Gamebject
|
Effect171 = 171, // Summons Gamebject
|
||||||
ResurrectWithAura = 172, // Aoe Ressurection
|
ResurrectWithAura = 172, // Aoe Ressurection
|
||||||
UnlockGuildVaultTab = 173, // Guild Tab Unlocked (Guild Perk)
|
UnlockGuildVaultTab = 173, // Guild Tab Unlocked (Guild Perk)
|
||||||
ApllyAuraOnPet = 174,
|
ApplyAuraOnPet = 174,
|
||||||
Effect175 = 175, // Unused (4.3.4)
|
Effect175 = 175, // Unused (4.3.4)
|
||||||
Sanctuary2 = 176,
|
Sanctuary2 = 176,
|
||||||
Effect177 = 177,
|
Effect177 = 177,
|
||||||
|
|||||||
@@ -2556,7 +2556,7 @@ namespace Game.Spells
|
|||||||
|
|
||||||
List<Unit> targetList = new List<Unit>();
|
List<Unit> targetList = new List<Unit>();
|
||||||
// non-area aura
|
// non-area aura
|
||||||
if (effect.Effect == SpellEffectName.ApplyAura)
|
if (effect.Effect == SpellEffectName.ApplyAura || effect.Effect == SpellEffectName.Unk202)
|
||||||
{
|
{
|
||||||
targetList.Add(GetUnitOwner());
|
targetList.Add(GetUnitOwner());
|
||||||
}
|
}
|
||||||
@@ -2570,7 +2570,8 @@ namespace Game.Spells
|
|||||||
{
|
{
|
||||||
case SpellEffectName.ApplyAreaAuraParty:
|
case SpellEffectName.ApplyAreaAuraParty:
|
||||||
case SpellEffectName.ApplyAreaAuraRaid:
|
case SpellEffectName.ApplyAreaAuraRaid:
|
||||||
{
|
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
||||||
|
{
|
||||||
targetList.Add(GetUnitOwner());
|
targetList.Add(GetUnitOwner());
|
||||||
var u_check = new AnyGroupedUnitInObjectRangeCheck(GetUnitOwner(), GetUnitOwner(), radius, effect.Effect == SpellEffectName.ApplyAreaAuraRaid, GetSpellInfo().HasAttribute(SpellAttr3.OnlyTargetPlayers), false, true);
|
var u_check = new AnyGroupedUnitInObjectRangeCheck(GetUnitOwner(), GetUnitOwner(), radius, effect.Effect == SpellEffectName.ApplyAreaAuraRaid, GetSpellInfo().HasAttribute(SpellAttr3.OnlyTargetPlayers), false, true);
|
||||||
var searcher = new UnitListSearcher(GetUnitOwner(), targetList, u_check);
|
var searcher = new UnitListSearcher(GetUnitOwner(), targetList, u_check);
|
||||||
@@ -2603,6 +2604,13 @@ namespace Game.Spells
|
|||||||
targetList.Add(owner);
|
targetList.Add(owner);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SpellEffectName.ApplyAuraOnPet:
|
||||||
|
{
|
||||||
|
Unit pet = Global.ObjAccessor.GetUnit(GetUnitOwner(), GetUnitOwner().GetPetGUID());
|
||||||
|
if (pet != null)
|
||||||
|
targetList.Add(pet);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -934,14 +934,7 @@ namespace Game.Spells
|
|||||||
public bool IsEffect(SpellEffectName effectName) { return _effectInfo.Effect == effectName; }
|
public bool IsEffect(SpellEffectName effectName) { return _effectInfo.Effect == effectName; }
|
||||||
public bool IsAreaAuraEffect()
|
public bool IsAreaAuraEffect()
|
||||||
{
|
{
|
||||||
if (_effectInfo.Effect == SpellEffectName.ApplyAreaAuraParty ||
|
return _effectInfo.IsAreaAuraEffect();
|
||||||
_effectInfo.Effect == SpellEffectName.ApplyAreaAuraRaid ||
|
|
||||||
_effectInfo.Effect == SpellEffectName.ApplyAreaAuraFriend ||
|
|
||||||
_effectInfo.Effect == SpellEffectName.ApplyAreaAuraEnemy ||
|
|
||||||
_effectInfo.Effect == SpellEffectName.ApplyAreaAuraPet ||
|
|
||||||
_effectInfo.Effect == SpellEffectName.ApplyAreaAuraOwner)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|||||||
@@ -753,6 +753,8 @@ namespace Game.Spells
|
|||||||
}
|
}
|
||||||
|
|
||||||
[SpellEffectHandler(SpellEffectName.ApplyAura)]
|
[SpellEffectHandler(SpellEffectName.ApplyAura)]
|
||||||
|
[SpellEffectHandler(SpellEffectName.ApplyAuraOnPet)]
|
||||||
|
[SpellEffectHandler(SpellEffectName.Unk202)]
|
||||||
void EffectApplyAura(uint effIndex)
|
void EffectApplyAura(uint effIndex)
|
||||||
{
|
{
|
||||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||||
@@ -771,6 +773,7 @@ namespace Game.Spells
|
|||||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraParty)]
|
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraParty)]
|
||||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraPet)]
|
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraPet)]
|
||||||
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraRaid)]
|
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraRaid)]
|
||||||
|
[SpellEffectHandler(SpellEffectName.ApplyAreaAuraPartyNonrandom)]
|
||||||
void EffectApplyAreaAura(uint effIndex)
|
void EffectApplyAreaAura(uint effIndex)
|
||||||
{
|
{
|
||||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||||
|
|||||||
@@ -3681,7 +3681,8 @@ namespace Game.Spells
|
|||||||
Effect == SpellEffectName.ApplyAreaAuraFriend ||
|
Effect == SpellEffectName.ApplyAreaAuraFriend ||
|
||||||
Effect == SpellEffectName.ApplyAreaAuraEnemy ||
|
Effect == SpellEffectName.ApplyAreaAuraEnemy ||
|
||||||
Effect == SpellEffectName.ApplyAreaAuraPet ||
|
Effect == SpellEffectName.ApplyAreaAuraPet ||
|
||||||
Effect == SpellEffectName.ApplyAreaAuraOwner)
|
Effect == SpellEffectName.ApplyAreaAuraOwner ||
|
||||||
|
Effect == SpellEffectName.ApplyAreaAuraPartyNonrandom)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -3700,7 +3701,7 @@ namespace Game.Spells
|
|||||||
|
|
||||||
public bool IsUnitOwnedAuraEffect()
|
public bool IsUnitOwnedAuraEffect()
|
||||||
{
|
{
|
||||||
return IsAreaAuraEffect() || Effect == SpellEffectName.ApplyAura;
|
return IsAreaAuraEffect() || Effect == SpellEffectName.ApplyAura || Effect == SpellEffectName.ApplyAuraOnPet || Effect == SpellEffectName.Unk202;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int CalcValue(Unit caster = null, int? bp = null, Unit target = null, uint castItemId = 0, int itemLevel = -1)
|
public int CalcValue(Unit caster = null, int? bp = null, Unit target = null, uint castItemId = 0, int itemLevel = -1)
|
||||||
@@ -3994,7 +3995,7 @@ namespace Game.Spells
|
|||||||
case SpellEffectName.ApplyAreaAuraFriend:
|
case SpellEffectName.ApplyAreaAuraFriend:
|
||||||
case SpellEffectName.ApplyAreaAuraEnemy:
|
case SpellEffectName.ApplyAreaAuraEnemy:
|
||||||
case SpellEffectName.ApplyAreaAuraOwner:
|
case SpellEffectName.ApplyAreaAuraOwner:
|
||||||
case SpellEffectName.ApllyAuraOnPet:
|
case SpellEffectName.ApplyAuraOnPet:
|
||||||
case SpellEffectName.Unk202:
|
case SpellEffectName.Unk202:
|
||||||
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
||||||
switch (ApplyAuraName)
|
switch (ApplyAuraName)
|
||||||
|
|||||||
@@ -2530,6 +2530,9 @@ namespace Game.Entities
|
|||||||
case SpellEffectName.ApplyAreaAuraEnemy:
|
case SpellEffectName.ApplyAreaAuraEnemy:
|
||||||
case SpellEffectName.ApplyAreaAuraPet:
|
case SpellEffectName.ApplyAreaAuraPet:
|
||||||
case SpellEffectName.ApplyAreaAuraOwner:
|
case SpellEffectName.ApplyAreaAuraOwner:
|
||||||
|
case SpellEffectName.ApplyAuraOnPet:
|
||||||
|
case SpellEffectName.Unk202:
|
||||||
|
case SpellEffectName.ApplyAreaAuraPartyNonrandom:
|
||||||
{
|
{
|
||||||
if (effect.ApplyAuraName == AuraType.PeriodicDamage ||
|
if (effect.ApplyAuraName == AuraType.PeriodicDamage ||
|
||||||
effect.ApplyAuraName == AuraType.PeriodicDamagePercent ||
|
effect.ApplyAuraName == AuraType.PeriodicDamagePercent ||
|
||||||
|
|||||||
Reference in New Issue
Block a user