diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 17 |
2 files changed, 19 insertions, 0 deletions
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) |