diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 8c1f08748..9d1e2eb1d 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1542,6 +1542,33 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) m_caster->CastSpell(m_caster, 54586, true); return; } + case 53808: // Pygmy Oil + { + const SpellEntry *pSpellShrink = sSpellStore.LookupEntry(53805); + const SpellEntry *pSpellTransf = sSpellStore.LookupEntry(53806); + + if (!pSpellTransf || !pSpellShrink) + return; + + if (Aura* pAura = m_caster->GetAura(pSpellShrink->Id, EFFECT_INDEX_0)) + { + uint8 stackNum = pAura->GetStackAmount(); + + // chance to become pygmified (5, 10, 15 etc) + if (roll_chance_i(stackNum*5)) + { + m_caster->RemoveAurasDueToSpell(pSpellShrink->Id); + m_caster->CastSpell(m_caster, pSpellTransf, true); + return; + } + } + + if (m_caster->HasAura(pSpellTransf->Id, EFFECT_INDEX_0)) + return; + + m_caster->CastSpell(m_caster, pSpellShrink, true); + return; + } case 55004: // Nitro Boosts { if (!m_CastItem) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 80d27f4e7..06b5c2fe3 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9816" + #define REVISION_NR "9817" #endif // __REVISION_NR_H__