aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcrom <malcromdev@gmail.com>2013-06-24 18:06:23 -0230
committerMalcrom <malcromdev@gmail.com>2013-06-24 18:06:23 -0230
commit2f746d929adfbd04b91948329bb918d905e333e5 (patch)
treee2d5819a857824707bbf2cd9ab13202846f4632a
parentb02b2605049de89b3b22361263a2891018c67b71 (diff)
Core/Scripting: Emberseer event will now check to see if all players in instance are clicking altar.
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
index 93583beb7b6..16f8e7b41bd 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -251,10 +251,23 @@ public:
events.ScheduleEvent(SPELL_FIRE_SHIELD, 3000);
break;
case EVENT_PLAYER_CHECK:
- // #### TODO Check to see if all players in instance have aura SPELL_EMBERSEER_START ####
- // #### If true do following events ####
- events.ScheduleEvent(EVENT_PRE_FIGHT_1, 1000);
- instance->SetBossState(DATA_PYROGAURD_EMBERSEER, IN_PROGRESS);
+ {
+ // Check to see if all players in instance have aura SPELL_EMBERSEER_START before starting event
+ bool _hasAura = true;
+ Map::PlayerList const &players = me->GetMap()->GetPlayers();
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ if (Player* player = itr->GetSource()->ToPlayer())
+ if (!player->HasAura(SPELL_EMBERSEER_START))
+ _hasAura = false;
+
+ if (_hasAura)
+ {
+ events.ScheduleEvent(EVENT_PRE_FIGHT_1, 1000);
+ instance->SetBossState(DATA_PYROGAURD_EMBERSEER, IN_PROGRESS);
+ }
+ break;
+ }
+ default:
break;
}
}
@@ -270,11 +283,11 @@ public:
switch (eventId)
{
case EVENT_FIRENOVA:
- DoCastVictim(SPELL_FIRENOVA);
+ DoCast(SPELL_FIRENOVA);
events.ScheduleEvent(EVENT_FIRENOVA, 6000);
break;
case EVENT_FLAMEBUFFET:
- DoCastVictim(SPELL_FLAMEBUFFET);
+ DoCast(SPELL_FLAMEBUFFET);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 14000);
break;
case EVENT_PYROBLAST: