aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorGerhood <mrambrius@gmail.com>2017-01-29 14:06:40 +0100
committerShauren <shauren.trinity@gmail.com>2019-07-21 21:06:54 +0200
commit7e83cce81f1e8b2c3bc0c037fedd1228d8733cc8 (patch)
tree9ab1fb792a1d3854c0ea47093295734899b1b9bf /src/server/game/Spells/SpellEffects.cpp
parent894c667d3259528bfe8ee489c14d2c77809046d3 (diff)
Core/Spells: implement Mad/Crazy Alchemist's potions
(cherrypicked frombab59b28faad262dc5d9873ca7c0856477ec4d66)
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index c58bbedd4da..9a93e2358a5 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1582,52 +1582,6 @@ void Spell::EffectEnergize(SpellEffIndex /*effIndex*/)
}
m_caster->EnergizeBySpell(unitTarget, m_spellInfo->Id, damage, power);
-
- // Mad Alchemist's Potion
- if (m_spellInfo->Id == 45051)
- {
- // find elixirs on target
- bool guardianFound = false;
- bool battleFound = false;
- Unit::AuraApplicationMap& Auras = unitTarget->GetAppliedAuras();
- for (Unit::AuraApplicationMap::iterator itr = Auras.begin(); itr != Auras.end(); ++itr)
- {
- uint32 spell_id = itr->second->GetBase()->GetId();
- if (!guardianFound)
- if (sSpellMgr->IsSpellMemberOfSpellGroup(spell_id, SPELL_GROUP_ELIXIR_GUARDIAN))
- guardianFound = true;
- if (!battleFound)
- if (sSpellMgr->IsSpellMemberOfSpellGroup(spell_id, SPELL_GROUP_ELIXIR_BATTLE))
- battleFound = true;
- if (battleFound && guardianFound)
- break;
- }
-
- // get all available elixirs by mask and spell level
- std::set<uint32> avalibleElixirs;
- if (!guardianFound)
- sSpellMgr->GetSetOfSpellsInSpellGroup(SPELL_GROUP_ELIXIR_GUARDIAN, avalibleElixirs);
- if (!battleFound)
- sSpellMgr->GetSetOfSpellsInSpellGroup(SPELL_GROUP_ELIXIR_BATTLE, avalibleElixirs);
- for (std::set<uint32>::iterator itr = avalibleElixirs.begin(); itr != avalibleElixirs.end();)
- {
- SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(*itr);
- if (spellInfo->SpellLevel < m_spellInfo->SpellLevel || spellInfo->SpellLevel > unitTarget->getLevel())
- avalibleElixirs.erase(itr++);
- else if (sSpellMgr->IsSpellMemberOfSpellGroup(*itr, SPELL_GROUP_ELIXIR_SHATTRATH))
- avalibleElixirs.erase(itr++);
- else if (sSpellMgr->IsSpellMemberOfSpellGroup(*itr, SPELL_GROUP_ELIXIR_UNSTABLE))
- avalibleElixirs.erase(itr++);
- else
- ++itr;
- }
-
- if (!avalibleElixirs.empty())
- {
- // cast random elixir on target
- m_caster->CastSpell(unitTarget, Trinity::Containers::SelectRandomContainerElement(avalibleElixirs), true, m_CastItem);
- }
- }
}
void Spell::EffectEnergizePct(SpellEffIndex /*effIndex*/)