AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_mimiron.cpp File Reference
#include "AchievementCriteriaScript.h"
#include "Containers.h"
#include "CreatureScript.h"
#include "GameObjectScript.h"
#include "GameTime.h"
#include "GridNotifiers.h"
#include "MapMgr.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SharedDefines.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "Vehicle.h"
#include "ulduar.h"

Go to the source code of this file.

Classes

struct  boss_mimiron
 
struct  npc_ulduar_leviathan_mkii
 
struct  npc_ulduar_vx001
 
struct  npc_ulduar_aerial_command_unit
 
struct  npc_ulduar_proximity_mine
 
class  spell_ulduar_mimiron_mine_explosion
 
class  spell_mimiron_rocket_strike
 
class  spell_mimiron_rocket_strike_target_select
 
struct  npc_ulduar_mimiron_rocket
 
class  spell_mimiron_summon_rocket_strike
 
struct  npc_ulduar_bot_summon_trigger
 
class  spell_mimiron_magnetic_core_summon
 
class  spell_mimiron_magnetic_core_aura
 
class  spell_mimiron_rapid_burst_aura
 
class  spell_mimiron_p3wx2_laser_barrage_aura
 
class  go_ulduar_do_not_push_this_button
 
struct  npc_ulduar_flames_initial
 
struct  npc_ulduar_flames_spread
 
struct  npc_ulduar_emergency_fire_bot
 
struct  npc_ulduar_rocket_strike_trigger
 
class  spell_mimiron_rocket_strike_aura
 
class  achievement_mimiron_firefighter
 
class  achievement_mimiron_set_up_us_the_bomb_11
 
class  achievement_mimiron_set_up_us_the_bomb_12
 
class  achievement_mimiron_set_up_us_the_bomb_13
 

Macros

#define GetMimiron()   instance->GetCreature(BOSS_MIMIRON)
 
#define GetLMK2()   instance->GetCreature(DATA_MIMIRON_LEVIATHAN_MKII)
 
#define GetVX001()   instance->GetCreature(DATA_MIMIRON_VX001)
 
#define GetACU()   instance->GetCreature(DATA_MIMIRON_ACU)
 

Enumerations

enum  SpellData {
  SPELL_BERSERK = 64238 ,
  SPELL_NAPALM_SHELL = 63666 ,
  SPELL_PLASMA_BLAST = 62997 ,
  SPELL_SHOCK_BLAST = 63631 ,
  SPELL_PROXIMITY_MINES = 63027 ,
  NPC_PROXIMITY_MINE = 34362 ,
  SPELL_MINE_EXPLOSION = 66351 ,
  SPELL_SUMMON_PROXIMITY_MINE = 65347 ,
  SPELL_ELEVATOR_KNOCKBACK = 65096 ,
  SPELL_HEAT_WAVE = 64533 ,
  SPELL_ROCKET_STRIKE_AURA = 64064 ,
  SPELL_ROCKET_STRIKE_SINGLE = 64402 ,
  SPELL_ROCKET_STRIKE_BOTH = 65034 ,
  SPELL_ROCKET_STRIKE_TARGET = 63681 ,
  SPELL_SUMMON_ROCKET_STRIKE = 63036 ,
  SPELL_ROCKET_STRIKE_DAMAGE = 63041 ,
  NPC_ROCKET_VISUAL = 34050 ,
  NPC_ROCKET_STRIKE_N = 34047 ,
  SPELL_RAPID_BURST = 63382 ,
  SPELL_RAPID_BURST_DAMAGE_1 = 63387 ,
  SPELL_RAPID_BURST_DAMAGE_2 = 64019 ,
  SPELL_SUMMON_BURST_TARGET = 64840 ,
  SPELL_RAPID_BURST_TARGET_ME = 64841 ,
  NPC_BURST_TARGET = 34211 ,
  SPELL_SPINNING_UP = 63414 ,
  SPELL_PLASMA_BALL_P1 = 63689 ,
  SPELL_PLASMA_BALL_P2 = 65647 ,
  SPELL_MAGNETIC_CORE = 64436 ,
  SPELL_MAGNETIC_CORE_VISUAL = 64438 ,
  SPELL_MAGNETIC_CORE_SUMMON = 64444 ,
  SPELL_SUMMON_BOMB_BOT = 63811 ,
  SPELL_BB_EXPLODE = 63801 ,
  SPELL_BEAM_GREEN = 63295 ,
  SPELL_BEAM_YELLOW = 63292 ,
  SPELL_BEAM_BLUE = 63294 ,
  SPELL_HAND_PULSE_R = 64352 ,
  SPELL_HAND_PULSE_L = 64348 ,
  SPELL_SELF_REPAIR = 64383 ,
  SPELL_SLEEP_VISUAL_1 = 64393 ,
  SPELL_SLEEP_VISUAL_2 = 64394
}
 
enum  NPCs {
  NPC_LEVIATHAN_MKII = 33432 ,
  NPC_LEVIATHAN_MKII_CANNON = 34071 ,
  NPC_VX001 = 33651 ,
  NPC_AERIAL_COMMAND_UNIT = 33670 ,
  NPC_COMPUTER = 34143 ,
  NPC_BOMB_BOT = 33836 ,
  NPC_BOT_SUMMON_TRIGGER = 33856 ,
  NPC_ASSAULT_BOT = 34057 ,
  NPC_JUNK_BOT = 33855 ,
  NPC_MAGNETIC_CORE = 34068 ,
  NPC_WORLD_TRIGGER = 21252
}
 
enum  GOs {
  GO_DOOR_1 = 194776 ,
  GO_DOOR_2 = 194774 ,
  GO_DOOR_3 = 194775 ,
  GO_BUTTON = 194739
}
 
