diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index a2918841a..591655450 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -2652,7 +2652,7 @@ namespace Game.Entities { int[] bp = new int[SpellConst.MaxEffects]; foreach (var spellEffectInfo in spellEntry.GetEffects()) - bp[spellEffectInfo.EffectIndex] = spellEffectInfo.BasePoints; + bp[spellEffectInfo.EffectIndex] = (int)spellEffectInfo.BasePoints; bp[i] = seatId; @@ -4079,7 +4079,7 @@ namespace Game.Entities if (createInfo.BaseAmount != null) bp = createInfo.BaseAmount[spellEffectInfo.EffectIndex]; else - bp = spellEffectInfo.BasePoints; + bp = (int)spellEffectInfo.BasePoints; auraEff.m_baseAmount = bp; } diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index bc1fcd003..056a6e681 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -5744,7 +5744,7 @@ namespace Game.Spells if (spellEffectInfo.Effect == SpellEffectName.ChangeBattlepetQuality) { - var qualityRecord = CliDB.BattlePetBreedQualityStorage.Values.FirstOrDefault(a1 => a1.MaxQualityRoll < spellEffectInfo.BasePoints); + var qualityRecord = CliDB.BattlePetBreedQualityStorage.Values.FirstOrDefault(a1 => a1.MaxQualityRoll < spellEffectInfo.CalcBaseValue(m_caster, creature, m_castItemEntry, m_castItemLevel)); BattlePetBreedQuality quality = BattlePetBreedQuality.Poor; if (qualityRecord != null) @@ -6230,7 +6230,7 @@ namespace Game.Spells break; case SpellGroupStackRule.ExclusiveSameEffect: // this one has further checks, but i don't think they're necessary for autocast logic case SpellGroupStackRule.ExclusiveHighest: - if (Math.Abs(spellEffectInfo.BasePoints) <= Math.Abs(eff.GetAmount())) + if (Math.Abs(spellEffectInfo.CalcBaseValue(m_caster, target, 0, -1)) <= Math.Abs(eff.GetAmount())) return false; break; case SpellGroupStackRule.Default: diff --git a/Source/Game/Spells/SpellInfo.cs b/Source/Game/Spells/SpellInfo.cs index 48a8196b2..58effc70b 100644 --- a/Source/Game/Spells/SpellInfo.cs +++ b/Source/Game/Spells/SpellInfo.cs @@ -4911,7 +4911,7 @@ namespace Game.Spells public SpellEffectName Effect; public AuraType ApplyAuraName; public uint ApplyAuraPeriod; - public int BasePoints; + public float BasePoints; public float RealPointsPerLevel; public float PointsPerResource; public float Amplitude;