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


C++ instance_icecrown_citadel类代码示例

本文整理汇总了C++中instance_icecrown_citadel的典型用法代码示例。如果您正苦于以下问题:C++ instance_icecrown_citadel类的具体用法?C++ instance_icecrown_citadel怎么用?C++ instance_icecrown_citadel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了instance_icecrown_citadel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: MovementInform

    void MovementInform(uint32 uiMoveType, uint32 uiPointId) override
    {
        if (uiMoveType != POINT_MOTION_TYPE)
            return;

        if (uiPointId == POINT_ID_EVADE)
        {
            m_creature->SetFacingTo(fIntroPosition[3]);

            if (m_pInstance)
                m_pInstance->SetData(TYPE_DEATHBRINGER_SAURFANG, FAIL);
        }
        else if (uiPointId == POINT_ID_INTRO)
        {
            if (m_pInstance)
                m_pInstance->DoUseDoorOrButton(GO_SAURFANG_DOOR);

            // Note: this should be done only after the intro event is finished
            // ToDo: move this to the proper place after the intro will be implemented
            // Also the faction needs to be checked if it should be handled in database
            m_creature->setFaction(FACTION_ID_UNDEAD);
            m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_PASSIVE);
            m_creature->SetInCombatWithZone();
        }
    }
开发者ID:Celtus,项目名称:custom-core2,代码行数:25,代码来源:boss_deathbringer_saurfang.cpp

示例2: JustReachedHome

 void JustReachedHome() override
 {
     if (m_pInstance)
     {
         m_pInstance->SetData(TYPE_LADY_DEATHWHISPER, FAIL);
         m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);
     }
 }
开发者ID:mynew4,项目名称:RustEmu-Core,代码行数:8,代码来源:boss_lady_deathwhisper.cpp

示例3: JustReachedHome

 void JustReachedHome() override
 {
     if (m_pInstance)
     {
         m_pInstance->SetData(TYPE_MARROWGAR, FAIL);
         m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_BONED, false);
     }
 }
开发者ID:mynew4,项目名称:RustEmu-Core,代码行数:8,代码来源:boss_lord_marrowgar.cpp

示例4: UpdateAI

    void UpdateAI(const uint32 uiDiff) override
    {
        if (!m_pInstance)
            return;

        if (m_pInstance->GetData(TYPE_PLAGUE_WING_ENTRANCE) != IN_PROGRESS)
            return;

        // random summon creatures
        if (m_uiSummonTimer)
        {
            if (m_uiSummonTimer <= uiDiff)
            {
                float fX, fY, fZ;
                uint8 uiMaxInsects = urand(MAX_INSECT_PER_ROUND * 0.5, MAX_INSECT_PER_ROUND);
                for (uint8 i = 0; i < uiMaxInsects; ++i)
                {
                    m_creature->GetRandomPoint(m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(), 15.0f, fX, fY, fZ);
                    m_creature->SummonCreature(NPC_FLESH_EATING_INSECT, fX, fY, fZ + 20.0f, 0, TEMPSUMMON_TIMED_OOC_OR_DEAD_DESPAWN, 5 * MINUTE * IN_MILLISECONDS);
                }
                m_uiSummonTimer = urand(2000, 5000);
            }
            else
                m_uiSummonTimer -= uiDiff;
        }

        // event can last max 5 min
        if (m_uiEventTimer)
        {
            if (m_uiEventTimer <= uiDiff)
            {
                bool bEventFailed = true;

                // check withing all players in map if any are still alive and in LoS
                Map::PlayerList const& pAllPlayers = m_pInstance->instance->GetPlayers();

                if (!pAllPlayers.isEmpty())
                {
                    for (Map::PlayerList::const_iterator itr = pAllPlayers.begin(); itr != pAllPlayers.end(); ++itr)
                    {
                        if (Player* pPlayer = itr->getSource())
                        {
                            if (pPlayer->isAlive() && pPlayer->IsWithinLOSInMap(m_creature))
                                bEventFailed = false;
                        }
                    }
                }

                // set event as done if there are still players around
                m_pInstance->SetData(TYPE_PLAGUE_WING_ENTRANCE, bEventFailed ? FAIL : DONE);
                m_uiSummonTimer = 0;
                m_uiEventTimer = 0;
            }
            else
                m_uiEventTimer -= uiDiff;
        }
    }
开发者ID:HerrTrigger,项目名称:mangos-wotlk,代码行数:57,代码来源:icecrown_citadel.cpp

示例5: JustReachedHome

    void JustReachedHome() override
    {
        DoCastSpellIfCan(m_creature, SPELL_OOZE_FLOOD_REMOVE, CAST_TRIGGERED);

        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_ROTFACE, FAIL);

            // reset putricide
            if (Creature* pPutricide = m_pInstance->GetSingleCreatureFromStorage(NPC_PROFESSOR_PUTRICIDE))
                pPutricide->AI()->EnterEvadeMode();
        }
    }
开发者ID:dvdvideo1234,项目名称:mangos-wotlk,代码行数:13,代码来源:boss_rotface.cpp

