void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); summons.DespawnAll(); if (pInstance) { if (IsHeroic() && !bDeadChaoticRift) pInstance->DoCompleteAchievement(ACHIEV_CHAOS_THEORY); pInstance->SetData(DATA_ANOMALUS_EVENT, DONE); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); lSummons.DespawnAll(); if (pInstance) { pInstance->SetData(DATA_SJONNIR_EVENT, DONE); if (IsHeroic() && uiKilledIronSludges > 4) pInstance->DoCompleteAchievement(ACHIEV_ABUSE_THE_OOZE); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); if (pInstance) { pInstance->SetData(DATA_NOVOS_EVENT, DONE); if (IsHeroic() && bAchiev) pInstance->DoCompleteAchievement(ACHIEV_OH_NOVOS); } lSummons.DespawnAll(); }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); Summons.DespawnAll(); if (m_pInstance) { m_pInstance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, DONE); if (IsHeroic() && m_bAchiev) m_pInstance->DoCompleteAchievement(ACHIEV_MY_GIRL_LOVES_TO_SKADI); } }
void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, me); if (pInstance) { pInstance->SetData(DATA_MOORABI_EVENT, DONE); if (IsHeroic() && !bPhase) pInstance->DoCompleteAchievement(ACHIEV_LESS_RABI); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); if (pInstance) { if (Creature *pTyrannus = me->GetCreature(*me, pInstance->GetData64(DATA_TYRANNUS))) DoScriptText(SAY_TYRANNUS_DEATH, pTyrannus); pInstance->SetData(DATA_GARFROST_EVENT, DONE); if (IsHeroic() && bAchievement) pInstance->DoCompleteAchievement(ACHIEV_DOESNT_GO_TO_ELEVEN); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); Summons.DespawnAll(); if (m_instance) { m_instance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, DONE); if(m_uiLoopCounter[1] == m_uiLoopCounter[2]) m_instance->DoCompleteAchievement(ACHIEV_GIRL_LOVES_SKADI); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); if (IsHeroic() && !ShatterFrostTomb) { if (pInstance) pInstance->DoCompleteAchievement(ACHIEVEMENT_ON_THE_ROCKS); } if (pInstance) pInstance->SetData(DATA_PRINCEKELESETH_EVENT, DONE); }
void JustDied(Unit *victim) { DoScriptText(SAY_DEATH, me); _JustDied(); // Needed if is killed during the Heart-phase me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_DISABLE_MOVE); // Achievements if (pInstance) { // Heartbreaker if (hardMode) pInstance->DoCompleteAchievement(ACHIEVEMENT_HEARTBREAKER); // Must Deconstruct Faster if (EncounterTime <= MAX_ENCOUNTER_TIME) pInstance->DoCompleteAchievement(ACHIEVEMENT_DECONSTRUCT_FASTER); // Nerf Engineering if (achievement_nerf) pInstance->DoCompleteAchievement(ACHIEVEMENT_NERF_ENG); } }
void JustDied(Unit* /*killer*/) { DoSendQuantumText(SAY_DEATH, me); Summons.DespawnAll(); if (instance) { if (bAchiev) instance->DoCompleteAchievement(ACHIEVEMENT_CONSUMPTION_JUNCTION); instance->SetData(DATA_TROLLGORE_EVENT, DONE); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); lSummons.DespawnAll(); if (pInstance) { if (bAchiev) pInstance->DoCompleteAchievement(ACHIEV_CONSUMPTION_JUNCTION); pInstance->SetData(DATA_TROLLGORE_EVENT, DONE); } }
void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, me); lSummons.DespawnAll(); me->SummonCreature(NPC_BRANN,me->GetPositionX(),me->GetPositionY(),me->GetPositionZ()); if(pInstance) { pInstance->SetData(DATA_SJONNIR_EVENT, DONE); if(IsHeroic() && uiKilledIronSludges > 4) pInstance->DoCompleteAchievement(ACHIEV_ABUSE_THE_OOZE); } }
void JustDied(Unit* /*killer*/) { Summons.DespawnAll(); if (instance) { instance->SetData(DATA_HADRONOX_EVENT, DONE); if (IsHeroic() && !bClosedDoor) { instance->DoCompleteAchievement(ACHIEVEMENT_HADRONOX_DENIED); } } }
void JustDied(Unit* pKiller) { DoScriptText(SAY_DEATH_3, me); if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE1))) pInstance->HandleGameObject(pGO->GetGUID(), true); if (pInstance) { pInstance->SetData(BOSS_BLACK_KNIGHT, DONE); if (IsHeroic()) pInstance->DoCompleteAchievement(ACHIEV_WORSE); } }
void JustDied(Unit* killer) { DoScriptText(SAY_DEATH, me); DespawnBoatGhosts(m_uiActivedCreatureGUID); DespawnBoatGhosts(m_uiOrbGUID); summons.DespawnAll(); if (pInstance) { if (IsHeroic() && m_bAchievement) pInstance->DoCompleteAchievement(ACHIEV_KINGS_BANE); pInstance->SetData(DATA_KING_YMIRON_EVENT, DONE); } }
void UpdateAI(const uint32 uiDiff) { if (bDone && uiResetTimer <= uiDiff) { me->GetMotionMaster()->MovePoint(0,746.843f, 695.68f, 412.339f); bDone = false; if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE))) pInstance->HandleGameObject(pGO->GetGUID(),false); if (IsHeroic()) pInstance->DoCompleteAchievement(ACHIEV_FACEROLLER); } else uiResetTimer -= uiDiff; if (!UpdateVictim()) return; if (uiHammerJusticeTimer <= uiDiff) { me->InterruptNonMeleeSpells(true); if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 250, true)) { if (pTarget && pTarget->isAlive()) { DoCast(pTarget, SPELL_HAMMER_JUSTICE); DoCast(pTarget, SPELL_HAMMER_RIGHTEOUS); } } uiHammerJusticeTimer = 25000; } else uiHammerJusticeTimer -= uiDiff; if (uiVenganceTimer <= uiDiff) { DoCast(me,SPELL_VENGEANCE); uiVenganceTimer = 10000; } else uiVenganceTimer -= uiDiff; if (uiRadianceTimer <= uiDiff) { DoCastAOE(SPELL_RADIANCE); uiRadianceTimer = 16000; } else uiRadianceTimer -= uiDiff; DoMeleeAttackIfReady(); }
void JustDied(Unit* /*Killer*/) { DoScriptText(RAND(SAY_MOLGEIM_DEATH_1, SAY_MOLGEIM_DEATH_2), me); if (IsEncounterComplete(pInstance, me) && pInstance) { pInstance->SetBossState(BOSS_ASSEMBLY, DONE); pInstance->DoCompleteAchievement(ACHIEVEMENT_CHOOSE_MOLGEIM); pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 65195); } else me->SetLootRecipient(NULL); if (Creature* Brundir = me->GetCreature(*me, pInstance->GetData64(DATA_BRUNDIR))) if (Brundir->isAlive()) Brundir->AI()->DoAction(ACTION_BRUNDIR); if (Creature* Steelbreaker = me->GetCreature(*me, pInstance->GetData64(DATA_STEELBREAKER))) if (Steelbreaker->isAlive()) Steelbreaker->AI()->DoAction(ACTION_STEELBREAKER); }
void DamageTaken(Unit *done_by, uint32 &damage) { if (damage >= me->GetHealth()) { damage = 0; EnterEvadeMode(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); DoScriptText(SAY_START_7, me); me->setFaction(35); bDone = true; if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE))) pInstance->HandleGameObject(pGO->GetGUID(), true); if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE1))) pInstance->HandleGameObject(pGO->GetGUID(), true); pInstance->SetData(BOSS_ARGENT_CHALLENGE_P, DONE); if (IsHeroic()) pInstance->DoCompleteAchievement(ACHIEV_CONF); } }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); if (!pInstance) return; pInstance->SetData(DATA_KRIKTHIR_THE_GATEWATCHER_EVENT, DONE); //Achievement: Watch him die Creature *pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_GASHRA)); if (!pAdd || !pAdd->isAlive()) return; pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_SILTHIK)); if (!pAdd || !pAdd->isAlive()) return; pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_NARJIL)); if (!pAdd || !pAdd->isAlive()) return; pInstance->DoCompleteAchievement(ACHIEV_WATH_HIM_DIE); }
void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); if (pInstance) { if (IsHeroic()) { if (lImpaledPlayers.size() == 5) pInstance->DoCompleteAchievement(ACHIEV_SHARE_THE_LOVE); AchievementEntry const *achievWhatTheEck = GetAchievementStore()->LookupEntry(ACHIEV_WHAT_THE_ECK); if (achievWhatTheEck) { Map::PlayerList const &players = pInstance->instance->GetPlayers(); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) if (itr->getSource()->HasAura(SPELL_ECK_RESIDUE)) itr->getSource()->CompletedAchievement(achievWhatTheEck); } } pInstance->SetData(DATA_GAL_DARAH_EVENT, DONE); } }
void UpdateEscortAI(const uint32 uiDiff) { if (uiPhaseTimer <= uiDiff) { switch(uiStep) { case 1: if (pInstance) { if (pInstance->GetData(DATA_BRANN_EVENT) != NOT_STARTED) return; pInstance->SetData(DATA_BRANN_EVENT, IN_PROGRESS); } bIsBattle = false; DoScriptText(SAY_ESCORT_START, me); SetRun(true); JumpToNextStep(0); break; case 3: SetEscortPaused(false); JumpToNextStep(0); break; case 5: if (pInstance) if (Creature* pTemp = (Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM)))) DoScriptText(SAY_EVENT_INTRO_3_ABED, pTemp); JumpToNextStep(8500); break; case 6: DoScriptText(SAY_EVENT_A_1, me); JumpToNextStep(6500); break; case 7: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_KADDRAK))) DoScriptText(SAY_EVENT_A_2_KADD, pTemp); JumpToNextStep(12500); break; case 8: DoScriptText(SAY_EVENT_A_3, me); if (pInstance) pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_KADDRAK), true); if (Creature* pTemp = Unit::GetCreature(*me, uiControllerGUID)) CAST_AI(mob_tribuna_controller::mob_tribuna_controllerAI, pTemp->AI())->bKaddrakActivated = true; JumpToNextStep(5000); break; case 9: me->SetReactState(REACT_PASSIVE); SpawnDwarf(1); JumpToNextStep(20000); break; case 10: DoScriptText(SAY_EVENT_B_1, me); JumpToNextStep(6000); break; case 11: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_MARNAK))) DoScriptText(SAY_EVENT_B_2_MARN, pTemp); SpawnDwarf(1); JumpToNextStep(20000); break; case 12: DoScriptText(SAY_EVENT_B_3, me); if (pInstance) pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_MARNAK), true); if (Creature* pTemp = Unit::GetCreature(*me, uiControllerGUID)) CAST_AI(mob_tribuna_controller::mob_tribuna_controllerAI, pTemp->AI())->bMarnakActivated = true; JumpToNextStep(10000); break; case 13: SpawnDwarf(1); JumpToNextStep(10000); break; case 14: SpawnDwarf(2); JumpToNextStep(20000); break; case 15: DoScriptText(SAY_EVENT_C_1, me); SpawnDwarf(1); JumpToNextStep(10000); break; case 16: SpawnDwarf(2); JumpToNextStep(20000); break; case 17: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_C_2_ABED, pTemp); SpawnDwarf(1); JumpToNextStep(20000); break; case 18: DoScriptText(SAY_EVENT_C_3, me); if (pInstance) pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_ABEDNEUM), true); if (Creature* pTemp = Unit::GetCreature(*me, uiControllerGUID)) CAST_AI(mob_tribuna_controller::mob_tribuna_controllerAI, pTemp->AI())->bAbedneumActivated = true; JumpToNextStep(5000); break; case 19: SpawnDwarf(2); JumpToNextStep(10000); break; case 20: SpawnDwarf(1); JumpToNextStep(15000); break; case 21: DoScriptText(SAY_EVENT_D_1, me); SpawnDwarf(3); JumpToNextStep(20000); break; case 22: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_D_2_ABED, pTemp); SpawnDwarf(1); JumpToNextStep(5000); break; case 23: SpawnDwarf(2); JumpToNextStep(15000); break; case 24: DoScriptText(SAY_EVENT_D_3, me); SpawnDwarf(3); JumpToNextStep(5000); break; case 25: SpawnDwarf(1); JumpToNextStep(5000); break; case 26: SpawnDwarf(2); JumpToNextStep(10000); break; case 27: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_D_4_ABED, pTemp); SpawnDwarf(1); JumpToNextStep(10000); break; case 28: me->SetReactState(REACT_DEFENSIVE); DoScriptText(SAY_EVENT_END_01, me); me->SetStandState(UNIT_STAND_STATE_STAND); if (pInstance) pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_SKY_FLOOR), true); if (Creature* pTemp = Unit::GetCreature(*me, uiControllerGUID)) pTemp->DealDamage(pTemp, pTemp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); bIsBattle = true; SetEscortPaused(false); JumpToNextStep(6500); break; case 29: DoScriptText(SAY_EVENT_END_02, me); if (pInstance) { pInstance->SetData(DATA_BRANN_EVENT, DONE); // Achievement criteria is with spell 59046 which does not exist. // There is thus no way it can be given by casting the spell on the players. pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 59046); if (!bHasBeenDamaged) pInstance->DoCompleteAchievement(ACHIEV_BRANN_SPANKIN_NEW); } JumpToNextStep(5500); break; case 30: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_END_03_ABED, pTemp); JumpToNextStep(8500); break; case 31: DoScriptText(SAY_EVENT_END_04, me); JumpToNextStep(11500); break; case 32: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_END_05_ABED, pTemp); JumpToNextStep(11500); break; case 33: DoScriptText(SAY_EVENT_END_06, me); JumpToNextStep(4500); break; case 34: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_END_07_ABED, pTemp); JumpToNextStep(22500); break; case 35: DoScriptText(SAY_EVENT_END_08, me); JumpToNextStep(7500); break; case 36: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_KADDRAK))) DoScriptText(SAY_EVENT_END_09_KADD, pTemp); JumpToNextStep(18500); break; case 37: DoScriptText(SAY_EVENT_END_10, me); JumpToNextStep(5500); break; case 38: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_KADDRAK))) DoScriptText(SAY_EVENT_END_11_KADD, pTemp); JumpToNextStep(20500); break; case 39: DoScriptText(SAY_EVENT_END_12, me); JumpToNextStep(2500); break; case 40: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_KADDRAK))) DoScriptText(SAY_EVENT_END_13_KADD, pTemp); JumpToNextStep(19500); break; case 41: DoScriptText(SAY_EVENT_END_14, me); JumpToNextStep(10500); break; case 42: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_MARNAK))) DoScriptText(SAY_EVENT_END_15_MARN, pTemp); JumpToNextStep(6500); break; case 43: DoScriptText(SAY_EVENT_END_16, me); JumpToNextStep(6500); break; case 44: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_MARNAK))) DoScriptText(SAY_EVENT_END_17_MARN, pTemp); JumpToNextStep(25500); break; case 45: DoScriptText(SAY_EVENT_END_18, me); JumpToNextStep(23500); break; case 46: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_MARNAK))) DoScriptText(SAY_EVENT_END_19_MARN, pTemp); JumpToNextStep(3500); break; case 47: DoScriptText(SAY_EVENT_END_20, me); JumpToNextStep(8500); break; case 48: if (pInstance) if (Creature* pTemp = Unit::GetCreature(*me, pInstance->GetData64(DATA_ABEDNEUM))) DoScriptText(SAY_EVENT_END_21_ABED, pTemp); JumpToNextStep(5500); break; case 49: { if (pInstance) { pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_KADDRAK), false); pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_MARNAK), false); pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_ABEDNEUM), false); pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_SKY_FLOOR), false); } Player* pPlayer = GetPlayerForEscort(); if (pPlayer) pPlayer->GroupEventHappens(QUEST_HALLS_OF_STONE, me); me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); JumpToNextStep(180000); break; } case 50: SetEscortPaused(false); break; } } else uiPhaseTimer -= uiDiff; if (!bIsLowHP && HealthBelowPct(30)) { DoScriptText(SAY_LOW_HEALTH, me); bIsLowHP = true; } else if (bIsLowHP && !HealthBelowPct(30)) bIsLowHP = false; if (!UpdateVictim()) return; DoMeleeAttackIfReady(); }
void KilledUnit(Unit* who) { DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); if(IsHeroic() && who->GetEntry() == CREATURE_SCOURGE_HULK) pInstance->DoCompleteAchievement(ACHIEV_INCREDIBLE_HULK); }