aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/MovementHandler.cpp2
-rw-r--r--src/game/Spell.cpp2
-rw-r--r--src/scripts/northrend/naxxramas/boss_noth.cpp13
3 files changed, 9 insertions, 8 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index b29d0fc1c2c..f71817bdf30 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -149,7 +149,7 @@ void WorldSession::HandleMoveWorldportAckOpcode()
}
}
- bool allowMount = !mEntry->IsDungeon();
+ bool allowMount = !mEntry->IsDungeon() || mEntry->IsBattleGroundOrArena();
if (mInstance)
{
Difficulty diff = GetPlayer()->GetDifficulty(mEntry->IsRaid());
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 6a5b6b0ad10..0f097f12ef4 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -5315,7 +5315,7 @@ SpellCastResult Spell::CheckCast(bool strict)
return SPELL_FAILED_NO_MOUNTS_ALLOWED;
// Ignore map check if spell have AreaId. AreaId already checked and this prevent special mount spells
- bool AllowMount = !m_caster->GetMap()->IsDungeon();
+ bool AllowMount = !m_caster->GetMap()->IsDungeon() || m_caster->GetMap()->IsBattleGroundOrArena();
InstanceTemplate const *it = objmgr.GetInstanceTemplate(m_caster->GetMapId());
if (it)
AllowMount = it->allowMount;
diff --git a/src/scripts/northrend/naxxramas/boss_noth.cpp b/src/scripts/northrend/naxxramas/boss_noth.cpp
index eb2efa13a3a..23e807f1ed8 100644
--- a/src/scripts/northrend/naxxramas/boss_noth.cpp
+++ b/src/scripts/northrend/naxxramas/boss_noth.cpp
@@ -93,10 +93,10 @@ struct boss_nothAI : public BossAI
else
{
events.ScheduleEvent(EVENT_BALCONY, 110000);
- events.ScheduleEvent(EVENT_CURSE, 20000+rand()%10000);
+ events.ScheduleEvent(EVENT_CURSE, 10000+rand()%15000);
events.ScheduleEvent(EVENT_WARRIOR, 30000);
if (getDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
- events.ScheduleEvent(EVENT_BLINK, 20000+rand()%10000);
+ events.ScheduleEvent(EVENT_BLINK, 20000 + rand()%20000);
}
}
@@ -142,7 +142,7 @@ struct boss_nothAI : public BossAI
{
case EVENT_CURSE:
DoCastAOE(SPELL_CURSE_PLAGUEBRINGER);
- events.ScheduleEvent(EVENT_CURSE, 20000+rand()%10000);
+ events.ScheduleEvent(EVENT_CURSE, 50000 + rand()%10000);
return;
case EVENT_WARRIOR:
DoScriptText(SAY_SUMMON, me);
@@ -153,7 +153,7 @@ struct boss_nothAI : public BossAI
DoCastAOE(SPELL_CRIPPLE, true);
DoCastAOE(SPELL_BLINK);
DoResetThreat();
- events.ScheduleEvent(EVENT_BLINK, 20000+rand()%10000);
+ events.ScheduleEvent(EVENT_BLINK, 40000);
return;
case EVENT_BALCONY:
me->SetReactState(REACT_PASSIVE);
@@ -162,7 +162,7 @@ struct boss_nothAI : public BossAI
me->RemoveAllAuras();
me->NearTeleportTo(TELE_X, TELE_Y, TELE_Z, TELE_O);
events.Reset();
- events.ScheduleEvent(EVENT_WAVE, 2000);
+ events.ScheduleEvent(EVENT_WAVE, 2000 + rand()%3000);
waveCount = 0;
return;
case EVENT_WAVE:
@@ -177,7 +177,7 @@ struct boss_nothAI : public BossAI
SummonUndead(MOB_GUARDIAN, RAID_MODE(5,10));break;
}
++waveCount;
- events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, 34000);
+ events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, 30000 + rand()%15000);
return;
case EVENT_GROUND:
{
@@ -185,6 +185,7 @@ struct boss_nothAI : public BossAI
float x, y, z, o;
me->GetHomePosition(x, y, z, o);
me->NearTeleportTo(x, y, z, o);
+ events.ScheduleEvent(EVENT_BALCONY, 110000);
EnterPhaseGround();
return;
}