mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Merge pull request #15164 from LuqJensen/mimiron
Scripts/Ulduar: Fix a visual issue with Mimirons Rocket Strike and Fix Mimiron DB target attacking players
This commit is contained in:
1
sql/updates/world/2015_07_26_05_world.sql
Normal file
1
sql/updates/world/2015_07_26_05_world.sql
Normal file
@@ -0,0 +1 @@
|
||||
UPDATE `creature_template` SET `flags_extra` = 128 WHERE `entry` = 33576;
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user