diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/SpellAuras.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 74f438e5631..73400d362c4 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2979,6 +2979,10 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount) if(m_target->GetTypeId() == TYPEID_PLAYER) ((Player*)m_target)->RemoveAmmo(); // not use ammo and not allow use return; + case 62061: // Festive Holiday Mount + if(m_target->HasAuraType(SPELL_AURA_MOUNTED)) + m_target->CastSpell(m_target, 25860, true, NULL, this); // Reindeer Transformation + return; case 52916: // Honor Among Thieves if(m_target->GetTypeId() == TYPEID_PLAYER) if (Unit * target = ObjectAccessor::GetUnit(*m_target,((Player*)m_target)->GetComboTarget())) @@ -4438,12 +4442,19 @@ void AuraEffect::HandleAuraModIncreaseSpeed(bool apply, bool Real, bool changeAm m_target->UpdateSpeed(MOVE_RUN, true); } -void AuraEffect::HandleAuraModIncreaseMountedSpeed(bool /*apply*/, bool Real, bool changeAmount) +void AuraEffect::HandleAuraModIncreaseMountedSpeed(bool apply, bool Real, bool changeAmount) { // all applied/removed only at real aura add/remove if(!Real && !changeAmount) return; + if(apply) + { + // Festive Holiday Mount + if(m_target->HasAura(62061) && GetSpellProto()->SpellIconID != 1794) + m_target->CastSpell(m_target, 25860, true, NULL, this); // Reindeer Transformation + } + m_target->UpdateSpeed(MOVE_RUN, true); } @@ -4469,9 +4480,16 @@ void AuraEffect::HandleAuraModIncreaseFlightSpeed(bool apply, bool Real, bool ch if (m_target->GetTypeId() == TYPEID_PLAYER) m_target->ApplySpellImmune(GetId(),IMMUNITY_MECHANIC,MECHANIC_POLYMORPH,apply); - // Dragonmaw Illusion (overwrite mount model, mounted aura already applied) - if( apply && m_target->HasAuraEffect(42016,0) && m_target->GetMountID()) - m_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID,16314); + if(apply) + { + // Dragonmaw Illusion (overwrite mount model, mounted aura already applied) + if(m_target->HasAuraEffect(42016,0) && m_target->GetMountID()) + m_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID,16314); + + // Festive Holiday Mount + if(m_target->HasAura(62061) && GetSpellProto()->SpellIconID != 1794) + m_target->CastSpell(m_target, 25860, true, NULL, this); // Reindeer Transformation + } } m_target->UpdateSpeed(MOVE_FLIGHT, true); |
