diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-08-28 19:51:29 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-08-28 19:51:29 +0200 |
| commit | 3dd75a49b190098010803014072c0c8bee2996bd (patch) | |
| tree | c0af28ecb5fdb4cf7caeb17c3720020e7e1d92c9 /src/server/game/Spells/Spell.cpp | |
| parent | bc2c76a5b8b4a6e5c1d6e65d367c700e4ef1cbf2 (diff) | |
Core/Spells: Removed SpellEffIndex effIndex argument from spell effect handlers, it was commented out in almost every handler
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 8f651dac952..66391ecbad2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5116,7 +5116,7 @@ void Spell::HandleEffects(Unit* pUnitTarget, Item* pItemTarget, GameObject* pGOT bool preventDefault = CallScriptEffectHandlers(effIndex, mode); if (!preventDefault) - (this->*SpellEffectHandlers[effect].Value)(effIndex); + (this->*SpellEffectHandlers[effect].Value)(); } /*static*/ Spell const* Spell::ExtractSpellFromEvent(BasicEvent* event) @@ -5759,7 +5759,7 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint int32 skillValue = 0; // check lock compatibility - SpellCastResult res = CanOpenLock(effect->EffectIndex, lockId, skillId, reqSkillValue, skillValue); + SpellCastResult res = CanOpenLock(*effect, lockId, skillId, reqSkillValue, skillValue); if (res != SPELL_CAST_OK) return res; break; @@ -7730,7 +7730,7 @@ void Spell::DoEffectOnLaunchTarget(TargetInfo& targetInfo, float multiplier, Spe targetInfo.IsCrit = roll_chance_f(critChance); } -SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& skillId, int32& reqSkillValue, int32& skillValue) +SpellCastResult Spell::CanOpenLock(SpellEffectInfo const& effect, uint32 lockId, SkillType& skillId, int32& reqSkillValue, int32& skillValue) { if (!lockId) // possible case for GO and maybe for items. return SPELL_CAST_OK; @@ -7745,10 +7745,6 @@ SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& sk if (!lockInfo) return SPELL_FAILED_BAD_TARGETS; - SpellEffectInfo const* effect = m_spellInfo->GetEffect(effIndex); - if (!effect) - return SPELL_FAILED_BAD_TARGETS; // no idea about correct error - bool reqKey = false; // some locks not have reqs for (int j = 0; j < MAX_LOCK_CASE; ++j) @@ -7767,7 +7763,7 @@ SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& sk reqKey = true; // wrong locktype, skip - if (effect->MiscValue != lockInfo->Index[j]) + if (effect.MiscValue != lockInfo->Index[j]) continue; skillId = SkillByLockType(LockType(lockInfo->Index[j])); @@ -7785,8 +7781,8 @@ SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& sk // skill bonus provided by casting spell (mostly item spells) // add the effect base points modifier from the spell cast (cheat lock / skeleton key etc.) - if (effect->TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET || effect->TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET) - skillValue += effect->CalcValue(); + if (effect.TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET || effect.TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET) + skillValue += effect.CalcValue(); if (skillValue < reqSkillValue) return SPELL_FAILED_LOW_CASTLEVEL; |
