diff options
Diffstat (limited to 'src')
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 |