当前位置: 首页>>代码示例>>C++>>正文


C++ IAmVeklor函数代码示例

本文整理汇总了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();
        }
    }
开发者ID:Phatcat,项目名称:mangos,代码行数:31,代码来源:boss_twinemperors.cpp

示例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();
        }
    }
开发者ID:AwkwardDev,项目名称:CataOld,代码行数:28,代码来源:boss_twinemperors.cpp

示例3: GetOtherBoss

 Creature* GetOtherBoss()
 {
     if (instance)
         return Unit::GetCreature(*me, instance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
     else
         return NULL;
 }
开发者ID:Caydan,项目名称:DeathCore,代码行数:7,代码来源:boss_twinemperors.cpp

示例4: GetOtherBoss

 Creature* GetOtherBoss()
 {
     if (pInstance)
         return (Creature*)Unit::GetUnit((*me), pInstance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
     else
         return (Creature*)0;
 }
开发者ID:Phentora,项目名称:OregonCore,代码行数:7,代码来源:boss_twinemperors.cpp

示例5: GetCreature

 Creature *GetOtherBoss()
 {
     if (pInstance)
         return Unit::GetCreature(*me, pInstance->GetData64(IAmVeklor() ? BOSS_VEKNILASH : BOSS_VEKLOR));
     else
         return NULL;
 }
开发者ID:sk3tche,项目名称:TrinityCore,代码行数:7,代码来源:boss_twinemperors.cpp

示例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();
        }
    }
开发者ID:Caydan,项目名称:DeathCore,代码行数:25,代码来源:boss_twinemperors.cpp

示例7: GetOtherBoss

 Creature* GetOtherBoss()
 {
     if (m_pInstance)
     {
         return m_pInstance->GetSingleCreatureFromStorage(IAmVeklor() ? NPC_VEKNILASH : NPC_VEKLOR);
     }
     else
     {
         return NULL;
     }
 }
开发者ID:Phatcat,项目名称:mangos,代码行数:11,代码来源:boss_twinemperors.cpp

示例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;
     }
 }
开发者ID:mangos-gameaction,项目名称:scriptdev2,代码行数:11,代码来源:boss_twinemperors.cpp

示例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);
	}
开发者ID:jsj2008,项目名称:StarGate-Plus-EMU,代码行数:12,代码来源:boss_twinemperors.cpp

示例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;
	}
开发者ID:jsj2008,项目名称:StarGate-Plus-EMU,代码行数:13,代码来源:boss_twinemperors.cpp

示例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();
			}
		}
	}
开发者ID:jsj2008,项目名称:StarGate-Plus-EMU,代码行数:15,代码来源:boss_twinemperors.cpp

示例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;
    }
开发者ID:megamage,项目名称:mangos,代码行数:15,代码来源:boss_twinemperors.cpp

示例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);
            }
        }
    }
开发者ID:mangos-gameaction,项目名称:scriptdev2,代码行数:16,代码来源:boss_twinemperors.cpp

示例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);
    }
开发者ID:Iov,项目名称:scriptdev2,代码行数:17,代码来源:boss_twinemperors.cpp

示例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);
    }
开发者ID:Iov,项目名称:scriptdev2,代码行数:18,代码来源:boss_twinemperors.cpp


注:本文中的IAmVeklor函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。