本文整理汇总了C++中instancemap::playerlist::const_iterator类的典型用法代码示例。如果您正苦于以下问题:C++ const_iterator类的具体用法?C++ const_iterator怎么用?C++ const_iterator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了const_iterator类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CastBloodboil
// Note: This seems like a very complicated fix. The fix needs to be handled by the core, as implementation of limited-target AoE spells are still not limited.
void CastBloodboil()
{
std::list<Unit *> targets;
Map *map = m_creature->GetMap();
if(map->IsDungeon())
{
InstanceMap::PlayerList const &PlayerList = ((InstanceMap*)map)->GetPlayers();
for (InstanceMap::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (Player* i_pl = i->getSource())
{
if(i_pl && i_pl->isAlive())
targets.push_back(i_pl);
}
}
}
//Sort the list of players
targets.sort(ObjectDistanceOrderReversed(m_creature));
//Resize so we only get top 5
targets.resize(5);
//Aura each player in the targets list with Bloodboil.
for(std::list<Unit *>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
{
Unit* target = *itr;
if(target && target->isAlive())
m_creature->AddAura(SPELL_BLOODBOIL, target);
}
targets.clear();
}
示例2: WaypointReached
void WaypointReached(uint32 i)
{
Unit* player = Unit::GetUnit((*me), GetEventStarterGUID());
if (!player)
return;
switch(i)
{
case 1:
me->MonsterSay(SAY_DANKE, LANG_UNIVERSAL, NULL);
Map *map = me->GetMap();
if(map->IsDungeon())
{
InstanceMap::PlayerList const &PlayerList = ((InstanceMap*)map)->GetPlayers();
for (InstanceMap::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (Player* i_pl = i->getSource())
{
if(i_pl->GetQuestStatus(10097) == QUEST_STATUS_INCOMPLETE)
i_pl->KilledMonsterCredit(N_LAKKA,0);
}
}
}
break;
}
}
示例3: CleanUpAura
void CleanUpAura()
{
Map *map = me->GetMap();
if(map->IsDungeon())
{
InstanceMap::PlayerList const &PlayerList = ((InstanceMap*)map)->GetPlayers();
for (InstanceMap::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (Player* i_pl = i->getSource())
{
if(i_pl->isAlive())
{
i_pl->RemoveAurasDueToSpell(SPELL_INSIGNIFIGANCE);
i_pl->RemoveAurasDueToSpell(SPELL_FEL_RAGE_1);
i_pl->RemoveAurasDueToSpell(SPELL_FEL_RAGE_2);
i_pl->RemoveAurasDueToSpell(SPELL_FEL_RAGE_3);
i_pl->RemoveAurasDueToSpell(SPELL_FEL_RAGE_SCALE);
}
}
}
}
}
示例4: NextStep
uint32 NextStep(uint32 Step)
{
Unit* arca = Unit::GetUnit(*me, ArcanagosGUID);
Map* map = me->GetMap();
switch (Step)
{
case 0: return 9999999;
case 1:
me->MonsterYell(SAY_DIALOG_MEDIVH_1, LANG_UNIVERSAL, 0);
return 10000;
case 2:
if (arca)
CAST_CRE(arca)->MonsterYell(SAY_DIALOG_ARCANAGOS_2, LANG_UNIVERSAL, 0);
return 20000;
case 3:
me->MonsterYell(SAY_DIALOG_MEDIVH_3, LANG_UNIVERSAL, 0);
return 10000;
case 4:
if (arca)
CAST_CRE(arca)->MonsterYell(SAY_DIALOG_ARCANAGOS_4, LANG_UNIVERSAL, 0);
return 20000;
case 5:
me->MonsterYell(SAY_DIALOG_MEDIVH_5, LANG_UNIVERSAL, 0);
return 20000;
case 6:
if (arca)
CAST_CRE(arca)->MonsterYell(SAY_DIALOG_ARCANAGOS_6, LANG_UNIVERSAL, 0);
return 10000;
case 7:
FireArcanagosTimer = 500;
return 5000;
case 8:
FireMedivhTimer = 500;
DoCast(me, SPELL_MANA_SHIELD);
return 10000;
case 9:
me->MonsterTextEmote(EMOTE_DIALOG_MEDIVH_7, 0, false);
return 10000;
case 10:
if (arca)
DoCast(arca, SPELL_CONFLAGRATION_BLAST, false);
return 1000;
case 11:
if (arca)
CAST_CRE(arca)->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, 0);
return 5000;
case 12:
arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
arca->setActive(true);
arca->InterruptNonMeleeSpells(true);
arca->SetSpeed(MOVE_FLIGHT, 2.0f);
return 10000;
case 13:
me->MonsterYell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL, 0);
return 10000;
case 14:
me->SetVisible(false);
me->ClearInCombat();
if (map->IsDungeon())
{
InstanceMap::PlayerList const &PlayerList = map->GetPlayers();
for (InstanceMap::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (i->getSource()->isAlive())
{
if (i->getSource()->GetQuestStatus(9645) == QUEST_STATUS_INCOMPLETE)
i->getSource()->CompleteQuest(9645);
}
}
}
return 50000;
case 15:
arca->DealDamage(arca, arca->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
return 5000;
default : return 9999999;
}
}