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


C++ InstanceScript::DoRemoveAurasDueToSpellOnPlayers方法代码示例

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


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

示例1: JustDied

        void JustDied(Unit* attacker)
        {
            Talk(TALK_DEATH);
            _JustDied();

            pInstance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
            pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_NULLIFICATION_BARRIER_PLAYERS);
            pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_INVERSION);

            if (GameObject* inversionGob = pInstance->instance->GetGameObject(pInstance->GetData64(GOB_INVERSION)))
                inversionGob->Delete();

            if (GameObject* cancelGob = pInstance->instance->GetGameObject(pInstance->GetData64(GOB_CANCEL)))
                cancelGob->Delete();

            if (Creature* lorewalkerCho = GetClosestCreatureWithEntry(me, 61348, 100.0f, true))
            {
                if (lorewalkerCho->AI())
                {
                    if (lorewalkerCho->GetPositionX() >= 3994.0f && lorewalkerCho->GetPositionX() <= 3996.0f &&
                            lorewalkerCho->GetPositionY() >= 1339.0f && lorewalkerCho->GetPositionY() <= 1341.0f &&
                            lorewalkerCho->GetPositionZ() >= 460.0f && lorewalkerCho->GetPositionZ() <= 463.0f)
                    {
                        lorewalkerCho->AI()->Talk(9);
                        lorewalkerCho->AI()->DoAction(ACTION_CONTINUE_ESCORT);
                    }
                }
            }
        }
开发者ID:Grimtonz1337,项目名称:JadeCore,代码行数:29,代码来源:boss_feng.cpp

示例2: JustDied

            void JustDied(Unit* attacker)
            {
                me->CastSpell(me, SPELL_RELEASE_SPIRIT, false);

                events.Reset();
                pInstance->SetBossState(DATA_GARAJAL, DONE);
                pInstance->SaveToDB();

                pInstance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);

                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_VOODOO_DOLL_VISUAL);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_VOODOO_DOLL_SHARE);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_CLONE_VISUAL);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_CROSSED_OVER);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_LIFE_FRAGILE_THREAD);

                if (Creature* lorewalkerCho = GetClosestCreatureWithEntry(me, 61348, 200.0f, true))
                {
                    if (lorewalkerCho->AI())
                    {
                        {
                            lorewalkerCho->AI()->DoAction(ACTION_CONTINUE_ESCORT);
                            lorewalkerCho->AI()->DoAction(ACTION_RUN);
                        }
                    }
                }
            }
开发者ID:CATACLYSMDEV,项目名称:JadeCore-5.4.8-18291--dev-,代码行数:27,代码来源:boss_garajal.cpp

示例3: JustReachedHome

            void JustReachedHome()
            {
                _JustReachedHome();
                if (pInstance)
                    pInstance->SetBossState(DATA_STONE_GUARD, FAIL);
                me->RemoveAurasDueToSpell(SPELL_AMETHYST_PETRIFICATION);
                me->RemoveAurasDueToSpell(SPELL_JADE_PETRIFICATION);
                me->RemoveAurasDueToSpell(SPELL_COBALT_PETRIFICATION);
                me->RemoveAurasDueToSpell(SPELL_JASPER_PETRIFICATION);

                for (uint32 entry: guardiansEntry)
                {
                    if (pInstance)
                    {
                        if (Creature* gardian = me->GetMap()->GetCreature(pInstance->GetData64(entry)))
                        {
                            pInstance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, gardian);
                            gardian->RemoveAurasDueToSpell(SPELL_AMETHYST_PETRIFICATION);
                            gardian->RemoveAurasDueToSpell(SPELL_JADE_PETRIFICATION);
                            gardian->RemoveAurasDueToSpell(SPELL_COBALT_PETRIFICATION);
                            gardian->RemoveAurasDueToSpell(SPELL_JASPER_PETRIFICATION);
                        }
                    }
                }

                if (pInstance)
                {
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_JASPER_CHAINS);
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TOTALY_PETRIFIED);
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_COBALT_PETRIFICATION_BAR);
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_JASPER_PETRIFICATION_BAR);
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_JADE_PETRIFICATION_BAR);
                    pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_AMETHYST_PETRIFICATION_BAR);
                }
            }