示例6: Aggro

    void Aggro(Unit* /*pWho*/) override
    {
        DoScriptText(SAY_AGGRO, m_creature);
        DoCastSpellIfCan(m_creature, SPELL_SHROUD_OF_SORROW, CAST_TRIGGERED);

        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_QUEEN_LANATHEL, IN_PROGRESS);

            if (m_pInstance->IsHeroicDifficulty())
                DoCastSpellIfCan(m_creature, SPELL_PRESENCE_OF_DARKFALLEN, CAST_TRIGGERED);
        }
    }
开发者ID:Phatcat,项目名称:mangos-wotlk,代码行数:13,代码来源:boss_blood_queen_lanathel.cpp

示例7: Aggro

    void Aggro(Unit* /*pWho*/) override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_LADY_DEATHWHISPER, IN_PROGRESS);
            m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, true);
        }

        // make sure that the event will not continue in the fight
        m_bIsEventFinished = true;

        DoScriptText(SAY_AGGRO, m_creature);
        DoCastSpellIfCan(m_creature, SPELL_MANA_BARRIER, CAST_TRIGGERED);
    }
开发者ID:mynew4,项目名称:RustEmu-Core,代码行数:14,代码来源:boss_lady_deathwhisper.cpp

示例8: JustDied

    void JustDied(Unit* /*pKiller*/) override
    {
        DoCastSpellIfCan(m_creature, SPELL_OOZE_FLOOD_REMOVE, CAST_TRIGGERED);

        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_ROTFACE, DONE);

            // reset putricide
            if (Creature* pPutricide = m_pInstance->GetSingleCreatureFromStorage(NPC_PROFESSOR_PUTRICIDE))
                pPutricide->AI()->EnterEvadeMode();
        }

        DoScriptText(SAY_DEATH, m_creature);
    }
开发者ID:dvdvideo1234,项目名称:mangos-wotlk,代码行数:15,代码来源:boss_rotface.cpp

示例9: JustReachedHome

    void JustReachedHome() override
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_SINDRAGOSA, FAIL);

        m_creature->GetMotionMaster()->MovePoint(SINDRAGOSA_POINT_AIR_EAST, SindragosaPosition[8][0], SindragosaPosition[8][1], SindragosaPosition[8][2], false);
    }
开发者ID:Phatcat,项目名称:mangos-wotlk,代码行数:7,代码来源:boss_sindragosa.cpp

示例10: UpdateAI

    void UpdateAI(const uint32 uiDiff) override
    {
        if (!m_bHasImpaled)
        {
            if (m_creature->IsTemporarySummon())
            {
                TemporarySummon* pTemporary = (TemporarySummon*)m_creature;

                // Impale player
                if (Player* pSummoner = m_creature->GetMap()->GetPlayer(pTemporary->GetSummonerGuid()))
                    DoCastSpellIfCan(pSummoner, SPELL_IMPALED);
            }

            m_bHasImpaled = true;
        }

        // achievement check
        if (m_bBonedFailed)
            return;

        if (m_uiImpaledTimer > 8000)
        {
            m_bBonedFailed = true;

            if (m_pInstance)
                m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_BONED, false);
        }

        m_uiImpaledTimer += uiDiff;
    }
开发者ID:HerrTrigger,项目名称:mangos-wotlk,代码行数:30,代码来源:boss_lord_marrowgar.cpp

示例11: Aggro

    void Aggro(Unit* /*pWho*/) override
    {
        DoScriptText(SAY_AGGRO, m_creature);

        if (m_pInstance)
            m_pInstance->SetData(TYPE_MARROWGAR, IN_PROGRESS);
    }
开发者ID:HerrTrigger,项目名称:mangos-wotlk,代码行数:7,代码来源:boss_lord_marrowgar.cpp

示例12: JustReachedHome

    void JustReachedHome() override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_FESTERGUT, FAIL);

            // reset gas stalker and putricide
            if (Creature* pStalker = m_pInstance->GetSingleCreatureFromStorage(NPC_GAS_STALKER))
                pStalker->RemoveAllAurasOnEvade();

            if (Creature* pPutricide = m_pInstance->GetSingleCreatureFromStorage(NPC_PROFESSOR_PUTRICIDE))
                pPutricide->AI()->EnterEvadeMode();
        }

        DoCastSpellIfCan(m_creature, SPELL_REMOVE_INOCULENT, CAST_TRIGGERED);
    }
开发者ID:Lankytim,项目名称:mangos-wotlk,代码行数:16,代码来源:boss_festergut.cpp

示例13: JustReachedHome

    void JustReachedHome() override
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_ROTFACE, FAIL);

        DoCastSpellIfCan(m_creature, SPELL_OOZE_FLOOD_REMOVE, CAST_TRIGGERED);
    }
开发者ID:jviljoen82,项目名称:ScriptDev3,代码行数:7,代码来源:boss_rotface.cpp

示例14: JustDied

    void JustDied(Unit* /*pKiller*/) override
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_ROTFACE, DONE);

        DoScriptText(SAY_DEATH, m_creature);
    }
开发者ID:jviljoen82,项目名称:ScriptDev3,代码行数:7,代码来源:boss_rotface.cpp

示例15: JustReachedHome

    void JustReachedHome() override
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_FESTERGUT, FAIL);

        DoCastSpellIfCan(m_creature, SPELL_REMOVE_INOCULENT, CAST_TRIGGERED);
    }
开发者ID:AwkwardDev,项目名称:mangos-d3,代码行数:7,代码来源:boss_festergut.cpp


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