diff options
Diffstat (limited to 'src/scripts')
3 files changed, 15 insertions, 3 deletions
diff --git a/src/scripts/northrend/storm_peaks.cpp b/src/scripts/northrend/storm_peaks.cpp index 134a6a6c3b3..18c02d96777 100644 --- a/src/scripts/northrend/storm_peaks.cpp +++ b/src/scripts/northrend/storm_peaks.cpp @@ -163,7 +163,7 @@ bool GossipSelect_npc_thorim(Player* pPlayer, Creature* pCreature, uint32 uiSend break; case GOSSIP_ACTION_INFO_DEF+4: pPlayer->CLOSE_GOSSIP_MENU(); - pPlayer->AreaExploredOrEventHappens(QUEST_SIBLING_RIVALRY); + pPlayer->CompleteQuest(QUEST_SIBLING_RIVALRY); break; } return true; diff --git a/src/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp b/src/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp index 861b63858b0..11195e0cc1b 100644 --- a/src/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp +++ b/src/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp @@ -91,21 +91,29 @@ struct instance_halls_of_lightning : public ScriptedInstance m_uiBjarngrimDoorGUID = pGo->GetGUID(); if (m_auiEncounter[0] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); + else + pGo->SetGoState(GO_STATE_READY); break; case GO_VOLKHAN_DOOR: m_uiVolkhanDoorGUID = pGo->GetGUID(); if (m_auiEncounter[1] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); + else + pGo->SetGoState(GO_STATE_READY); break; case GO_IONAR_DOOR: m_uiIonarDoorGUID = pGo->GetGUID(); if (m_auiEncounter[2] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); + else + pGo->SetGoState(GO_STATE_READY); break; case GO_LOKEN_DOOR: m_uiLokenDoorGUID = pGo->GetGUID(); if (m_auiEncounter[3] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); + else + pGo->SetGoState(GO_STATE_READY); break; case GO_LOKEN_THRONE: m_uiLokenGlobeGUID = pGo->GetGUID(); diff --git a/src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp b/src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp index 5cb20923fd2..6c45c6a106b 100644 --- a/src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp +++ b/src/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp @@ -222,6 +222,8 @@ struct boss_svala_sorrowgraveAI : public ScriptedAI Creature* pRitualChanneler[3]; Unit* pSacrificeTarget; + + bool bSacrificed; ScriptedInstance* pInstance; @@ -231,6 +233,8 @@ struct boss_svala_sorrowgraveAI : public ScriptedAI uiCallFlamesTimer = 10000; uiRitualOfSwordTimer = 20000; uiSacrificeTimer = 8000; + + bSacrificed = false; Phase = NORMAL; @@ -276,7 +280,7 @@ struct boss_svala_sorrowgraveAI : public ScriptedAI } } else uiCallFlamesTimer -= diff; - if (uiRitualOfSwordTimer <= diff) + if (!bSacrificed && uiRitualOfSwordTimer <= diff) { pSacrificeTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true); if (pSacrificeTarget) @@ -294,7 +298,7 @@ struct boss_svala_sorrowgraveAI : public ScriptedAI if (mob_ritual_channelerAI *pChannelerAI = CAST_AI(mob_ritual_channelerAI,pRitualChanneler[i]->AI())) pChannelerAI->AttackStartNoMove(pSacrificeTarget); - uiRitualOfSwordTimer = urand(18000,22000); + bSacrificed = true; } } else uiRitualOfSwordTimer -= diff; |