aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellDefines.h
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-13 20:38:32 -0300
committerShauren <shauren.trinity@gmail.com>2021-06-14 00:19:50 +0200
commit5fbddef85f48f6b9140d025d7f2e14faae0af178 (patch)
tree054c1aebe3563b62bfd25648cb170aa4470de0ec /src/server/game/Spells/SpellDefines.h
parent267aeddc05eddad47c9a621fc64bdddeceb3a7ec (diff)
Core/Spell: SpellValueOverrides encapsulation
- No sense to let scripts use SpellValueOverrides, we already have modifiers in CastSpellExtraArgs struct (cherry picked from commit 3b01cccd7eafaff9f3b8236a544e4fa46818926c)
Diffstat (limited to 'src/server/game/Spells/SpellDefines.h')
-rw-r--r--src/server/game/Spells/SpellDefines.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h
index 40d0944fc26..83b48de53ec 100644
--- a/src/server/game/Spells/SpellDefines.h
+++ b/src/server/game/Spells/SpellDefines.h
@@ -268,7 +268,7 @@ struct TC_GAME_API CastSpellExtraArgs
CastSpellExtraArgs& SetOriginalCaster(ObjectGuid const& guid) { OriginalCaster = guid; return *this; }
CastSpellExtraArgs& SetCastDifficulty(Difficulty castDifficulty) { CastDifficulty = castDifficulty; return *this; }
CastSpellExtraArgs& AddSpellMod(SpellValueMod mod, int32 val) { SpellValueOverrides.AddMod(mod, val); return *this; }
- CastSpellExtraArgs& AddSpellBP0(int32 val) { SpellValueOverrides.AddBP0(val); return *this; }
+ CastSpellExtraArgs& AddSpellBP0(int32 val) { return AddSpellMod(SPELLVALUE_BASE_POINT0, val); } // because i don't want to type SPELLVALUE_BASE_POINT0 300 times
TriggerCastFlags TriggerFlags = TRIGGERED_NONE;
Item* CastItem = nullptr;
@@ -277,17 +277,16 @@ struct TC_GAME_API CastSpellExtraArgs
Difficulty CastDifficulty = Difficulty(0);
struct
{
- public:
- void AddMod(SpellValueMod mod, int32 val) { data.emplace_back(mod, val); }
- void AddBP0(int32 bp0) { AddMod(SPELLVALUE_BASE_POINT0, bp0); } // because i don't want to type SPELLVALUE_BASE_POINT0 300 times
+ friend struct CastSpellExtraArgs;
+ friend class Unit;
private:
- auto begin() const { return data.cbegin(); }
- auto end() const { return data.cend(); }
+ void AddMod(SpellValueMod mod, int32 val) { data.push_back({ mod, val }); }
- std::vector<std::pair<SpellValueMod, int32>> data;
+ auto begin() const { return data.cbegin(); }
+ auto end() const { return data.cend(); }
- friend class Unit;
+ std::vector<std::pair<SpellValueMod, int32>> data;
} SpellValueOverrides;
};