enum  HardMode {
  SPELL_EMERGENCY_MODE = 64582 ,
  SPELL_SELF_DESTRUCT = 64610 ,
  SPELL_SUMMON_FLAMES_INITIAL = 64563 ,
  NPC_FLAMES_INITIAL = 34363 ,
  SPELL_SUMMON_FLAMES_SPREAD = 64564 ,
  NPC_FLAMES_SPREAD = 34121 ,
  SPELL_FLAMES_AURA = 64561 ,
  SPELL_VX001_FROST_BOMB = 64623 ,
  SPELL_FROST_BOMB_VISUAL_AURA = 64624 ,
  SPELL_SUMMON_FROST_BOMB = 64627 ,
  NPC_FROST_BOMB = 34149 ,
  SPELL_FROST_BOMB_EXPLOSION_10 = 64626 ,
  SPELL_FROST_BOMB_EXPLOSION_25 = 65333 ,
  SPELL_FLAME_SUPPRESSANT_10yd = 65192 ,
  SPELL_FLAME_SUPPRESSANT_50000yd = 64570 ,
  SPELL_WATER_SPRAY = 64619 ,
  SPELL_DEAFENING_SIREN = 64616 ,
  NPC_EMERGENCY_FIRE_BOT = 34147 ,
  SPELL_ENTER_VEHICLE_0 = 63112 ,
  SPELL_ENTER_VEHICLE_1 = 63313 ,
  SPELL_ENTER_VEHICLE_2 = 63314 ,
  SPELL_ENTER_VEHICLE_4 = 63316
}
 
enum  EVENTS {
  EVENT_SIT_LMK2 = 1 ,
  EVENT_SIT_LMK2_INTERVAL = 2 ,
  EVENT_LMK2_RETREAT_INTERVAL = 7 ,
  EVENT_ELEVATOR_INTERVAL_1 = 8 ,
  EVENT_ELEVATOR_INTERVAL_2 = 9 ,
  EVENT_SITTING_ON_VX001 = 10 ,
  EVENT_ENTER_VX001 = 11 ,
  EVENT_EMOTE_VX001 = 12 ,
  EVENT_VX001_START_FIGHT = 13 ,
  EVENT_ELEVATOR_INTERVAL_0 = 14 ,
  EVENT_GET_OUT_VX001 = 21 ,
  EVENT_SAY_VX001_DEAD = 22 ,
  EVENT_ENTER_ACU = 23 ,
  EVENT_SAY_ACU_ACTIVATE = 24 ,
  EVENT_ACU_START_ATTACK = 25 ,
  EVENT_VX001_EMOTESTATE_DEATH = 26 ,
  EVENT_SAY_ACU_DEAD = 31 ,
  EVENT_LEVIATHAN_COME_CLOSER = 32 ,
  EVENT_VX001_EMOTE_JUMP = 33 ,
  EVENT_LEVIATHAN_RIDE_MIDDLE = 34 ,
  EVENT_JOIN_TOGETHER = 342 ,
  EVENT_JOIN_ACU = 35 ,
  EVENT_START_PHASE4 = 36 ,
  EVENT_FINISH = 50 ,
  EVENT_STAND_UP_FRIENDLY = 51 ,
  EVENT_SAY_VOLTRON_DEAD = 52 ,
  EVENT_DISAPPEAR = 53 ,
  EVENT_BERSERK = 54 ,
  EVENT_BERSERK_2 = 55 ,
  EVENT_SPELL_NAPALM_SHELL = 3 ,
  EVENT_SPELL_PLASMA_BLAST = 4 ,
  EVENT_SPELL_SHOCK_BLAST = 5 ,
  EVENT_PROXIMITY_MINES_1 = 6 ,
  EVENT_SPELL_HEAT_WAVE = 15 ,
  EVENT_SPELL_ROCKET_STRIKE = 16 ,
  EVENT_REINSTALL_ROCKETS = 17 ,
  EVENT_SPELL_RAPID_BURST = 18 ,
  EVENT_SPELL_RAPID_BURST_INTERVAL = 19 ,
  EVENT_SPELL_SPINNING_UP = 20 ,
  EVENT_HAND_PULSE = 37 ,
  EVENT_SPELL_PLASMA_BALL = 27 ,
  EVENT_SUMMON_BOMB_BOT = 28 ,
  EVENT_BOMB_BOT_CHASE = 29 ,
  EVENT_BOMB_BOT_RELOCATE = 30 ,
  EVENT_SUMMON_ASSAULT_BOT = 40 ,
  EVENT_SUMMON_JUNK_BOT = 41 ,
  EVENT_COMPUTER_SAY_INITIATED = 60 ,
  EVENT_COMPUTER_SAY_MINUTES = 61 ,
  EVENT_MIMIRON_SAY_HARDMODE = 62 ,
  EVENT_SPAWN_FLAMES_INITIAL = 63 ,
  EVENT_FLAMES_SPREAD = 64 ,
  EVENT_FLAME_SUPPRESSION_50000 = 65 ,
  EVENT_FLAME_SUPPRESSION_10 = 66 ,
  EVENT_FROST_BOMB = 67 ,
  EVENT_SUMMON_EMERGENCY_FIRE_BOTS = 68 ,
  EVENT_EMERGENCY_BOT_CHECK = 69 ,
  EVENT_EMERGENCY_BOT_ATTACK = 70 ,
  EVENT_ROCKET_FIRE = 71
}
 
enum  Actions {
  DO_DISABLE_AERIAL = 1 ,
  DO_ENABLE_AERIAL ,
  DO_DESPAWN_SUMMONS
}
 
