本文整理汇总了C++中BossSpellWorker类的典型用法代码示例。如果您正苦于以下问题:C++ BossSpellWorker类的具体用法?C++ BossSpellWorker怎么用?C++ BossSpellWorker使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BossSpellWorker类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateAI
void UpdateAI(const uint32 uiDiff)
{
if (m_pInstance->GetData(TYPE_JARAXXUS) != IN_PROGRESS)
m_creature->ForcedDespawn();
if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
return;
bsw->timedCast(SPELL_FEL_INFERNO, uiDiff);
bsw->timedCast(SPELL_FEL_STREAK, uiDiff);
DoMeleeAttackIfReady();
}
示例2: Aggro
void Aggro(Unit* pWho)
{
if (!m_pInstance) return;
m_creature->SetInCombatWithZone();
m_pInstance->SetData(TYPE_JARAXXUS, IN_PROGRESS);
DoScriptText(-1713514,m_creature);
bsw->doCast(SPELL_NETHER_POWER);
}
示例3: UpdateAI
void UpdateAI(const uint32 uiDiff)
{
if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
return;
bsw->timedCast(SPELL_BATTER, uiDiff);
if (bsw->timedCast(SPELL_FIRE_BOMB, uiDiff, m_creature->getVictim()) == CAST_OK)
{
bsw->doCast(SPELL_FIRE_BOMB_1, m_creature->getVictim());
bsw->doCast(SPELL_FIRE_BOMB_DOT, m_creature->getVictim());
}
bsw->timedCast(SPELL_HEAD_CRACK, uiDiff);
DoMeleeAttackIfReady();
}
示例4: Reset
void Reset()
{
pBoss = NULL;
defaultTarget = NULL;
m_creature->SetInCombatWithZone();
m_creature->SetRespawnDelay(DAY);
pBoss = (Creature*)Unit::GetUnit((*m_creature),m_pInstance->GetData64(NPC_GORMOK));
if (pBoss) bsw->doCast(SPELL_RISING_ANGER,pBoss);
}
示例5: UpdateAI
void UpdateAI(const uint32 uiDiff)
{
if (bsw->timedQuery(SPELL_SLIME_POOL_2,uiDiff)) {
m_Size = m_Size*1.036;
me->SetFloatValue(OBJECT_FIELD_SCALE_X, m_Size);
}
// Override especially for clean core
if (m_Size >= 5.0f) me->ForcedDespawn();
}
示例6: Reset
void Reset()
{
pBoss = NULL;
defaultTarget = NULL;
me->SetInCombatWithZone();
me->SetRespawnDelay(DAY);
pBoss = Unit::GetCreature((*me),m_pInstance->GetData64(NPC_GORMOK));
if (pBoss) bsw->doCast(SPELL_RISING_ANGER,pBoss);
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
{
me->GetMotionMaster()->MoveChase(pTarget);
me->SetSpeed(MOVE_RUN, 1);
}
}
示例7: JustDied
void JustDied(Unit* pKiller)
{
if (defaultTarget && defaultTarget->isAlive()) bsw->doRemove(SPELL_SNOBOLLED, defaultTarget);
// if (pBoss && pBoss->isAlive()) bsw->doRemove(SPELL_RISING_ANGER,pBoss);
// This string - not offlike, in off this buff not removed! especially for small servers.
}
示例8: Aggro
void Aggro(Unit *who)
{
if (!m_pInstance) return;
defaultTarget = who;
bsw->doCast(SPELL_SNOBOLLED, defaultTarget);
}