diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index fa0cff155..c9407f88f 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -2819,6 +2819,21 @@ SpellCastResult SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spell switch(spellInfo->Id) { + // a trinket in alterac valley allows to teleport to the boss + case 22564: // recall + case 22563: // recall + { + if (!player) + return SPELL_FAILED_REQUIRES_AREA; + MapEntry const* mapEntry = sMapStore.LookupEntry(map_id); + if (!mapEntry) + return SPELL_FAILED_REQUIRES_AREA; + if (!mapEntry->IsBattleGround()) + return SPELL_FAILED_REQUIRES_AREA; + BattleGround* bg = player->GetBattleGround(); + return map_id == 30 && bg && bg->GetStatus()!=STATUS_WAIT_JOIN ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA; + break; + } case 23333: // Warsong Flag case 23335: // Silverwing Flag return map_id == 489 && player && player->InBattleGround() ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 7eaeff270..af12e3ae5 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 "8609" + #define REVISION_NR "8610" #endif // __REVISION_NR_H__