enum  Texts {
  SAY_AGGRO = 0 ,
  SAY_HARDMODE_ON = 1 ,
  SAY_MKII_ACTIVATE = 2 ,
  SAY_MKII_SLAY = 3 ,
  SAY_MKII_DEATH = 4 ,
  SAY_VX001_ACTIVATE = 5 ,
  SAY_VX001_SLAY = 6 ,
  SAY_VX001_DEATH = 7 ,
  SAY_AERIAL_ACTIVATE = 8 ,
  SAY_AERIAL_SLAY = 9 ,
  SAY_AERIAL_DEATH = 10 ,
  SAY_V07TRON_ACTIVATE = 11 ,
  SAY_V07TRON_SLAY = 12 ,
  SAY_V07TRON_DEATH = 13 ,
  SAY_BERSERK = 14 ,
  EMOTE_PLASMA_BLAST = 0 ,
  TALK_COMPUTER_INITIATED = 0 ,
  TALK_COMPUTER_TERMINATED = 1 ,
  TALK_COMPUTER_TEN = 2 ,
  TALK_COMPUTER_NINE = 3 ,
  TALK_COMPUTER_EIGHT = 4 ,
  TALK_COMPUTER_SEVEN = 5 ,
  TALK_COMPUTER_SIX = 6 ,
  TALK_COMPUTER_FIVE = 7 ,
  TALK_COMPUTER_FOUR = 8 ,
  TALK_COMPUTER_THREE = 9 ,
  TALK_COMPUTER_TWO = 10 ,
  TALK_COMPUTER_ONE = 11 ,
  TALK_COMPUTER_ZERO = 12
}
 

Functions

void FaceBarrageArc (Unit *caster)
 
void AddSC_boss_mimiron ()
 

Variables

Position const ACUSummonPos = { 2744.650f, 2569.460f, 380.0f, 3.141593f }
 

Macro Definition Documentation

◆ GetACU

#define GetACU ( )    instance->GetCreature(DATA_MIMIRON_ACU)

◆ GetLMK2

#define GetLMK2 ( )    instance->GetCreature(DATA_MIMIRON_LEVIATHAN_MKII)

◆ GetMimiron

#define GetMimiron ( )    instance->GetCreature(BOSS_MIMIRON)

◆ GetVX001

#define GetVX001 ( )    instance->GetCreature(DATA_MIMIRON_VX001)

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
DO_DISABLE_AERIAL 
DO_ENABLE_AERIAL 
DO_DESPAWN_SUMMONS 
232{
236};
@ DO_ENABLE_AERIAL
Definition boss_mimiron.cpp:234
@ DO_DESPAWN_SUMMONS
Definition boss_mimiron.cpp:235
@ DO_DISABLE_AERIAL
Definition boss_mimiron.cpp:233

◆ EVENTS

