本文整理汇总了C++中IAmVeklor函数的典型用法代码示例。如果您正苦于以下问题:C++ IAmVeklor函数的具体用法?C++ IAmVeklor怎么用?C++ IAmVeklor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IAmVeklor函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TeleportToMyBrother
void TeleportToMyBrother()
{
if (!m_pInstance)
return;
Teleport_Timer = TELEPORTTIME;
if (IAmVeklor())
return; // mechanics handled by veknilash so they teleport exactly at the same time and to correct coordinates
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
//m_creature->MonsterYell("Teleporting ...", LANG_UNIVERSAL);
float other_x = pOtherBoss->GetPositionX();
float other_y = pOtherBoss->GetPositionY();
float other_z = pOtherBoss->GetPositionZ();
float other_o = pOtherBoss->GetOrientation();
pOtherBoss->RelocateCreature(m_creature->GetPositionX(),
m_creature->GetPositionY(), m_creature->GetPositionZ(), m_creature->GetOrientation());
pOtherBoss->GetMotionMaster()->MoveIdle();
m_creature->RelocateCreature(other_x, other_y, other_z, other_o);
m_creature->GetMotionMaster()->MoveIdle();
SetAfterTeleport();
if (boss_twinemperorsAI* pOtherAI = dynamic_cast<boss_twinemperorsAI*>(pOtherBoss->AI()))
pOtherAI->SetAfterTeleport();
}
}
示例2: TeleportToMyBrother
void TeleportToMyBrother()
{
if (!pInstance)
return;
Teleport_Timer = TELEPORTTIME;
if (IAmVeklor())
return; // mechanics handled by veknilash so they teleport exactly at the same time and to correct coordinates
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
//me->MonsterYell("Teleporting ...", LANG_UNIVERSAL, 0);
float other_x = pOtherBoss->GetPositionX();
float other_y = pOtherBoss->GetPositionY();
float other_z = pOtherBoss->GetPositionZ();
float other_o = pOtherBoss->GetOrientation();
Map *thismap = me->GetMap();
thismap->CreatureRelocation(pOtherBoss, me->GetPositionX(),
me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
thismap->CreatureRelocation(me, other_x, other_y, other_z, other_o);
SetAfterTeleport();
CAST_AI(boss_twinemperorsAI, pOtherBoss->AI())->SetAfterTeleport();
}
}
示例3: GetOtherBoss
Creature* GetOtherBoss()
{
if (instance)
return Unit::GetCreature(*me, instance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
else
return NULL;
}
示例4: GetOtherBoss
Creature* GetOtherBoss()
{
if (pInstance)
return (Creature*)Unit::GetUnit((*me), pInstance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
else
return (Creature*)0;
}
示例5: GetCreature
Creature *GetOtherBoss()
{
if (pInstance)
return Unit::GetCreature(*me, pInstance->GetData64(IAmVeklor() ? BOSS_VEKNILASH : BOSS_VEKLOR));
else
return NULL;
}
示例6: TeleportToMyBrother
void TeleportToMyBrother()
{
if (!instance)
return;
Teleport_Timer = TELEPORTTIME;
if (IAmVeklor())
return; // mechanics handled by veknilash so they teleport exactly at the same time and to correct coordinates
Creature* pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
//me->MonsterYell("Teleporting ...", LANG_UNIVERSAL, 0);
Position thisPos;
thisPos.Relocate(me);
Position otherPos;
otherPos.Relocate(pOtherBoss);
pOtherBoss->SetPosition(thisPos);
me->SetPosition(otherPos);
SetAfterTeleport();
CAST_AI(boss_twinemperorsAI, pOtherBoss->AI())->SetAfterTeleport();
}
}
示例7: GetOtherBoss
Creature* GetOtherBoss()
{
if (m_pInstance)
{
return m_pInstance->GetSingleCreatureFromStorage(IAmVeklor() ? NPC_VEKNILASH : NPC_VEKLOR);
}
else
{
return NULL;
}
}
示例8: return
Creature *GetOtherBoss()
{
if (m_pInstance)
{
return (Creature *)Unit::GetUnit((*m_creature), m_pInstance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
}
else
{
return (Creature *)0;
}
}
示例9: JustDied
void JustDied(Unit* /*Killer*/) {
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss) {
pOtherBoss->SetHealth(0);
pOtherBoss->setDeathState(JUST_DIED);
pOtherBoss->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
CAST_AI(boss_twinemperorsAI, pOtherBoss->AI())->DontYellWhenDead =
true;
}
if (!DontYellWhenDead) // I hope AI is not threaded
DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_DEATH : SOUND_VN_DEATH);
}
示例10: TryHealBrother
void TryHealBrother(uint32 diff) {
if (IAmVeklor()) // this spell heals caster and the other brother so let VN cast it
return;
if (Heal_Timer <= diff) {
Unit *pOtherBoss = GetOtherBoss();
if (pOtherBoss && pOtherBoss->IsWithinDist(me, 60)) {
DoCast(pOtherBoss, SPELL_HEAL_BROTHER);
Heal_Timer = 1000;
}
} else
Heal_Timer -= diff;
}
示例11: EnterCombat
void EnterCombat(Unit * who) {
DoZoneInCombat();
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss) {
// TODO: we should activate the other boss location so he can start attackning even if nobody
// is near I dont know how to do that
ScriptedAI *otherAI = CAST_AI(ScriptedAI, pOtherBoss->AI());
if (!pOtherBoss->isInCombat()) {
DoPlaySoundToSet(me,
IAmVeklor() ? SOUND_VL_AGGRO : SOUND_VN_AGGRO);
otherAI->AttackStart(who);
otherAI->DoZoneInCombat();
}
}
}
示例12: TryHealBrother
void TryHealBrother(uint32 diff)
{
if (IAmVeklor()) // this spell heals caster and the other brother so let VN cast it
return;
if (Heal_Timer < diff)
{
Unit *pOtherBoss = GetOtherBoss();
if (pOtherBoss && (pOtherBoss->GetDistance((const Creature *)m_creature) <= 60))
{
DoCast(pOtherBoss, SPELL_HEAL_BROTHER);
Heal_Timer = 1000;
}
} else Heal_Timer -= diff;
}
示例13: Aggro
void Aggro(Unit* pWho)
{
m_creature->SetInCombatWithZone();
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
// TODO: we should activate the other boss location so he can start attackning even if nobody
// is near I dont know how to do that
if (!pOtherBoss->isInCombat())
{
DoPlaySoundToSet(m_creature, IAmVeklor() ? SOUND_VL_AGGRO : SOUND_VN_AGGRO);
pOtherBoss->AI()->AttackStart(pWho);
}
}
}
示例14: Aggro
void Aggro(Unit* pWho)
{
Creature *pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
// TODO: we should activate the other boss location so he can start attackning even if nobody
// is near I dont know how to do that
if (!pOtherBoss->isInCombat())
{
DoPlaySoundToSet(m_creature, IAmVeklor() ? SOUND_VL_AGGRO : SOUND_VN_AGGRO);
pOtherBoss->AI()->AttackStart(pWho);
}
}
if (m_pInstance)
m_pInstance->SetData(TYPE_TWINS, IN_PROGRESS);
}
示例15: JustDied
void JustDied(Unit* Killer)
{
if (Creature* pOtherBoss = GetOtherBoss())
{
pOtherBoss->SetHealth(0);
pOtherBoss->SetDeathState(JUST_DIED);
pOtherBoss->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
if (boss_twinemperorsAI* pOtherAI = dynamic_cast<boss_twinemperorsAI*>(pOtherBoss->AI()))
pOtherAI->DontYellWhenDead = true;
}
if (!DontYellWhenDead) // I hope AI is not threaded
DoPlaySoundToSet(m_creature, IAmVeklor() ? SOUND_VL_DEATH : SOUND_VN_DEATH);
if (m_pInstance)
m_pInstance->SetData(TYPE_TWINS, DONE);
}