本文整理汇总了C++中instance_ulduar::GetKoloRubbleStalker方法的典型用法代码示例。如果您正苦于以下问题:C++ instance_ulduar::GetKoloRubbleStalker方法的具体用法?C++ instance_ulduar::GetKoloRubbleStalker怎么用?C++ instance_ulduar::GetKoloRubbleStalker使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类instance_ulduar
的用法示例。
在下文中一共展示了instance_ulduar::GetKoloRubbleStalker方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SummonedCreatureJustDied
void SummonedCreatureJustDied(Creature* pSummoned) override
{
if (!m_creature->isAlive() || !m_creature->getVictim())
return;
if (pSummoned->GetEntry() == NPC_LEFT_ARM)
{
if (m_pInstance)
{
if (Creature* pStalker = m_creature->GetMap()->GetCreature(m_pInstance->GetKoloRubbleStalker(false)))
{
pStalker->CastSpell(pStalker, m_bIsRegularMode ? SPELL_FALLING_RUBBLE : SPELL_FALLING_RUBBLE_H, TRIGGERED_OLD_TRIGGERED);
pStalker->CastSpell(pStalker, SPELL_SUMMON_RUBBLE, TRIGGERED_OLD_TRIGGERED);
pStalker->CastSpell(pStalker, SPELL_CANCEL_STONE_GRIP, TRIGGERED_OLD_TRIGGERED);
}
m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_OPEN_ARMS, false);
}
m_creature->RemoveAurasByCasterSpell(SPELL_RIDE_KOLOGARN_ARMS, pSummoned->GetObjectGuid());
pSummoned->CastSpell(m_creature, m_bIsRegularMode ? SPELL_ARM_DEAD_DAMAGE_KOLOGARN : SPELL_ARM_DEAD_DAMAGE_KOLOGARN_H, TRIGGERED_OLD_TRIGGERED);
DoScriptText(SAY_ARM_LOST_LEFT, m_creature);
m_uiRespawnLeftTimer = 48000;
// start disarmed achiev timer or set achiev crit as true if timer already started
if (m_uiDisarmedTimer)
{
if (m_pInstance)
m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_DISARMED, true);
}
else
m_uiDisarmedTimer = 12000;
}
else if (pSummoned->GetEntry() == NPC_RIGHT_ARM)
{
// spawn Rubble and cancel stone grip
if (m_pInstance)
{
if (Creature* pStalker = m_creature->GetMap()->GetCreature(m_pInstance->GetKoloRubbleStalker(true)))
{
pStalker->CastSpell(pStalker, m_bIsRegularMode ? SPELL_FALLING_RUBBLE : SPELL_FALLING_RUBBLE_H, TRIGGERED_OLD_TRIGGERED);
pStalker->CastSpell(pStalker, SPELL_SUMMON_RUBBLE, TRIGGERED_OLD_TRIGGERED);
pStalker->CastSpell(pStalker, SPELL_CANCEL_STONE_GRIP, TRIGGERED_OLD_TRIGGERED);
}
m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_OPEN_ARMS, false);
}
m_creature->RemoveAurasByCasterSpell(SPELL_RIDE_KOLOGARN_ARMS, pSummoned->GetObjectGuid());
pSummoned->CastSpell(m_creature, m_bIsRegularMode ? SPELL_ARM_DEAD_DAMAGE_KOLOGARN : SPELL_ARM_DEAD_DAMAGE_KOLOGARN_H, TRIGGERED_OLD_TRIGGERED);
DoScriptText(SAY_ARM_LOST_RIGHT, m_creature);
m_uiRespawnRightTimer = 48000;
// start disarmed achiev timer or set achiev crit as true if timer already started
if (m_uiDisarmedTimer)
{
if (m_pInstance)
m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_DISARMED, true);
}
else
m_uiDisarmedTimer = 12000;
}
}