enum EVENTS
Enumerator
EVENT_SIT_LMK2 
EVENT_SIT_LMK2_INTERVAL 
EVENT_LMK2_RETREAT_INTERVAL 
EVENT_ELEVATOR_INTERVAL_1 
EVENT_ELEVATOR_INTERVAL_2 
EVENT_SITTING_ON_VX001 
EVENT_ENTER_VX001 
EVENT_EMOTE_VX001 
EVENT_VX001_START_FIGHT 
EVENT_ELEVATOR_INTERVAL_0 
EVENT_GET_OUT_VX001 
EVENT_SAY_VX001_DEAD 
EVENT_ENTER_ACU 
EVENT_SAY_ACU_ACTIVATE 
EVENT_ACU_START_ATTACK 
EVENT_VX001_EMOTESTATE_DEATH 
EVENT_SAY_ACU_DEAD 
EVENT_LEVIATHAN_COME_CLOSER 
EVENT_VX001_EMOTE_JUMP 
EVENT_LEVIATHAN_RIDE_MIDDLE 
EVENT_JOIN_TOGETHER 
EVENT_JOIN_ACU 
EVENT_START_PHASE4 
EVENT_FINISH 
EVENT_STAND_UP_FRIENDLY 
EVENT_SAY_VOLTRON_DEAD 
EVENT_DISAPPEAR 
EVENT_BERSERK 
EVENT_BERSERK_2 
EVENT_SPELL_NAPALM_SHELL 
EVENT_SPELL_PLASMA_BLAST 
EVENT_SPELL_SHOCK_BLAST 
EVENT_PROXIMITY_MINES_1 
EVENT_SPELL_HEAT_WAVE 
EVENT_SPELL_ROCKET_STRIKE 
EVENT_REINSTALL_ROCKETS 
EVENT_SPELL_RAPID_BURST 
EVENT_SPELL_RAPID_BURST_INTERVAL 
EVENT_SPELL_SPINNING_UP 
EVENT_HAND_PULSE 
EVENT_SPELL_PLASMA_BALL 
EVENT_SUMMON_BOMB_BOT 
EVENT_BOMB_BOT_CHASE 
EVENT_BOMB_BOT_RELOCATE 
EVENT_SUMMON_ASSAULT_BOT 
EVENT_SUMMON_JUNK_BOT 
EVENT_COMPUTER_SAY_INITIATED 
EVENT_COMPUTER_SAY_MINUTES 
EVENT_MIMIRON_SAY_HARDMODE 
EVENT_SPAWN_FLAMES_INITIAL 
EVENT_FLAMES_SPREAD 
EVENT_FLAME_SUPPRESSION_50000 
EVENT_FLAME_SUPPRESSION_10 
EVENT_FROST_BOMB 
EVENT_SUMMON_EMERGENCY_FIRE_BOTS 
EVENT_EMERGENCY_BOT_CHECK 
EVENT_EMERGENCY_BOT_ATTACK 
EVENT_ROCKET_FIRE 
159{
160 // Mimiron:
161 EVENT_SIT_LMK2 = 1,
173 EVENT_ENTER_ACU = 23,
182 EVENT_JOIN_ACU = 35,
184 EVENT_FINISH = 50,
187 EVENT_DISAPPEAR = 53,
188 EVENT_BERSERK = 54,
189 EVENT_BERSERK_2 = 55,
190
191 // Leviathan:
196
197 // VX001:
204 EVENT_HAND_PULSE = 37,
205
206 // ACU:
213
214 // Hard mode:
222 EVENT_FROST_BOMB = 67,
226
227 // Rocket (Mimiron Visual):
229};
@ EVENT_SUMMON_JUNK_BOT
Definition boss_mimiron.cpp:212
@ EVENT_ELEVATOR_INTERVAL_2
Definition boss_mimiron.cpp:165
@ EVENT_ELEVATOR_INTERVAL_1
Definition boss_mimiron.cpp:164
@ EVENT_ENTER_VX001
Definition boss_mimiron.cpp:167
@ EVENT_SPELL_RAPID_BURST_INTERVAL
Definition boss_mimiron.cpp:202
@ EVENT_FLAME_SUPPRESSION_50000
Definition boss_mimiron.cpp:220
@ EVENT_SPAWN_FLAMES_INITIAL
Definition boss_mimiron.cpp:218
@ EVENT_VX001_EMOTE_JUMP
Definition boss_mimiron.cpp:179
@ EVENT_SIT_LMK2_INTERVAL
Definition boss_mimiron.cpp:162
@ EVENT_SPELL_PLASMA_BLAST
Definition boss_mimiron.cpp:193
@ EVENT_SAY_VX001_DEAD
Definition boss_mimiron.cpp:172
@ EVENT_COMPUTER_SAY_INITIATED
Definition boss_mimiron.cpp:215
@ EVENT_SIT_LMK2
Definition boss_mimiron.cpp:161
@ EVENT_SPELL_NAPALM_SHELL
Definition boss_mimiron.cpp:192
@ EVENT_SITTING_ON_VX001
Definition boss_mimiron.cpp:166
@ EVENT_SAY_ACU_ACTIVATE
Definition boss_mimiron.cpp:174
@ EVENT_SAY_VOLTRON_DEAD
Definition boss_mimiron.cpp:186
@ EVENT_BOMB_BOT_CHASE
Definition boss_mimiron.cpp:209
@ EVENT_FROST_BOMB
Definition boss_mimiron.cpp:222
@ EVENT_ROCKET_FIRE
Definition boss_mimiron.cpp:228
@ EVENT_EMERGENCY_BOT_CHECK
Definition boss_mimiron.cpp:224
@ EVENT_JOIN_ACU
Definition boss_mimiron.cpp:182
@ EVENT_FLAMES_SPREAD
Definition boss_mimiron.cpp:219
@ EVENT_MIMIRON_SAY_HARDMODE
Definition boss_mimiron.cpp:217
@ EVENT_FINISH
Definition boss_mimiron.cpp:184
@ EVENT_BOMB_BOT_RELOCATE
Definition boss_mimiron.cpp:210
@ EVENT_PROXIMITY_MINES_1
Definition boss_mimiron.cpp:195
@ EVENT_EMOTE_VX001
Definition boss_mimiron.cpp:168
@ EVENT_SUMMON_ASSAULT_BOT
Definition boss_mimiron.cpp:211
@ EVENT_ACU_START_ATTACK
Definition boss_mimiron.cpp:175
@ EVENT_SAY_ACU_DEAD
Definition boss_mimiron.cpp:177
@ EVENT_GET_OUT_VX001
Definition boss_mimiron.cpp:171
@ EVENT_LMK2_RETREAT_INTERVAL
Definition boss_mimiron.cpp:163
@ EVENT_SPELL_SPINNING_UP
Definition boss_mimiron.cpp:203
@ EVENT_BERSERK
Definition boss_mimiron.cpp:188
@ EVENT_VX001_EMOTESTATE_DEATH
Definition boss_mimiron.cpp:176
@ EVENT_COMPUTER_SAY_MINUTES
Definition boss_mimiron.cpp:216
@ EVENT_FLAME_SUPPRESSION_10
Definition boss_mimiron.cpp:221
@ EVENT_STAND_UP_FRIENDLY
Definition boss_mimiron.cpp:185
@ EVENT_EMERGENCY_BOT_ATTACK
Definition boss_mimiron.cpp:225
@ EVENT_VX001_START_FIGHT
Definition boss_mimiron.cpp:169
@ EVENT_SUMMON_BOMB_BOT
Definition boss_mimiron.cpp:208
@ EVENT_SUMMON_EMERGENCY_FIRE_BOTS
Definition boss_mimiron.cpp:223
@ EVENT_SPELL_SHOCK_BLAST
Definition boss_mimiron.cpp:194
@ EVENT_LEVIATHAN_COME_CLOSER
Definition boss_mimiron.cpp:178
@ EVENT_SPELL_HEAT_WAVE
Definition boss_mimiron.cpp:198
@ EVENT_DISAPPEAR
Definition boss_mimiron.cpp:187
@ EVENT_SPELL_PLASMA_BALL
Definition boss_mimiron.cpp:207
@ EVENT_ELEVATOR_INTERVAL_0
Definition boss_mimiron.cpp:170
@ EVENT_HAND_PULSE
Definition boss_mimiron.cpp:204
@ EVENT_ENTER_ACU
Definition boss_mimiron.cpp:173
@ EVENT_SPELL_RAPID_BURST
Definition boss_mimiron.cpp:201
@ EVENT_START_PHASE4
Definition boss_mimiron.cpp:183
@ EVENT_JOIN_TOGETHER
Definition boss_mimiron.cpp:181
@ EVENT_SPELL_ROCKET_STRIKE
Definition boss_mimiron.cpp:199
@ EVENT_BERSERK_2
Definition boss_mimiron.cpp:189
@ EVENT_LEVIATHAN_RIDE_MIDDLE
Definition boss_mimiron.cpp:180
@ EVENT_REINSTALL_ROCKETS
Definition boss_mimiron.cpp:200