开发者ID:AlucardVoss,项目名称:Patchs,代码行数:35,代码来源:boss_stone_guard.cpp

示例4: OnGossipSelect

        bool OnGossipSelect(Player *player, Creature *npc, uint32 sender, uint32 uiAction)
        {
            InstanceScript* instance = npc->GetInstanceScript();

            if (sender != GOSSIP_SENDER_MAIN)
            {
                player->CLOSE_GOSSIP_MENU();
                return true;
            }

            switch (uiAction)
            {
            case 1:
                {
                    instance->SetData(DATA_BUFF, 4);
                    instance->DoRemoveAurasDueToSpellOnPlayers(73828);
                    instance->DoRemoveAurasDueToSpellOnPlayers(73762);
                    instance->DoRemoveAurasDueToSpellOnPlayers(73824);
                    instance->DoRemoveAurasDueToSpellOnPlayers(73825);
                    player->CLOSE_GOSSIP_MENU();
                }
                break;
            case 2:
                instance->SetData(DATA_BUFF, 3);
                instance->DoCastSpellOnPlayers(73762);
                player->CLOSE_GOSSIP_MENU();
                break;
            case 3:
                instance->SetData(DATA_BUFF, 2);
                instance->DoCastSpellOnPlayers(73824);
                player->CLOSE_GOSSIP_MENU();
                break;
            case 4:
                instance->SetData(DATA_BUFF, 1);
                instance->DoCastSpellOnPlayers(73825);
                player->CLOSE_GOSSIP_MENU();
                break;
            case 5:
                instance->SetData(DATA_BUFF, 0);
                instance->DoCastSpellOnPlayers(73828);
                player->CLOSE_GOSSIP_MENU();
                break;
            case 6: //Close
                {
                    player->CLOSE_GOSSIP_MENU();
                    return true;
                }

            default:
                player->CLOSE_GOSSIP_MENU();
                return true;
            }
            return true;
        }
开发者ID:GetPlay,项目名称:TC,代码行数:54,代码来源:npc_icc_buff.cpp

示例5: JustDied

        void JustDied(Unit* /*pKiller*/)
        {
            DoScriptText(SAY_DEATH, me);

            if(pInstance)
            {
                pInstance->SetData(DATA_KRYSTALLUS_EVENT, DONE);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_STONED);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GROUND_SLAM);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GROUND_SLAM_TRIGGERED);
            }
        }
开发者ID:Naios,项目名称:MythCore,代码行数:12,代码来源:boss_krystallus.cpp

示例6: SummonedCreatureDespawn

 void SummonedCreatureDespawn(Creature* pSummoned)
 {
     switch (pSummoned->GetEntry())
     {
         case NPC_LIGHT_ESSENCE:
             m_pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_LIGHT_ESSENCE_HELPER);
             break;
         case NPC_DARK_ESSENCE:
             m_pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_DARK_ESSENCE_HELPER);
             break;
     }
     Summons.Despawn(pSummoned);
 }
开发者ID:Bootz,项目名称:OpenStage-Project,代码行数:13,代码来源:boss_twin_valkyr.cpp

示例7: ClearInstance

        void ClearInstance()
        {
            // Remove phase shift
            if (pInstance)
            {
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TWILIGHT_SHIFT);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TWILIGHT_TORMENT_VESPERON);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TWILIGHT_TORMENT_SARTHARION);
            }

            summons.DespawnAll();
            RemoveTwilightPortal();
        }
开发者ID:boom8866,项目名称:azerothcore-wotlk,代码行数:13,代码来源:boss_sartharion.cpp

示例8: JustDied

        void JustDied(Unit* /*killer*/) override
        {
            Talk(SAY_DEATH);

            instance->SetBossState(DATA_LOKEN, DONE);
            instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PULSING_SHOCKWAVE_AURA);
        }
