diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-01-09 14:42:35 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-09 14:42:35 +0100 |
commit | 5f0f9e6875cda744e9d70b858190825b97d1f047 (patch) | |
tree | f80efc572623952f253de842080667689c0234d1 | |
parent | 60539d2e24ccb46c8ea144b755614a76971f72bd (diff) |
Core/Spells: Added Spell const* constructor overload to CastSpellExtraArgs
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Spells/SpellDefines.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index aa290851a7a..8a3c26bd7b2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -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; diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 5c08a658842..94991f10c7d 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -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; } |