diff options
| author | Ovahlord <dreadkiller@gmx.de> | 2024-01-29 10:04:03 +0100 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-01-29 10:35:51 +0100 |
| commit | 3af5abffb7a10f2a4c88b6b382ba1f3639183bd2 (patch) | |
| tree | b22ebc2941dc15eb605f9f2c92d1f1ddc2129d31 /src/server/game/Spells/SpellEffects.cpp | |
| parent | 693329aefc8b3b2a38a7fb1a18db47592f68daa5 (diff) | |
Core/Spells: restore DieSides effect handling
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index a36a12dbfa4..450bcfd7757 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2286,7 +2286,7 @@ void Spell::EffectLearnSkill() if (!playerTarget) return; - if (damage < 0) + if (damage < 1) return; uint32 skillid = effectInfo->MiscValue; @@ -2299,12 +2299,12 @@ void Spell::EffectLearnSkill() return; uint16 skillval = std::max<uint16>(1, playerTarget->GetPureSkillValue(skillid)); - uint16 maxSkillVal = tier->GetValueForTierIndex(damage); + uint16 maxSkillVal = tier->GetValueForTierIndex(damage - 1); if (rcEntry->Flags & SKILL_FLAG_ALWAYS_MAX_VALUE) skillval = maxSkillVal; - playerTarget->SetSkill(skillid, (damage + 1), skillval, maxSkillVal); + playerTarget->SetSkill(skillid, damage, skillval, maxSkillVal); } void Spell::EffectPlayMovie() @@ -4550,11 +4550,11 @@ void Spell::EffectSkill() if (!playerTarget) return; - if (damage < 0) + if (damage < 1) return; uint32 skillid = effectInfo->MiscValue; - if (playerTarget->GetSkillStep(skillid) >= (damage + 1)) + if (playerTarget->GetSkillStep(skillid) >= damage) return; SkillRaceClassInfoEntry const* rcEntry = sDB2Manager.GetSkillRaceClassInfo(skillid, playerTarget->GetRace(), playerTarget->GetClass()); @@ -4566,12 +4566,12 @@ void Spell::EffectSkill() return; uint16 skillval = std::max<uint16>(1, playerTarget->GetPureSkillValue(skillid)); - uint16 maxSkillVal = tier->GetValueForTierIndex(damage); + uint16 maxSkillVal = tier->GetValueForTierIndex(damage - 1); if (rcEntry->Flags & SKILL_FLAG_ALWAYS_MAX_VALUE) skillval = maxSkillVal; - playerTarget->SetSkill(skillid, (damage + 1), skillval, maxSkillVal); + playerTarget->SetSkill(skillid, damage, skillval, maxSkillVal); } void Spell::EffectSpiritHeal() |
