diff options
| -rw-r--r-- | sql/updates/world/2015_07_26_05_world.sql | 1 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 18 | 
2 files changed, 13 insertions, 6 deletions
diff --git a/sql/updates/world/2015_07_26_05_world.sql b/sql/updates/world/2015_07_26_05_world.sql new file mode 100644 index 00000000000..c7f4e3f4f39 --- /dev/null +++ b/sql/updates/world/2015_07_26_05_world.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `flags_extra` = 128 WHERE `entry` = 33576; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 3c068915585..bd4fee60c42 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -120,7 +120,7 @@ enum Spells      SPELL_SUMMON_ROCKET_STRIKE                  = 63036,      SPELL_SCRIPT_EFFECT_ROCKET_STRIKE           = 63681, // Cast by Rocket (Mimiron Visual)      SPELL_ROCKET_STRIKE                         = 64064, // Added in creature_template_addon -    SPELL_ROCKET_STRIKE_LEFT                    = 64402, // Cast by VX-001 +    SPELL_ROCKET_STRIKE_SINGLE                  = 64402, // Cast by VX-001      SPELL_ROCKET_STRIKE_BOTH                    = 65034, // Cast by VX-001      // Flames @@ -320,6 +320,12 @@ enum Waypoints      WP_AERIAL_P4_POS  }; +enum SeatIds : int8 +{ +    ROCKET_SEAT_LEFT = 5, +    ROCKET_SEAT_RIGHT = 6 +}; +  uint32 const RepairSpells[4] =  {      SPELL_SEAT_1, @@ -1043,18 +1049,18 @@ class boss_vx_001 : public CreatureScript                              events.RescheduleEvent(EVENT_RAPID_BURST, 3000, 0, PHASE_VX_001);                              break;                          case EVENT_ROCKET_STRIKE: -                            DoCastAOE(events.IsInPhase(PHASE_VX_001) ? SPELL_ROCKET_STRIKE_LEFT : SPELL_ROCKET_STRIKE_BOTH); +                            DoCastAOE(events.IsInPhase(PHASE_VX_001) ? SPELL_ROCKET_STRIKE_SINGLE : SPELL_ROCKET_STRIKE_BOTH);                              events.ScheduleEvent(EVENT_RELOAD, 10000);                              events.RescheduleEvent(EVENT_ROCKET_STRIKE, urand(20000, 25000));                              break;                          case EVENT_RELOAD: -                            for (uint8 seat = 6; seat <= 7; seat++) +                            for (int8 seat = ROCKET_SEAT_LEFT; seat <= ROCKET_SEAT_RIGHT; ++seat)                                  if (Unit* rocket = me->GetVehicleKit()->GetPassenger(seat))                                      rocket->SetDisplayId(rocket->GetNativeDisplayId());                              break;                          case EVENT_HAND_PULSE:                              if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 120, true)) -                                DoCast(target, urand(0, 1) == 0 ? SPELL_HAND_PULSE_LEFT : SPELL_HAND_PULSE_RIGHT); +                                DoCast(target, RAND(SPELL_HAND_PULSE_LEFT, SPELL_HAND_PULSE_RIGHT));                              events.RescheduleEvent(EVENT_HAND_PULSE, urand(1500, 3000), 0, PHASE_VOL7RON);                              break;                          case EVENT_FROST_BOMB: @@ -2187,8 +2193,8 @@ class spell_mimiron_rocket_strike : public SpellScriptLoader                  if (targets.empty())                      return; -                if (m_scriptSpellId == SPELL_ROCKET_STRIKE_LEFT && GetCaster()->IsVehicle()) -                    if (WorldObject* target = GetCaster()->GetVehicleKit()->GetPassenger(6)) +                if (m_scriptSpellId == SPELL_ROCKET_STRIKE_SINGLE && GetCaster()->IsVehicle()) +                    if (WorldObject* target = GetCaster()->GetVehicleKit()->GetPassenger(RAND(ROCKET_SEAT_LEFT, ROCKET_SEAT_RIGHT)))                      {                          targets.clear();                          targets.push_back(target);  | 