◆ GOs

enum GOs
Enumerator
GO_DOOR_1 
GO_DOOR_2 
GO_DOOR_3 
GO_BUTTON 
118{
119 //GO_MIMIRON_ELEVATOR = 194749,
120 GO_DOOR_1 = 194776,
121 GO_DOOR_2 = 194774,
122 GO_DOOR_3 = 194775,
123 GO_BUTTON = 194739,
124 // pads: 194740-48
125};
@ GO_BUTTON
Definition boss_mimiron.cpp:123
@ GO_DOOR_1
Definition boss_mimiron.cpp:120
@ GO_DOOR_2
Definition boss_mimiron.cpp:121
@ GO_DOOR_3
Definition boss_mimiron.cpp:122

◆ HardMode

enum HardMode
Enumerator
SPELL_EMERGENCY_MODE 
SPELL_SELF_DESTRUCT 
SPELL_SUMMON_FLAMES_INITIAL 
NPC_FLAMES_INITIAL 
SPELL_SUMMON_FLAMES_SPREAD 
NPC_FLAMES_SPREAD 
SPELL_FLAMES_AURA 
SPELL_VX001_FROST_BOMB 
SPELL_FROST_BOMB_VISUAL_AURA 
SPELL_SUMMON_FROST_BOMB 
NPC_FROST_BOMB 
SPELL_FROST_BOMB_EXPLOSION_10 
SPELL_FROST_BOMB_EXPLOSION_25 
SPELL_FLAME_SUPPRESSANT_10yd 
SPELL_FLAME_SUPPRESSANT_50000yd 
SPELL_WATER_SPRAY 
SPELL_DEAFENING_SIREN 
NPC_EMERGENCY_FIRE_BOT 
SPELL_ENTER_VEHICLE_0 
SPELL_ENTER_VEHICLE_1 
SPELL_ENTER_VEHICLE_2 
SPELL_ENTER_VEHICLE_4 
128{
129 SPELL_EMERGENCY_MODE = 64582,
130 SPELL_SELF_DESTRUCT = 64610,
131
133 NPC_FLAMES_INITIAL = 34363,
135 NPC_FLAMES_SPREAD = 34121,
136 SPELL_FLAMES_AURA = 64561,
137
141 NPC_FROST_BOMB = 34149,
144
147
148 SPELL_WATER_SPRAY = 64619,
149 SPELL_DEAFENING_SIREN = 64616,
151
152 SPELL_ENTER_VEHICLE_0 = 63112,
153 SPELL_ENTER_VEHICLE_1 = 63313,
154 SPELL_ENTER_VEHICLE_2 = 63314,
155 SPELL_ENTER_VEHICLE_4 = 63316,
156};
@ NPC_FROST_BOMB
Definition boss_mimiron.cpp:141
@ NPC_EMERGENCY_FIRE_BOT
Definition boss_mimiron.cpp:150
@ SPELL_FROST_BOMB_EXPLOSION_25
Definition boss_mimiron.cpp:143
@ SPELL_ENTER_VEHICLE_1
Definition boss_mimiron.cpp:153
@ SPELL_SUMMON_FLAMES_SPREAD
Definition boss_mimiron.cpp:134
@ NPC_FLAMES_INITIAL
Definition boss_mimiron.cpp:133
@ SPELL_ENTER_VEHICLE_2
Definition boss_mimiron.cpp:154
@ SPELL_FROST_BOMB_VISUAL_AURA
Definition boss_mimiron.cpp:139
@ SPELL_EMERGENCY_MODE
Definition boss_mimiron.cpp:129
@ SPELL_FLAMES_AURA
Definition boss_mimiron.cpp:136
@ SPELL_FLAME_SUPPRESSANT_10yd
Definition boss_mimiron.cpp:145
@ NPC_FLAMES_SPREAD
Definition boss_mimiron.cpp:135
@ SPELL_ENTER_VEHICLE_0
Definition boss_mimiron.cpp:152
@ SPELL_SUMMON_FLAMES_INITIAL
Definition boss_mimiron.cpp:132
@ SPELL_FLAME_SUPPRESSANT_50000yd
Definition boss_mimiron.cpp:146
@ SPELL_WATER_SPRAY
Definition boss_mimiron.cpp:148
@ SPELL_VX001_FROST_BOMB
Definition boss_mimiron.cpp:138
@ SPELL_FROST_BOMB_EXPLOSION_10
Definition boss_mimiron.cpp:142
@ SPELL_ENTER_VEHICLE_4
Definition boss_mimiron.cpp:155
@ SPELL_SUMMON_FROST_BOMB
Definition boss_mimiron.cpp:140
@ SPELL_DEAFENING_SIREN
Definition boss_mimiron.cpp:149
@ SPELL_SELF_DESTRUCT
Definition boss_mimiron.cpp:130

◆ NPCs

