void JustDied(Unit* /*killer*/) override { Talk(SAY_DEATH); DespawnGolem(); instance->SetBossState(DATA_VOLKHAN, DONE); }
void JustDied(Unit* /*killer*/) override { Talk(SAY_DEATH); DespawnGolem(); _JustDied(); }
void Reset() { m_bIsStriking = false; m_bHasTemper = false; m_bCanShatterGolem = false; m_bMove = false; m_uiPause_Timer = 1500; m_uiShatteringStomp_Timer = 30000; m_uiShatter_Timer = 3000; m_uiCheckTimer = 1100; m_uiCheckZ = 1000; GolemsShattered = 0; m_uiHealthAmountModifier = 1; DespawnGolem(); me->SetReactState(REACT_AGGRESSIVE); if (!me->HasUnitMovementFlag(MOVEMENTFLAG_WALKING)) me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); if (m_pInstance) m_pInstance->SetData(TYPE_VOLKHAN, NOT_STARTED); }
void JustDied(Unit* pKiller) { DoScriptText(SAY_DEATH, m_creature); DespawnGolem(); if (m_pInstance) m_pInstance->SetData(TYPE_VOLKHAN, DONE); }
void JustDied(Unit* /*killer*/) { Talk(SAY_DEATH); DespawnGolem(); if (instance) instance->SetData(TYPE_VOLKHAN, DONE); }
void Reset() override { Initialize(); _Reset(); DespawnGolem(); m_lGolemGUIDList.clear(); events.SetPhase(PHASE_INTRO); events.ScheduleEvent(EVENT_FORGE_CAST, 2 * IN_MILLISECONDS, 0, PHASE_INTRO); }
void Reset() override { Initialize(); DespawnGolem(); m_lGolemGUIDList.clear(); instance->SetBossState(DATA_VOLKHAN, NOT_STARTED); }
void JustDied(Unit* pKiller) { DoScriptText(SAY_DEATH, m_creature); DespawnGolem(); if (m_pInstance) if (m_uiArchivCounter < 5) { m_pInstance->DoCompleteAchievement(ACHIEVEMENT_SHATTER_RESISTANT); } m_pInstance->SetData(TYPE_VOLKHAN, DONE); }
void UpdateAI(const uint32 uiDiff) { //Return since we have no target if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; if(m_creature->getVictim()->GetEntry() == NPC_BRITTLE_GOLEM) DespawnGolem(); if (m_creature->GetHealthPercent() <= (80 - 20 * m_uiShatter_Counter)) { if (DoCastSpellIfCan(m_creature, m_bIsRegularMode ? SPELL_SHATTERING_STOMP_N : SPELL_SHATTERING_STOMP_H) == CAST_OK) { m_bMussShatter = true; DoScriptText(urand(0, 1) ? SAY_STOMP_1 : SAY_STOMP_2, m_creature); DoScriptText(EMOTE_SHATTER, m_creature); m_uiShatter_Counter++; } } if (m_bMussShatter) { if (m_uiMussShatterTimer < uiDiff) { m_bMussShatter = false; for(GuidList::iterator itr = m_lGolemGUIDList.begin(); itr != m_lGolemGUIDList.end(); ++itr) { if (Creature* pTemp = m_creature->GetMap()->GetCreature(*itr)) { if (pTemp->GetEntry() == NPC_BRITTLE_GOLEM) ++m_uiArchivCounter; pTemp->CastSpell(pTemp, m_bIsRegularMode ? SPELL_SHATTER_N : SPELL_SHATTER_H, true); pTemp->ForcedDespawn(500); } } m_lGolemGUIDList.clear(); m_uiMussShatterTimer = 3000; } else m_uiMussShatterTimer -= uiDiff; } if (m_creature->GetHealthPercent() < float(90 - 20*m_uiHealthAmountModifier) && (m_creature->GetHealthPercent() > 9.0f)) { if (DoCastSpellIfCan(m_creature,SPELL_TEMPER, false) == CAST_OK){ ++m_uiHealthAmountModifier; DoScriptText(urand(0, 1) ? SAY_FORGE_1 : SAY_FORGE_2, m_creature); } } DoMeleeAttackIfReady(); }
void Reset() { m_bIsStriking = false; m_bHasTemper = false; m_bCanShatterGolem = false; m_uiPause_Timer = 3500; m_uiShatteringStomp_Timer = 0; m_uiShatter_Timer = 5000; GolemsShattered = 0; m_uiHealthAmountModifier = 1; DespawnGolem(); m_lGolemGUIDList.clear(); if (m_pInstance) m_pInstance->SetData(TYPE_VOLKHAN, NOT_STARTED); }
void Reset() override { m_bIsStriking = false; m_bHasTemper = false; m_bCanShatterGolem = false; m_uiPause_Timer = 3500; m_uiShatteringStomp_Timer = 0; m_uiShatter_Timer = 5000; m_uiDelay_Timer = 1000; m_uiSummonPhase = 0; GolemsShattered = 0; m_uiHealthAmountModifier = 1; DespawnGolem(); m_lGolemGUIDList.clear(); instance->SetBossState(DATA_VOLKHAN, NOT_STARTED); }
void JustDied(Unit* /*killer*/) { Talk(SAY_DEATH); DespawnGolem(); if (m_instance) m_instance->SetData(TYPE_VOLKHAN, DONE); if (IsHeroic() && GolemsShattered < 5) { AchievementEntry const* AchievShatterResistant = sAchievementStore.LookupEntry(ACHIEVEMENT_SHATTER_RESISTANT); if (AchievShatterResistant) { Map* map = me->GetMap(); if (map && map->IsDungeon()) { Map::PlayerList const &players = map->GetPlayers(); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) itr->getSource()->CompletedAchievement(AchievShatterResistant); } } } }