diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 5a286cec1..2596f78c3 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1973,6 +1973,14 @@ void Aura::HandleAuraDummy(bool apply, bool Real) case 43873: // Headless Horseman Laugh target->PlayDistanceSound(11965); return; + case 45963: // Call Alliance Deserter + { + // Escorting Alliance Deserter + if (target->GetMiniPet()) + target->CastSpell(target, 45957, true); + + return; + } case 46699: // Requires No Ammo if (target->GetTypeId() == TYPEID_PLAYER) // not use ammo and not allow use @@ -2378,6 +2386,12 @@ void Aura::HandleAuraDummy(bool apply, bool Real) target->DealDamage(target, target->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); return; } + case 45963: // Call Alliance Deserter + { + // Escorting Alliance Deserter + target->RemoveAurasDueToSpell(45957); + return; + } case 46308: // Burning Winds { // casted only at creatures at spawn diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 6a8c59087..21e2dbae7 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1434,6 +1434,11 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) break; } + case 45958: // Signal Alliance + { + m_caster->CastSpell(m_caster, m_spellInfo->CalculateSimpleValue(eff_idx), true); + return; + } case 45980: // Re-Cursive Transmatter Injection { if (m_caster->GetTypeId() == TYPEID_PLAYER && unitTarget) @@ -6600,6 +6605,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) m_caster->SetDisplayId(display_id); return; } + case 45958: // Signal Alliance + { + // "escort" aura not present, so let nothing happen + if (!m_caster->HasAura(m_spellInfo->CalculateSimpleValue(eff_idx))) + return; + // "escort" aura is present so break; and let DB table spell_scripts be used and process further. + else + break; + } case 46203: // Goblin Weather Machine { if (!unitTarget) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b414e7d76..bed045908 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 "11386" + #define REVISION_NR "11387" #endif // __REVISION_NR_H__