本文整理汇总了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);
}
}
}
}
示例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);
}
}
}
}
示例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);
}
}
示例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;
}
示例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);
}
}
示例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);
}
示例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();
}
示例8: JustDied
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_LOKEN, DONE);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PULSING_SHOCKWAVE_AURA);
}
示例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();
}
示例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();
}
示例11: JustDied
void JustDied(Unit* killer)
{
summons.clear();
BossAI::JustDied(killer);
Talk(SAY_DEATH);
instance->SetBossState(DATA_MOROES, DONE);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GARROTE);
}
示例12: Reset
void Reset()
{
summons.DespawnAll();
IntervalHealthAmount = 1;
instance->SetData(DATA_VEXALLUS_EVENT, NOT_STARTED);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_ENERGY_FEEDBACK);
}
示例13: JustDied
void JustDied(Unit* )
{
if (pInstance)
{
pInstance->SetData(EVENT_TORAVON, DONE);
pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_WHITEOUT);
}
}
示例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);
}
示例15: JustDied
void JustDied(Unit* killer)
{
if (instance)
{
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_ESSENCE_OF_THE_RED);
instance->SetData(DATA_SINESTRA_EVENT, DONE);
}
}