Core/Spells: Fixed spell duration scaling with combo points

Port From (https://github.com/TrinityCore/TrinityCore/commit/9e68fd1458551ab0f007b6044c9220da8f7d4199)
This commit is contained in:
hondacrx
2023-09-12 18:00:30 -04:00
parent 543411beec
commit 913cfa0fbd
7 changed files with 43 additions and 43 deletions
+3 -3
View File
@@ -742,10 +742,10 @@ namespace Game.Spells
public int CalcMaxDuration(Unit caster)
{
return CalcMaxDuration(GetSpellInfo(), caster);
return CalcMaxDuration(GetSpellInfo(), caster, null);
}
public static int CalcMaxDuration(SpellInfo spellInfo, WorldObject caster)
public static int CalcMaxDuration(SpellInfo spellInfo, WorldObject caster, List<SpellPowerCost> powerCosts)
{
Player modOwner = null;
int maxDuration;
@@ -753,7 +753,7 @@ namespace Game.Spells
if (caster != null)
{
modOwner = caster.GetSpellModOwner();
maxDuration = caster.CalcSpellDuration(spellInfo);
maxDuration = caster.CalcSpellDuration(spellInfo, powerCosts);
}
else
maxDuration = spellInfo.GetDuration();
+1 -1
View File
@@ -152,7 +152,7 @@ namespace Game.Spells
public static float CalculateEstimatedfTotalPeriodicAmount(Unit caster, Unit target, SpellInfo spellInfo, SpellEffectInfo spellEffectInfo, float amount, byte stack)
{
int maxDuration = Aura.CalcMaxDuration(spellInfo, caster);
int maxDuration = Aura.CalcMaxDuration(spellInfo, caster, null);
if (maxDuration <= 0)
return 0.0f;