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


C++ instance_icecrown_citadel::SetSpecialAchievementCriteria方法代码示例

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


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

示例1: 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

示例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: JustDied

    void JustDied(Unit* /*Killer*/) override
    {
        if (Unit* pCreator = m_creature->GetCreator())
        {
            pCreator->RemoveAurasDueToSpell(SPELL_IMPALED);
            m_creature->ForcedDespawn();
        }

        if (m_pInstance && m_uiEmpaledTime > 8000)
            m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_BONED, false);
    }
开发者ID:mynew4,项目名称:RustEmu-Core,代码行数:11,代码来源:boss_lord_marrowgar.cpp

示例5: 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

示例6: JustDied

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

            // Find required NPC as achievement criteria
            SummonsEntryList.clear();
            GetCreatureListWithEntryInGrid(SummonsEntryList, m_creature, NPC_CULT_ADHERENT, 250.0f);
            if (SummonsEntryList.empty())
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);

            SummonsEntryList.clear();
            GetCreatureListWithEntryInGrid(SummonsEntryList, m_creature, NPC_CULT_FANATIC, 250.0f);
            if (SummonsEntryList.empty())
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);
            SummonsEntryList.clear();
            GetCreatureListWithEntryInGrid(SummonsEntryList, m_creature, NPC_REANIMATED_FANATIC, 250.0f);
            if (SummonsEntryList.empty())
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);

            SummonsEntryList.clear();
            GetCreatureListWithEntryInGrid(SummonsEntryList, m_creature, NPC_REANIMATED_ADHERENT, 250.0f);
            if (SummonsEntryList.empty())
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);

            SummonsEntryList.clear();
            GetCreatureListWithEntryInGrid(SummonsEntryList, m_creature, NPC_DEFORMED_FANATIC, 250.0f);
            if (SummonsEntryList.empty())
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_FULL_HOUSE, false);

            m_pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_ACHIEVEMENT_CREDIT);
        }

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

示例7: Aggro

    void Aggro(Unit* /*pWho*/) override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_DEATHBRINGER_SAURFANG, IN_PROGRESS);
            m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_IVE_GONE_AND_MADE_A_MESS, true);
            m_iMarkOfFallenCount = 0;
        }

        DoScriptText(SAY_AGGRO, m_creature);

        SetEquipmentSlots(false, EQUIP_MAIN, EQUIP_OFFHAND, EQUIP_RANGED);

        DoCastSpellIfCan(m_creature, SPELL_BLOOD_POWER, CAST_TRIGGERED);
        DoCastSpellIfCan(m_creature, SPELL_RUNE_OF_BLOOD, CAST_TRIGGERED);
        DoCastSpellIfCan(m_creature, SPELL_MARK_OF_FALLEN_CHAMPION, CAST_TRIGGERED);
    }
开发者ID:concept45,项目名称:RustEmu-SD2,代码行数:17,代码来源:boss_deathbringer_saurfang.cpp

示例8: ReceiveAIEvent

    void ReceiveAIEvent(AIEventType eventType, Creature* pSender, Unit* pInvoker, uint32 uiMiscValue) override
    {
        if (eventType == AI_EVENT_CUSTOM_A)
        {
            // prepare explosion; Rotface yells and achiev is failed
            if (DoCastSpellIfCan(m_creature, SPELL_UNSTABLE_EXPLOSION) == CAST_OK)
            {
                if (m_pInstance)
                {
                    if (Creature* pRotface = m_pInstance->GetSingleCreatureFromStorage(NPC_ROTFACE))
                        DoScriptText(SAY_OOZE_EXPLODE, pRotface);

                    m_pInstance->SetSpecialAchievementCriteria(TYPE_ACHIEV_DANCES_OOZES, false);
                }

                m_uiUnstableExplosionTimer = 5000;
            }
        }
    }
开发者ID:dvdvideo1234,项目名称:mangos-wotlk,代码行数:19,代码来源:boss_rotface.cpp

示例9: JustDied

    void JustDied(Unit* /*pKiller*/) override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_DEATHBRINGER_SAURFANG, DONE);
            if (m_iMarkOfFallenCount > (m_bIs25Man ? 5: 3))
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_IVE_GONE_AND_MADE_A_MESS, false);
        }

        m_creature->CastSpell(m_creature, SPELL_ACHIEVEMENT_CREDIT, false);

        DoScriptText(SAY_DEATH, m_creature);
        DoCastSpellIfCan(m_creature, SPELL_REMOVE_MARKS, CAST_TRIGGERED);

        if (Creature* pTmp = m_creature->GetMap()->GetCreature(m_guidEventNpcGuid))
        {
            if (npc_highlord_saurfang_iccAI* pTmpAI = dynamic_cast<npc_highlord_saurfang_iccAI*>(pTmp->AI()))
                pTmpAI->DoContinueEvent();
        }
    }
开发者ID:concept45,项目名称:RustEmu-SD2,代码行数:20,代码来源:boss_deathbringer_saurfang.cpp

示例10: Reset

    void Reset() override
    {
        SetCombatMovement(true);

        m_uiPhase = PHASE_NORMAL;

        m_uiBerserkTimer = 10 * MINUTE * IN_MILLISECONDS;
        m_uiBoneSliceTimer = 10000;
        m_uiColdflameTimer = 5000;
        m_uiBoneSpikeTimer = 12000;
        m_uiBoneStormTimer = 45000;
        m_uiBoneStormChargeTimer = 3000;
        m_uiBoneStormColdflameTimer = 1000;

        m_uiChargesCount = 0;

        m_creature->SetSpeedRate(MOVE_RUN, 1.0f);
        if (m_pInstance)
            m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_BONED, true);
    }
开发者ID:mynew4,项目名称:RustEmu-Core,代码行数:20,代码来源:boss_lord_marrowgar.cpp

示例11: MovementInform

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

        // "JustReachedHome()"
        if (uiPointId == POINT_ID_EVADE)
        {
            m_creature->SetFacingTo(M_PI_F);

            if (m_pInstance)
            {
                m_pInstance->SetData(TYPE_DEATHBRINGER_SAURFANG, FAIL);
                m_pInstance->SetSpecialAchievementCriteria(ACHIEVE_IVE_GONE_AND_MADE_A_MESS, false);
            }

            m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
            m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
            m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
            m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE);
        }
    }
开发者ID:concept45,项目名称:RustEmu-SD2,代码行数:22,代码来源:boss_deathbringer_saurfang.cpp


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