enum NPCs
Enumerator
NPC_LEVIATHAN_MKII 
NPC_LEVIATHAN_MKII_CANNON 
NPC_VX001 
NPC_AERIAL_COMMAND_UNIT 
NPC_COMPUTER 
NPC_BOMB_BOT 
NPC_BOT_SUMMON_TRIGGER 
NPC_ASSAULT_BOT 
NPC_JUNK_BOT 
NPC_MAGNETIC_CORE 
NPC_WORLD_TRIGGER 
102{
103 //NPC_MIMIRON = 33350,
104 NPC_LEVIATHAN_MKII = 33432,
106 NPC_VX001 = 33651,
108 NPC_COMPUTER = 34143,
109 NPC_BOMB_BOT = 33836,
111 NPC_ASSAULT_BOT = 34057,
112 NPC_JUNK_BOT = 33855,
113 NPC_MAGNETIC_CORE = 34068,
114 NPC_WORLD_TRIGGER = 21252,
115};
@ NPC_COMPUTER
Definition boss_mimiron.cpp:108
@ NPC_LEVIATHAN_MKII
Definition boss_mimiron.cpp:104
@ NPC_BOMB_BOT
Definition boss_mimiron.cpp:109
@ NPC_ASSAULT_BOT
Definition boss_mimiron.cpp:111
@ NPC_WORLD_TRIGGER
Definition boss_mimiron.cpp:114
@ NPC_MAGNETIC_CORE
Definition boss_mimiron.cpp:113
@ NPC_VX001
Definition boss_mimiron.cpp:106
@ NPC_AERIAL_COMMAND_UNIT
Definition boss_mimiron.cpp:107
@ NPC_JUNK_BOT
Definition boss_mimiron.cpp:112
@ NPC_BOT_SUMMON_TRIGGER
Definition boss_mimiron.cpp:110
@ NPC_LEVIATHAN_MKII_CANNON
Definition boss_mimiron.cpp:105

◆ SpellData

enum SpellData
Enumerator
SPELL_BERSERK 
SPELL_NAPALM_SHELL 
SPELL_PLASMA_BLAST 
SPELL_SHOCK_BLAST 
SPELL_PROXIMITY_MINES 
NPC_PROXIMITY_MINE 
SPELL_MINE_EXPLOSION 
SPELL_SUMMON_PROXIMITY_MINE 
SPELL_ELEVATOR_KNOCKBACK 
SPELL_HEAT_WAVE 
SPELL_ROCKET_STRIKE_AURA 
SPELL_ROCKET_STRIKE_SINGLE 
SPELL_ROCKET_STRIKE_BOTH 
SPELL_ROCKET_STRIKE_TARGET 
SPELL_SUMMON_ROCKET_STRIKE 
SPELL_ROCKET_STRIKE_DAMAGE 
NPC_ROCKET_VISUAL 
NPC_ROCKET_STRIKE_N 
SPELL_RAPID_BURST 
SPELL_RAPID_BURST_DAMAGE_1 
SPELL_RAPID_BURST_DAMAGE_2 
SPELL_SUMMON_BURST_TARGET 
SPELL_RAPID_BURST_TARGET_ME 
NPC_BURST_TARGET 
SPELL_SPINNING_UP 
SPELL_PLASMA_BALL_P1 
SPELL_PLASMA_BALL_P2 
SPELL_MAGNETIC_CORE 
SPELL_MAGNETIC_CORE_VISUAL 
SPELL_MAGNETIC_CORE_SUMMON 
SPELL_SUMMON_BOMB_BOT 
SPELL_BB_EXPLODE 
SPELL_BEAM_GREEN 
SPELL_BEAM_YELLOW 
SPELL_BEAM_BLUE 
SPELL_HAND_PULSE_R 
SPELL_HAND_PULSE_L 
SPELL_SELF_REPAIR 
SPELL_SLEEP_VISUAL_1 
SPELL_SLEEP_VISUAL_2 
38{
39 SPELL_BERSERK = 64238,
40
41 // PHASE 1:
42 SPELL_NAPALM_SHELL = 63666,
43
44 SPELL_PLASMA_BLAST = 62997,
45
46 SPELL_SHOCK_BLAST = 63631,
47
49 NPC_PROXIMITY_MINE = 34362,
52
53 // PHASE 1 -> 2 TRANSITION:
54 SPELL_ELEVATOR_KNOCKBACK = 65096, // Self-cast by the world trigger; sweeps players off the elevator as it rises
55
56 // PHASE 2:
57 SPELL_HEAT_WAVE = 64533,
58
60 SPELL_ROCKET_STRIKE_SINGLE = 64402, // VX-001 fires one of the two mounted rockets
61 SPELL_ROCKET_STRIKE_BOTH = 65034, // VX-001 fires both mounted rockets
62 SPELL_ROCKET_STRIKE_TARGET = 63681, // Cast by a fired rocket; picks the impact target (prefers ranged)
63 SPELL_SUMMON_ROCKET_STRIKE = 63036, // Summons the ground strike at the chosen target
65 NPC_ROCKET_VISUAL = 34050,
66 NPC_ROCKET_STRIKE_N = 34047,
67
68 SPELL_RAPID_BURST = 63382,
73 NPC_BURST_TARGET = 34211,
74
75 SPELL_SPINNING_UP = 63414,
76
77 // PHASE 3:
80
81 SPELL_MAGNETIC_CORE = 64436,
84
86 SPELL_BB_EXPLODE = 63801,
87
88 SPELL_BEAM_GREEN = 63295,
89 SPELL_BEAM_YELLOW = 63292,
90 SPELL_BEAM_BLUE = 63294,
91
92 // PHASE 4:
93 SPELL_HAND_PULSE_R = 64352,
94 SPELL_HAND_PULSE_L = 64348,
95
96 SPELL_SELF_REPAIR = 64383,
99};
@ SPELL_PLASMA_BLAST
Definition boss_mimiron.cpp:44
@ SPELL_SUMMON_ROCKET_STRIKE
Definition boss_mimiron.cpp:63
@ SPELL_PLASMA_BALL_P2
Definition boss_mimiron.cpp:79
@ NPC_BURST_TARGET
Definition boss_mimiron.cpp:73
@ SPELL_PLASMA_BALL_P1
Definition boss_mimiron.cpp:78
@ SPELL_RAPID_BURST_DAMAGE_2
Definition boss_mimiron.cpp:70
@ SPELL_SHOCK_BLAST
Definition boss_mimiron.cpp:46
@ SPELL_ELEVATOR_KNOCKBACK
Definition boss_mimiron.cpp:54
@ SPELL_BB_EXPLODE
Definition boss_mimiron.cpp:86
@ SPELL_BEAM_GREEN
Definition boss_mimiron.cpp:88
@ SPELL_BEAM_BLUE
Definition boss_mimiron.cpp:90
@ SPELL_RAPID_BURST
Definition boss_mimiron.cpp:68
@ SPELL_SUMMON_BOMB_BOT
Definition boss_mimiron.cpp:85
@ SPELL_ROCKET_STRIKE_SINGLE
Definition boss_mimiron.cpp:60
@ SPELL_SELF_REPAIR
Definition boss_mimiron.cpp:96
@ SPELL_SUMMON_PROXIMITY_MINE
Definition boss_mimiron.cpp:51
@ SPELL_SLEEP_VISUAL_2
Definition boss_mimiron.cpp:98
@ NPC_ROCKET_STRIKE_N
Definition boss_mimiron.cpp:66
@ SPELL_NAPALM_SHELL
Definition boss_mimiron.cpp:42
@ SPELL_MAGNETIC_CORE
Definition boss_mimiron.cpp:81
@ SPELL_ROCKET_STRIKE_AURA
Definition boss_mimiron.cpp:59
@ SPELL_ROCKET_STRIKE_DAMAGE
Definition boss_mimiron.cpp:64
@ SPELL_ROCKET_STRIKE_TARGET
Definition boss_mimiron.cpp:62
@ SPELL_RAPID_BURST_TARGET_ME
Definition boss_mimiron.cpp:72
@ SPELL_MAGNETIC_CORE_VISUAL
Definition boss_mimiron.cpp:82
@ NPC_PROXIMITY_MINE
Definition boss_mimiron.cpp:49
@ SPELL_HAND_PULSE_R
Definition boss_mimiron.cpp:93
@ SPELL_HEAT_WAVE
Definition boss_mimiron.cpp:57
@ SPELL_ROCKET_STRIKE_BOTH
Definition boss_mimiron.cpp:61
@ SPELL_SUMMON_BURST_TARGET
Definition boss_mimiron.cpp:71
@ NPC_ROCKET_VISUAL
Definition boss_mimiron.cpp:65
@ SPELL_MAGNETIC_CORE_SUMMON
Definition boss_mimiron.cpp:83
@ SPELL_BERSERK
Definition boss_mimiron.cpp:39
@ SPELL_SPINNING_UP
Definition boss_mimiron.cpp:75
@ SPELL_HAND_PULSE_L
Definition boss_mimiron.cpp:94
@ SPELL_RAPID_BURST_DAMAGE_1
Definition boss_mimiron.cpp:69
@ SPELL_PROXIMITY_MINES
Definition boss_mimiron.cpp:48
@ SPELL_MINE_EXPLOSION
Definition boss_mimiron.cpp:50
@ SPELL_BEAM_YELLOW
Definition boss_mimiron.cpp:89
@ SPELL_SLEEP_VISUAL_1
Definition boss_mimiron.cpp:97

