From 06314c9387fb497da90fe040a4224ff117ada98c Mon Sep 17 00:00:00 2001 From: Sarjuuk Date: Thu, 6 Jan 2011 21:40:32 +0100 Subject: Core/Spells: Implemented Pygmy oil use effect Signed-off-by: Machiavelli --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 ++ src/server/game/Spells/SpellEffects.cpp | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 49a6b6357b9..f811b20d9d8 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -3334,6 +3334,8 @@ void AuraEffect::HandleAuraTransform(AuraApplication const * aurApp, uint8 mode, } // Murloc costume case 42365: target->SetDisplayId(21723); break; + // Pygmy Oil + case 53806: target->SetDisplayId(22512); break; default: break; } } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index c3f6e16e3aa..830f9d1aef8 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1211,6 +1211,23 @@ void Spell::EffectDummy(SpellEffIndex effIndex) m_caster->SendMessageToSet(&data,true); return; } + case 53808: // Pygmy Oil + { + if (Aura *pAura = m_caster->GetAura(53806)) + pAura->RefreshDuration(); + else + { + Aura *pAura = m_caster->GetAura(53805); + if (!pAura || pAura->GetStackAmount() < 5 || !roll_chance_i(50)) + m_caster->CastSpell(m_caster, 53805, true); + else + { + pAura->Remove(); + m_caster->CastSpell(m_caster, 53806, true); + } + } + return; + } case 54577: // U.D.E.D. { if (unitTarget->GetEntry() != 29402) -- cgit v1.2.3