fix(Scripts/BWL): Chromaggus Affliction debuff should target… (#11161)
… max 12 players.
This commit is contained in:
+17
-6
@@ -248,24 +248,35 @@ public:
|
|||||||
case EVENT_AFFLICTION:
|
case EVENT_AFFLICTION:
|
||||||
{
|
{
|
||||||
uint32 afflictionSpellID = RAND(SPELL_BROODAF_BLUE, SPELL_BROODAF_BLACK, SPELL_BROODAF_RED, SPELL_BROODAF_BRONZE, SPELL_BROODAF_GREEN);
|
uint32 afflictionSpellID = RAND(SPELL_BROODAF_BLUE, SPELL_BROODAF_BLACK, SPELL_BROODAF_RED, SPELL_BROODAF_BRONZE, SPELL_BROODAF_GREEN);
|
||||||
|
std::vector<Player*> playerTargets;
|
||||||
Map::PlayerList const& players = me->GetMap()->GetPlayers();
|
Map::PlayerList const& players = me->GetMap()->GetPlayers();
|
||||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Player* player = itr->GetSource()->ToPlayer())
|
if (Player* player = itr->GetSource()->ToPlayer())
|
||||||
|
{
|
||||||
|
if (!player->IsGameMaster() && !player->IsSpectator() && player->IsAlive())
|
||||||
|
{
|
||||||
|
playerTargets.push_back(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (playerTargets.size() > 12)
|
||||||
|
{
|
||||||
|
Acore::Containers::RandomResize(playerTargets, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player* player : playerTargets)
|
||||||
{
|
{
|
||||||
DoCast(player, afflictionSpellID, true);
|
DoCast(player, afflictionSpellID, true);
|
||||||
|
|
||||||
if (player->HasAura(SPELL_BROODAF_BLUE) &&
|
if (player->HasAura(SPELL_BROODAF_BLUE) && player->HasAura(SPELL_BROODAF_BLACK) && player->HasAura(SPELL_BROODAF_RED) &&
|
||||||
player->HasAura(SPELL_BROODAF_BLACK) &&
|
player->HasAura(SPELL_BROODAF_BRONZE) && player->HasAura(SPELL_BROODAF_GREEN))
|
||||||
player->HasAura(SPELL_BROODAF_RED) &&
|
|
||||||
player->HasAura(SPELL_BROODAF_BRONZE) &&
|
|
||||||
player->HasAura(SPELL_BROODAF_GREEN))
|
|
||||||
{
|
{
|
||||||
DoCast(player, SPELL_CHROMATIC_MUT_1);
|
DoCast(player, SPELL_CHROMATIC_MUT_1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
events.ScheduleEvent(EVENT_AFFLICTION, 10000);
|
events.ScheduleEvent(EVENT_AFFLICTION, 10000);
|
||||||
break;
|
break;
|
||||||
case EVENT_FRENZY:
|
case EVENT_FRENZY:
|
||||||
|
|||||||
Reference in New Issue
Block a user