Core/Auras: Implemented new spell modifier type to change aura stack size on apply
Port From (https://github.com/TrinityCore/TrinityCore/commit/51a9d2a9c20f36f5343049a340663601c1c1165b)
This commit is contained in:
@@ -348,12 +348,13 @@ namespace Framework.Constants
|
|||||||
ResistDispelChance = 28,
|
ResistDispelChance = 28,
|
||||||
CritDamageBonus2 = 29, //One Not Used Spell
|
CritDamageBonus2 = 29, //One Not Used Spell
|
||||||
SpellCostRefundOnFail = 30,
|
SpellCostRefundOnFail = 30,
|
||||||
|
StackAmount = 31,
|
||||||
Effect4 = 32,
|
Effect4 = 32,
|
||||||
Effect5 = 33,
|
Effect5 = 33,
|
||||||
SpellCost2 = 34, // Used when SpellPowerEntry.PowerIndex == 1
|
SpellCost2 = 34, // Used when SpellPowerEntry.PowerIndex == 1
|
||||||
JumpDistance = 35,
|
JumpDistance = 35,
|
||||||
// spellmod 36
|
// spellmod 36
|
||||||
StackAmount2 = 37, // same as SPELLMOD_STACK_AMOUNT but affects tooltips
|
MaxStackAmount = 37,
|
||||||
// spellmod 38
|
// spellmod 38
|
||||||
SpellCost3 = 39,
|
SpellCost3 = 39,
|
||||||
|
|
||||||
|
|||||||
@@ -870,7 +870,7 @@ namespace Game.Spells
|
|||||||
{
|
{
|
||||||
Player modOwner = caster.GetSpellModOwner();
|
Player modOwner = caster.GetSpellModOwner();
|
||||||
if (modOwner != null)
|
if (modOwner != null)
|
||||||
modOwner.ApplySpellMod(m_spellInfo.Id, SpellModOp.StackAmount2, ref maxStackAmount);
|
modOwner.ApplySpellMod(m_spellInfo.Id, SpellModOp.MaxStackAmount, ref maxStackAmount);
|
||||||
}
|
}
|
||||||
return maxStackAmount;
|
return maxStackAmount;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,10 @@ namespace Game.Spells
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Player modOwner = caster.GetSpellModOwner();
|
||||||
|
if (modOwner != null)
|
||||||
|
modOwner.ApplySpellMod(info.Id, SpellModOp.StackAmount, ref m_spellValue.AuraStackAmount, this);
|
||||||
|
|
||||||
if (!originalCasterGUID.IsEmpty())
|
if (!originalCasterGUID.IsEmpty())
|
||||||
m_originalCasterGUID = originalCasterGUID;
|
m_originalCasterGUID = originalCasterGUID;
|
||||||
else
|
else
|
||||||
@@ -2160,7 +2164,7 @@ namespace Game.Spells
|
|||||||
if (m_spellValue.AuraStackAmount > 1)
|
if (m_spellValue.AuraStackAmount > 1)
|
||||||
{
|
{
|
||||||
if (!refresh)
|
if (!refresh)
|
||||||
m_spellAura.SetStackAmount(m_spellValue.AuraStackAmount);
|
m_spellAura.SetStackAmount((byte)m_spellValue.AuraStackAmount);
|
||||||
else
|
else
|
||||||
m_spellAura.ModStackAmount(m_spellValue.AuraStackAmount);
|
m_spellAura.ModStackAmount(m_spellValue.AuraStackAmount);
|
||||||
}
|
}
|
||||||
@@ -7718,7 +7722,7 @@ namespace Game.Spells
|
|||||||
public uint CustomBasePointsMask;
|
public uint CustomBasePointsMask;
|
||||||
public uint MaxAffectedTargets;
|
public uint MaxAffectedTargets;
|
||||||
public float RadiusMod;
|
public float RadiusMod;
|
||||||
public byte AuraStackAmount;
|
public int AuraStackAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spell modifier (used for modify other spells)
|
// Spell modifier (used for modify other spells)
|
||||||
|
|||||||
Reference in New Issue
Block a user