◆ Texts

enum Texts
Enumerator
SAY_AGGRO 
SAY_HARDMODE_ON 
SAY_MKII_ACTIVATE 
SAY_MKII_SLAY 
SAY_MKII_DEATH 
SAY_VX001_ACTIVATE 
SAY_VX001_SLAY 
SAY_VX001_DEATH 
SAY_AERIAL_ACTIVATE 
SAY_AERIAL_SLAY 
SAY_AERIAL_DEATH 
SAY_V07TRON_ACTIVATE 
SAY_V07TRON_SLAY 
SAY_V07TRON_DEATH 
SAY_BERSERK 
EMOTE_PLASMA_BLAST 
TALK_COMPUTER_INITIATED 
TALK_COMPUTER_TERMINATED 
TALK_COMPUTER_TEN 
TALK_COMPUTER_NINE 
TALK_COMPUTER_EIGHT 
TALK_COMPUTER_SEVEN 
TALK_COMPUTER_SIX 
TALK_COMPUTER_FIVE 
TALK_COMPUTER_FOUR 
TALK_COMPUTER_THREE 
TALK_COMPUTER_TWO 
TALK_COMPUTER_ONE 
TALK_COMPUTER_ZERO 
239{
240 // Mimiron
241 SAY_AGGRO = 0, // Unused
242 SAY_HARDMODE_ON = 1,
244 SAY_MKII_SLAY = 3,
245 SAY_MKII_DEATH = 4,
247 SAY_VX001_SLAY = 6,
248 SAY_VX001_DEATH = 7,
250 SAY_AERIAL_SLAY = 9,
251 SAY_AERIAL_DEATH = 10,
253 SAY_V07TRON_SLAY = 12,
255 SAY_BERSERK = 14,
256
257 // MK II
259
260 // Computer (Hardmode countdown)
274};
@ TALK_COMPUTER_THREE
Definition boss_mimiron.cpp:270
@ TALK_COMPUTER_TWO
Definition boss_mimiron.cpp:271
@ TALK_COMPUTER_FOUR
Definition boss_mimiron.cpp:269
@ TALK_COMPUTER_SEVEN
Definition boss_mimiron.cpp:266
@ TALK_COMPUTER_ZERO
Definition boss_mimiron.cpp:273
@ SAY_AERIAL_SLAY
Definition boss_mimiron.cpp:250
@ SAY_AERIAL_ACTIVATE
Definition boss_mimiron.cpp:249
@ SAY_MKII_SLAY
Definition boss_mimiron.cpp:244
@ SAY_AGGRO
Definition boss_mimiron.cpp:241
@ SAY_VX001_ACTIVATE
Definition boss_mimiron.cpp:246
@ SAY_V07TRON_ACTIVATE
Definition boss_mimiron.cpp:252
@ TALK_COMPUTER_NINE
Definition boss_mimiron.cpp:264
@ TALK_COMPUTER_SIX
Definition boss_mimiron.cpp:267
@ TALK_COMPUTER_EIGHT
Definition boss_mimiron.cpp:265
@ TALK_COMPUTER_FIVE
Definition boss_mimiron.cpp:268
@ SAY_AERIAL_DEATH
Definition boss_mimiron.cpp:251
@ TALK_COMPUTER_TEN
Definition boss_mimiron.cpp:263
@ TALK_COMPUTER_INITIATED
Definition boss_mimiron.cpp:261
@ SAY_VX001_DEATH
Definition boss_mimiron.cpp:248
@ SAY_V07TRON_SLAY
Definition boss_mimiron.cpp:253
@ SAY_MKII_DEATH
Definition boss_mimiron.cpp:245
@ SAY_VX001_SLAY
Definition boss_mimiron.cpp:247
@ SAY_HARDMODE_ON
Definition boss_mimiron.cpp:242
@ SAY_V07TRON_DEATH
Definition boss_mimiron.cpp:254
@ TALK_COMPUTER_ONE
Definition boss_mimiron.cpp:272
@ TALK_COMPUTER_TERMINATED
Definition boss_mimiron.cpp:262
@ SAY_BERSERK
Definition boss_mimiron.cpp:255
@ EMOTE_PLASMA_BLAST
Definition boss_mimiron.cpp:258
@ SAY_MKII_ACTIVATE
Definition boss_mimiron.cpp:243

