aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp25
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp7
-rw-r--r--src/game/Wintergrasp.cpp10
3 files changed, 20 insertions, 22 deletions
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
index a1891c6c3f2..4d868fe3508 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
@@ -137,7 +137,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
Phase=1;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_PASSIVE);
- events.ScheduleEvent(EVENT_WASTE, 3000);
+ events.ScheduleEvent(EVENT_WASTE, 5000);
events.ScheduleEvent(EVENT_ABOMIN, 25000);
events.ScheduleEvent(EVENT_WEAVER, 20000);
events.ScheduleEvent(EVENT_PHASE, 228000);
@@ -158,7 +158,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
{
case EVENT_WASTE:
DoSummon(MOB_WASTE, Pos[RAND(0,3,6,9)]);
- events.RepeatEvent(3000);
+ events.RepeatEvent(5000);
break;
case EVENT_ABOMIN:
DoSummon(MOB_ABOMINATION, Pos[RAND(1,4,7,10)]);
@@ -170,15 +170,14 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
break;
case EVENT_PHASE:
events.Reset();
- events.ScheduleEvent(EVENT_BOLT, 2000);
- events.ScheduleEvent(EVENT_NOVA, 15000);
- events.ScheduleEvent(EVENT_DETONATE, 20000);
- events.ScheduleEvent(EVENT_FISSURE, 25000);
- events.ScheduleEvent(EVENT_BLAST, (rand()%30+30)*1000);
- if (HeroicMode)
- events.ScheduleEvent(EVENT_CHAIN, (rand()%30+30)*1000);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
+ events.ScheduleEvent(EVENT_BOLT, urand(1000,10000));
+ events.ScheduleEvent(EVENT_NOVA, urand(10000,15000));
+ events.ScheduleEvent(EVENT_DETONATE, 20000);
+ events.ScheduleEvent(EVENT_FISSURE, 25000);
+ events.ScheduleEvent(EVENT_BLAST, urand(30000,60000));
+ events.ScheduleEvent(EVENT_CHAIN, urand(30000,60000));
Phase = 2;
return;
default:
@@ -221,17 +220,17 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
{
case EVENT_BOLT:
DoCast(m_creature->getVictim(),SPELL_FROST_BOLT);
- events.RepeatEvent(2000);
+ events.RepeatEvent(urand(1000,10000));
return;
case EVENT_NOVA:
DoCastAOE(SPELL_FROST_BOLT_AOE);
- events.RepeatEvent(15000);
+ events.RepeatEvent(urand(10000,20000));
return;
case EVENT_CHAIN:
if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true))
DoCast(target, SPELL_CHAINS_OF_KELTHUZAD);
DoScriptText(SAY_CHAIN, me);
- events.RepeatEvent((rand()%30+30)*1000);
+ events.RepeatEvent(urand(30000,60000));
return;
case EVENT_DETONATE:
{
@@ -266,7 +265,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
DoCast(target, SPELL_FROST_BLAST);
if (rand()%2)
DoScriptText(SAY_FROST_BLAST, m_creature);
- events.RepeatEvent((rand()%30+30)*1000);
+ events.RepeatEvent(urand(30000,60000));
return;
default:
events.PopEvent();
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
index abcd95416c4..da8c6b3e712 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
@@ -171,7 +171,7 @@ struct TRINITY_DLL_DECL boss_svalaAI : public ScriptedAI
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
m_creature->SetDisplayId(DATA_SVALA_DISPLAY_ID);
- pArthas->DealDamage(pArthas, pArthas->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ pArthas->Kill(pArthas, false);
pArthas->RemoveCorpse();
Phase = FINISHED;
}
@@ -303,7 +303,7 @@ struct TRINITY_DLL_DECL boss_svala_sorrowgraveAI : public ScriptedAI
if (uiSacrificeTimer < diff)
{
bool bSacrificed = false;
- for (uint8 i=0; i < 3; ++i)
+ for (uint8 i = 0; i < 3; ++i)
{
if (pRitualChanneler[i] && pRitualChanneler[i]->isAlive())
{
@@ -341,7 +341,8 @@ struct TRINITY_DLL_DECL boss_svala_sorrowgraveAI : public ScriptedAI
{
Creature* pSvala = Unit::GetCreature((*m_creature), pInstance->GetData64(DATA_SVALA));
if (pSvala && pSvala->isAlive())
- pKiller->DealDamage(pSvala, pSvala->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ pKiller->Kill(pSvala, false);
+
pInstance->SetData(DATA_SVALA_SORROWGRAVE_EVENT, IN_PROGRESS);
}
DoScriptText(SAY_DEATH, m_creature);
diff --git a/src/game/Wintergrasp.cpp b/src/game/Wintergrasp.cpp
index de9be0fbcca..8305d76ec47 100644
--- a/src/game/Wintergrasp.cpp
+++ b/src/game/Wintergrasp.cpp
@@ -944,6 +944,10 @@ void OPvPWintergrasp::EndBattle()
for (PlayerSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr)
{
+ // When WG ends the zone is cleaned including corpses, revive all players if dead
+ if ((*itr)->isDead())
+ (*itr)->ResurrectPlayer(1.0f);
+
if ((*itr)->HasAura(SPELL_LIEUTENANT))
{
if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_CUSTOM_HONOR))
@@ -960,12 +964,6 @@ void OPvPWintergrasp::EndBattle()
REMOVE_WARTIME_AURAS(*itr);
REMOVE_TENACITY_AURA(*itr);
(*itr)->CombatStop(true);
-
- // When WG ends the zone is cleaned including corpses, revive all players if dead
- if (((*itr)->isDead()) || ((*itr)->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)))
- {
- (*itr)->ResurrectPlayer(1.0f);
- }
}
// destroyed all vehicles