本文整理汇总了C++中MoonScriptCreatureAI::AggroNearestPlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ MoonScriptCreatureAI::AggroNearestPlayer方法的具体用法?C++ MoonScriptCreatureAI::AggroNearestPlayer怎么用?C++ MoonScriptCreatureAI::AggroNearestPlayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MoonScriptCreatureAI
的用法示例。
在下文中一共展示了MoonScriptCreatureAI::AggroNearestPlayer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnDied
void OnDied(Unit* pKiller)
{
GetUnit()->SendChatMessageAlternateEntry(4275, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Who dares interfere with the Sons of Arugal?");
GetUnit()->PlaySoundToSet(5791);
MoonScriptCreatureAI* voidwalker = NULL;
// Spawn 4 x Arugal's Voidwalkers
for(int x = 1; x < 5; x++)
{
voidwalker = SpawnCreature(4627, VWSpawns[x].x, VWSpawns[x].y, VWSpawns[x].z, VWSpawns[x].o);
if(voidwalker)
{
voidwalker->AggroNearestPlayer();
voidwalker = NULL;
}
}
ParentClass::OnDied(pKiller);
}
示例2: AIUpdate
void AIUpdate()
{
// Every 25% Halazzi calls on the lynx
if(!mLynx && GetHealthPercent() <= (100 - SplitCount * 25))
Split();
// Lynx OR Halazzi is at 20% HP Merge them together again
if(mLynx && (mLynx->GetHealthPct() <= 20 || GetHealthPercent() <= 20))
Merge();
// At <25% Phase 3 begins
if(GetHealthPercent() < 25 && GetPhase() == 1)
{
ResetTimer(mTotemTimer, 30000);
SetPhase(3);
}
if(GetPhase() == 2 || GetPhase() == 3)
{
if(IsTimerFinished(mTotemTimer))
{
MoonScriptCreatureAI* Totem = NULL;
Totem = SpawnCreature(CN_TOTEM, (_unit->GetPositionX() + RandomFloat(3) - 3), (_unit->GetPositionY() + RandomFloat(3) - 3), _unit->GetPositionZ(), 0, true);
if(Totem)
{
Totem->Despawn(60000); // Despawn in 60 seconds
Totem->AggroNearestPlayer();
Totem = NULL;
}
switch(GetPhase())
{
case 2:
ResetTimer(mTotemTimer, 60000);
break;
case 3:
ResetTimer(mTotemTimer, 30000);
break; // Spawn them faster then phase 2
}
}
}
}