diff options
| author | Matan Shukry <matanshukry@gmail.com> | 2021-12-25 22:25:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-25 21:25:54 +0100 |
| commit | a3d06f2f329a6d21b9a79aed8b39f1d56fa933e6 (patch) | |
| tree | c45cb5cb06c1ced9e6a425b999da30ffe106e8b8 /src/server/game/Spells/Spell.cpp | |
| parent | b221f4b37251db2206dd14d46c00f1b6f1f16480 (diff) | |
Scripts/Spells: Implemented various rogue spells (#26319)
* Ruthlessness
* Mastery: Main Gauche
* Venomous Wounds
* Symbols of Death
* Backstab
* Premeditation
* Grand Melee
* True Bearing
* Slice and Dice
* Roll the Bones
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 6e7dc569cc1..5953cab5b56 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -7338,10 +7338,20 @@ void Spell::DelayedChannel() bool Spell::HasPowerTypeCost(Powers power) const { - return std::find_if(m_powerCost.cbegin(), m_powerCost.cend(), [power](SpellPowerCost const& cost) + return GetPowerTypeCostAmount(power).has_value(); +} + +Optional<int32> Spell::GetPowerTypeCostAmount(Powers power) const +{ + auto itr = std::find_if(m_powerCost.cbegin(), m_powerCost.cend(), [power](SpellPowerCost const& cost) { return cost.Power == power; - }) != m_powerCost.cend(); + }); + + if (itr == m_powerCost.cend()) + return { }; + + return itr->Amount; } bool Spell::UpdatePointers() |