开发者ID:Rastrian,项目名称:DeathCore_3.3.5,代码行数:7,代码来源:boss_loken.cpp

示例9: EnterEvadeMode

        void EnterEvadeMode()
        {
            // Remove all auras from the Legs and unset them in combat.
            for (uint8 i = 0; i <= 3; ++i)
                if (Unit* Leg = vehicle->GetPassenger(i))
                {
                    Leg->RemoveAllAuras();
                    Leg->DeleteThreatList();
                    Leg->CombatStop(false);

                    if (instance)
                        instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, Leg); // Remove
                }

            DespawnCreatures(NPC_PHEROMONE_TRAIL);
            me->RemoveAllAuras();
            Reset();
            me->DeleteThreatList();
            me->CombatStop(false);
            me->GetMotionMaster()->MoveTargetedHome();

            if (instance)
            {
                instance->SetData(DATA_GARALON, FAIL);
                instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PHEROMONES_AURA); // Remove Pheromones.
            }

            _EnterEvadeMode();
        }
开发者ID:Expery,项目名称:Core,代码行数:30,代码来源:boss_garalon.cpp

示例10: Reset

        void Reset()
        {
            phase = PHASE_NULL;

            if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
                me->GetMotionMaster()->MovementExpired();

            if(Creature* nefarianHelperheroic = me->FindNearestCreature(NPC_NEFARIAN_HELPER_HEROIC, 150.0f, true))
                nefarianHelperheroic->DespawnOrUnsummon(100);

            // Gongs respawn
            std::list<Creature*> gongs;
            me->GetCreatureListWithEntryInGrid(gongs, NPC_GONG, 200.0f);
            for (std::list<Creature*>::iterator itr = gongs.begin(); itr != gongs.end(); ++itr)
                if (!(*itr)->isAlive())
                    (*itr)->Respawn();

            if (instance)
            {
                instance->SetBossState(DATA_ATRAMEDES, NOT_STARTED);
                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_NOISY);
            }

            me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x02);
            me->RemoveUnitMovementFlag(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_FLYING);

            _Reset();
        }
开发者ID:AwkwardDev,项目名称:WoWSource434,代码行数:28,代码来源:boss_atramedes.cpp

示例11: JustDied

 void JustDied(Unit* killer)
 {
     summons.clear();
     BossAI::JustDied(killer);
     Talk(SAY_DEATH);
     instance->SetBossState(DATA_MOROES, DONE);
     instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GARROTE);
 }
开发者ID:Helias,项目名称:azerothcore-wotlk,代码行数:8,代码来源:boss_moroes.cpp

示例12: Reset

        void Reset()
        {
            summons.DespawnAll();
            IntervalHealthAmount = 1;

            instance->SetData(DATA_VEXALLUS_EVENT, NOT_STARTED);
            instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_ENERGY_FEEDBACK);
        }
开发者ID:AzerothShard-Dev,项目名称:azerothcore,代码行数:8,代码来源:boss_vexallus.cpp

示例13: JustDied

			void JustDied(Unit* )
			{
				if (pInstance)
				{
					pInstance->SetData(EVENT_TORAVON, DONE);
					pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_WHITEOUT);
				}
			}
开发者ID:DSlayerMan,项目名称:Sunwell,代码行数:8,代码来源:boss_toravon.cpp

示例14: JustDied

 void JustDied(Unit* killer)
 {
     _JustDied();
     summons.DespawnAll();
     me->MonsterYell(SAY_DEATH, 0, 0);
     DoPlaySoundToSet(me, SOU_DEATH);
     instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLAZE_OF_GLORY);
 }
开发者ID:AtVirus,项目名称:Forgotten-Lands-Source,代码行数:8,代码来源:boss_baleroc.cpp

示例15: JustDied

 void JustDied(Unit* killer)
 {
     if (instance)
     {
         instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_ESSENCE_OF_THE_RED);
         instance->SetData(DATA_SINESTRA_EVENT, DONE);
     }
 }
开发者ID:Faydz,项目名称:TrinityCore,代码行数:8,代码来源:boss_sinestra.cpp


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