Function Documentation

◆ AddSC_boss_mimiron()

void AddSC_boss_mimiron ( )
2529{
2534
2552
2557}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_mimiron.cpp:2485
Definition boss_mimiron.cpp:2496
Definition boss_mimiron.cpp:2507
Definition boss_mimiron.cpp:2518
Definition boss_mimiron.cpp:2214
Definition boss_mimiron.cpp:2112
Definition boss_mimiron.cpp:2096
Definition boss_mimiron.cpp:2184
Definition boss_mimiron.cpp:2153
Definition boss_mimiron.cpp:2469
Definition boss_mimiron.cpp:1914
Definition boss_mimiron.cpp:1882
Definition boss_mimiron.cpp:2013
Definition boss_mimiron.cpp:1863
Definition boss_mimiron.cpp:285
Definition boss_mimiron.cpp:1547
Definition boss_mimiron.cpp:2038
Definition boss_mimiron.cpp:2379
Definition boss_mimiron.cpp:2240
Definition boss_mimiron.cpp:2348
Definition boss_mimiron.cpp:945
Definition boss_mimiron.cpp:1955
Definition boss_mimiron.cpp:1814
Definition boss_mimiron.cpp:2426
Definition boss_mimiron.cpp:1247
#define RegisterUlduarCreatureAI(ai_name)
Definition ulduar.h:456

References RegisterSpellScript, and RegisterUlduarCreatureAI.

Referenced by AddNorthrendScripts().

◆ FaceBarrageArc()

void FaceBarrageArc ( Unit *  caster)
inline
1228{
1229 InstanceScript* instance = caster->GetInstanceScript();
1230 if (!instance)
1231 return;
1232
1233 Creature* dbTarget = instance->GetCreature(DATA_MIMIRON_DB_TARGET);
1234 if (!dbTarget)
1235 return;
1236
1237 float arc = caster->GetAngle(dbTarget);
1238
1239 // SetFacingTo drops the transport transform for passengers, so phase 4 needs a seat-local angle
1240 if (Unit* vehicle = caster->GetVehicleBase())
1241 arc = Position::NormalizeOrientation(arc - vehicle->GetOrientation());
1242
1243 caster->SetFacingTo(arc);
1244}
Definition Creature.h:47
Definition InstanceScript.h:143
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:120
Definition Unit.h:665
void SetFacingTo(float ori)
Definition Unit.cpp:16068
Unit * GetVehicleBase() const
Definition Unit.cpp:14626
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1247
float GetAngle(Position const *pos) const
Definition Position.cpp:85
static float NormalizeOrientation(float o)
Definition Position.h:238
@ DATA_MIMIRON_DB_TARGET
Definition ulduar.h:75

References DATA_MIMIRON_DB_TARGET, Position::GetAngle(), InstanceScript::GetCreature(), WorldObject::GetInstanceScript(), Unit::GetVehicleBase(), Position::NormalizeOrientation(), and Unit::SetFacingTo().

Referenced by spell_mimiron_p3wx2_laser_barrage_aura::HandleEffectApply(), spell_mimiron_p3wx2_laser_barrage_aura::HandleEffectPeriodic(), and npc_ulduar_vx001::UpdateAI().

Variable Documentation

◆ ACUSummonPos

Position const ACUSummonPos = { 2744.650f, 2569.460f, 380.0f, 3.141593f }
282{ 2744.650f, 2569.460f, 380.0f, 3.141593f };

Referenced by boss_mimiron::UpdateAI().