Core/Spells: Don't ignore power costs and reagents for spells triggered by SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_MISSILE, SPELL_EFFECT_FORCE_CAST, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL and fixed implementation of SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES
Port From (https://github.com/TrinityCore/TrinityCore/commit/54a83b4b689b7d2bbddb91fc79319dd806da8cc0)
This commit is contained in:
@@ -309,7 +309,7 @@ namespace Game.Spells
|
||||
targets.Update(caster); // refresh pointers stored in targets
|
||||
|
||||
// original caster guid only for GO cast
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask);
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask & ~(TriggerCastFlags.IgnorePowerCost | TriggerCastFlags.IgnoreReagentCost));
|
||||
args.SetOriginalCaster(originalCaster);
|
||||
args.OriginalCastId = originalCastId;
|
||||
args.OriginalCastItemLevel = itemLevel;
|
||||
@@ -389,7 +389,7 @@ namespace Game.Spells
|
||||
}
|
||||
}
|
||||
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask);
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask & ~(TriggerCastFlags.IgnorePowerCost | TriggerCastFlags.IgnoreReagentCost));
|
||||
args.SetOriginalCaster(m_originalCasterGUID);
|
||||
args.SetTriggeringSpell(this);
|
||||
args.SetCustomArg(m_customArg);
|
||||
@@ -464,7 +464,7 @@ namespace Game.Spells
|
||||
return;
|
||||
}
|
||||
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask);
|
||||
CastSpellExtraArgs args = new(TriggerCastFlags.FullMask & ~(TriggerCastFlags.IgnorePowerCost | TriggerCastFlags.IgnoreReagentCost));
|
||||
args.SetTriggeringSpell(this);
|
||||
// set basepoints for trigger with value effect
|
||||
if (effectInfo.Effect == SpellEffectName.ForceCastWithValue)
|
||||
|
||||
Reference in New Issue
Block a user