Core/Spells: Added Spell const* constructor overload to CastSpellExtraArgs

This commit is contained in:
Shauren
2022-01-09 14:42:35 +01:00
parent 60539d2e24
commit 5f0f9e6875
2 changed files with 9 additions and 0 deletions

View File

@@ -8687,6 +8687,12 @@ CastSpellTargetArg::CastSpellTargetArg(WorldObject* target)
}
}
CastSpellExtraArgs& CastSpellExtraArgs::SetTriggeringSpell(Spell const* triggeringSpell)
{
OriginalCastId = triggeringSpell->m_castId;
return *this;
}
CastSpellExtraArgs& CastSpellExtraArgs::SetTriggeringAura(AuraEffect const* triggeringAura)
{
TriggeringAura = triggeringAura;

View File

@@ -30,6 +30,7 @@ class Corpse;
class GameObject;
class Item;
class Player;
class Spell;
class Unit;
class WorldObject;
enum Difficulty : uint8;
@@ -436,12 +437,14 @@ struct TC_GAME_API CastSpellExtraArgs
CastSpellExtraArgs(bool triggered) : TriggerFlags(triggered ? TRIGGERED_FULL_MASK : TRIGGERED_NONE) {}
CastSpellExtraArgs(TriggerCastFlags trigger) : TriggerFlags(trigger) {}
CastSpellExtraArgs(Item* item) : TriggerFlags(TRIGGERED_FULL_MASK), CastItem(item) {}
CastSpellExtraArgs(Spell const* triggeringSpell) : TriggerFlags(TRIGGERED_FULL_MASK) { SetTriggeringSpell(triggeringSpell); }
CastSpellExtraArgs(AuraEffect const* eff) : TriggerFlags(TRIGGERED_FULL_MASK) { SetTriggeringAura(eff); }
CastSpellExtraArgs(Difficulty castDifficulty) : CastDifficulty(castDifficulty) {}
CastSpellExtraArgs(SpellValueMod mod, int32 val) { SpellValueOverrides.AddMod(mod, val); }
CastSpellExtraArgs& SetTriggerFlags(TriggerCastFlags flag) { TriggerFlags = flag; return *this; }
CastSpellExtraArgs& SetCastItem(Item* item) { CastItem = item; return *this; }
CastSpellExtraArgs& SetTriggeringSpell(Spell const* triggeringSpell);
CastSpellExtraArgs& SetTriggeringAura(AuraEffect const* triggeringAura);
CastSpellExtraArgs& SetOriginalCaster(ObjectGuid const& guid) { OriginalCaster = guid; return *this; }
CastSpellExtraArgs& SetCastDifficulty(Difficulty castDifficulty) { CastDifficulty = castDifficulty; return *this; }