diff options
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index a5620b9293c..ff0d7043e8b 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -713,7 +713,7 @@ void Spell::EffectTriggerSpell(SpellEffIndex /*effIndex*/) // set basepoints for trigger with value effect if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) - args.SpellValueOverrides.AddMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); + args.AddSpellMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); // original caster guid only for GO cast m_caster->CastSpell(targets, spellInfo->Id, args); @@ -757,7 +757,7 @@ void Spell::EffectTriggerMissileSpell(SpellEffIndex /*effIndex*/) // set basepoints for trigger with value effect if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) - args.SpellValueOverrides.AddMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); + args.AddSpellMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); // original caster guid only for GO cast m_caster->CastSpell(targets, spellInfo->Id, args); @@ -794,7 +794,7 @@ void Spell::EffectForceCast(SpellEffIndex /*effIndex*/) case 52349: // Overtake { CastSpellExtraArgs args(m_originalCasterGUID); - args.SpellValueOverrides.AddMod(SPELLVALUE_BASE_POINT0, damage); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, damage); unitTarget->CastSpell(unitTarget, spellInfo->Id, args); return; } @@ -811,7 +811,7 @@ void Spell::EffectForceCast(SpellEffIndex /*effIndex*/) CastSpellExtraArgs args(TRIGGERED_FULL_MASK); if (effectInfo->Effect == SPELL_EFFECT_FORCE_CAST_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) - args.SpellValueOverrides.AddMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); + args.AddSpellMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage); unitTarget->CastSpell(m_caster, spellInfo->Id, args); } @@ -2033,7 +2033,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex) // if we have small value, it indicates seat position if (basePoints > 0 && basePoints < MAX_VEHICLE_SEATS) - args.SpellValueOverrides.AddMod(SPELLVALUE_BASE_POINT0, basePoints); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, basePoints); m_originalCaster->CastSpell(summon, spellId, args); @@ -3393,7 +3393,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex) if (totem && totem->IsTotem()) { CastSpellExtraArgs args(TRIGGERED_FULL_MASK); - args.SpellValueOverrides.AddMod(SPELLVALUE_BASE_POINT0, damage); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, damage); m_caster->CastSpell(totem, 55277, args); } } @@ -3793,7 +3793,9 @@ void Spell::EffectFeedPet(SpellEffIndex effIndex) player->DestroyItemCount(foodItem, count, true); /// @todo fix crash when a spell has two effects, both pointed at the same item target - m_caster->CastSpell(pet, effectInfo->TriggerSpell, CastSpellExtraArgs(SPELLVALUE_BASE_POINT0, pct).SetTriggerFlags(TRIGGERED_FULL_MASK)); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, pct); + m_caster->CastSpell(pet, effectInfo->TriggerSpell, args); } void Spell::EffectDismissPet(SpellEffIndex effIndex) @@ -4474,7 +4476,7 @@ void Spell::EffectDestroyAllTotems(SpellEffIndex /*effIndex*/) if (mana) { CastSpellExtraArgs args(TRIGGERED_FULL_MASK); - args.SpellValueOverrides.AddMod(SPELLVALUE_BASE_POINT0, mana); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, mana); m_caster->CastSpell(m_caster, 39104, args); } } |