void Aggro(Unit* pWho) override { DoScriptText(SAY_AGGRO, m_creature, pWho); DoCastSpellIfCan(m_creature, SPELL_PERMAFROST); if (m_pInstance) m_pInstance->SetData(TYPE_GARFROST, IN_PROGRESS); }
void Aggro(Unit* pWho) override { if (m_pInstance) { m_pInstance->SetData(TYPE_KRICK, IN_PROGRESS); // Say aggro and also put Krick in combat if (Creature* pKrick = m_pInstance->GetSingleCreatureFromStorage(NPC_KRICK)) { DoScriptText(SAY_AGGRO, pKrick); pKrick->AI()->AttackStart(pWho); } } }
void JustDied(Unit* pKiller) override { DoScriptText(SAY_DEATH, m_creature, pKiller); if (m_pInstance) { m_pInstance->SetData(TYPE_GARFROST, DONE); // Summon Ironskull or Victus for outro m_creature->SummonCreature(m_pInstance->GetPlayerTeam() == HORDE ? NPC_IRONSKULL_PART1 : NPC_VICTUS_PART1, afOutroNpcSpawnLoc[0], afOutroNpcSpawnLoc[1], afOutroNpcSpawnLoc[2], afOutroNpcSpawnLoc[3], TEMPSUMMON_TIMED_DESPAWN, 2 * MINUTE * IN_MILLISECONDS); // ToDo: handle the other npcs movement } }
void JustDied(Unit* /*pKiller*/) override { if (m_pInstance) { m_pInstance->SetData(TYPE_KRICK, DONE); if (Creature* pKrick = m_pInstance->GetSingleCreatureFromStorage(NPC_KRICK)) { DoScriptText(SAY_OUTRO_1, pKrick); pKrick->AI()->EnterEvadeMode(); // Summon Jaina or Sylvanas for epilogue pKrick->SummonCreature(m_pInstance->GetPlayerTeam() == HORDE ? NPC_SYLVANAS_PART1 : NPC_JAINA_PART1, afOutroNpcSpawnLoc[0], afOutroNpcSpawnLoc[1], afOutroNpcSpawnLoc[2], afOutroNpcSpawnLoc[3], TEMPSUMMON_TIMED_DESPAWN, 2 * MINUTE * IN_MILLISECONDS); } if (Creature* pTyrannus = m_pInstance->GetSingleCreatureFromStorage(NPC_TYRANNUS_INTRO)) pTyrannus->NearTeleportTo(afTyrannusTeleLoc[0], afTyrannusTeleLoc[1], afTyrannusTeleLoc[2], afTyrannusTeleLoc[3]); } }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_GARFROST, FAIL); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_KRICK, FAIL); }