AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_flame_leviathan.cpp File Reference
#include "AchievementCriteriaScript.h"
#include "AreaDefines.h"
#include "CellImpl.h"
#include "CombatAI.h"
#include "CreatureScript.h"
#include "GameObjectScript.h"
#include "GridNotifiers.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedEscortAI.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "Vehicle.h"
#include "ulduar.h"
#include "GridNotifiersImpl.h"

Go to the source code of this file.

Classes

struct  boss_flame_leviathan
 
struct  boss_flame_leviathan_seat
 
struct  boss_flame_leviathan_defense_turret
 
struct  boss_flame_leviathan_overload_device
 
struct  npc_freya_ward
 
struct  npc_freya_ward_summon
 
struct  npc_hodirs_fury
 
struct  npc_mimirons_inferno
 
struct  npc_thorims_hammer
 
struct  npc_pool_of_tar
 
struct  npc_storm_beacon_spawn
 
struct  boss_flame_leviathan_safety_container
 
struct  npc_salvaged_chopper
 
class  go_ulduar_tower
 
class  spell_load_into_catapult_aura
 
class  spell_auto_repair
 
class  spell_systems_shutdown_aura
 
class  FlameLeviathanPursuedTargetSelector
 
class  spell_pursue
 
class  spell_vehicle_throw_passenger
 
class  spell_hookshot
 
class  spell_hookshot_aura
 
class  spell_tar_blaze_aura
 
class  spell_vehicle_grab_pyrite
 
class  spell_orbital_supports_aura
 
class  spell_thorims_hammer
 
class  spell_transitus_shield_beam_aura
 
class  spell_shield_generator_aura
 
class  spell_demolisher_ride_vehicle
 
class  achievement_flame_leviathan_towers
 
class  achievement_flame_leviathan_shutout
 
class  achievement_flame_leviathan_garage
 
class  achievement_flame_leviathan_unbroken
 

Enumerations

enum  LeviathanSpells {
  SPELL_PURSUED = 62374 ,
  SPELL_GATHERING_SPEED = 62375 ,
  SPELL_BATTERING_RAM = 62376 ,
  SPELL_FLAME_VENTS = 62396 ,
  SPELL_MISSILE_BARRAGE = 62400 ,
  SPELL_NAPALM_10 = 63666 ,
  SPELL_NAPALM_25 = 65026 ,
  SPELL_INVIS_AND_STEALTH_DETECT = 18950 ,
  SPELL_TRANSITUS_SHIELD_IMPACT = 48387 ,
  SPELL_SYSTEMS_SHUTDOWN = 62475 ,
  SPELL_OVERLOAD_CIRCUIT = 62399 ,
  SPELL_START_THE_ENGINE = 62472 ,
  SPELL_TOWER_OF_STORMS = 65076 ,
  SPELL_TOWER_OF_FLAMES = 65075 ,
  SPELL_TOWER_OF_FROST = 65077 ,
  SPELL_TOWER_OF_LIFE = 64482 ,
  SPELL_HODIRS_FURY = 62533 ,
  SPELL_HODIRS_FURY_STUN = 62297 ,
  SPELL_FREYA_WARD = 62906 ,
  SPELL_FREYA_WARD_SECOND_SUMMON = 62947 ,
  SPELL_MIMIRONS_INFERNO = 62909 ,
  SPELL_MIMIRONS_INFERNO_DAMAGE = 62910 ,
  SPELL_THORIMS_HAMMER = 62911 ,
  SPELL_LASH = 65062 ,
  SPELL_FREYA_DUMMY_BLUE = 63294 ,
  SPELL_FREYA_DUMMY_GREEN = 63295 ,
  SPELL_FREYA_DUMMY_YELLOW = 63292 ,
  SPELL_SEARING_FLAME = 62402 ,
  SPELL_SMOKE_TRAIL = 63575 ,
  SPELL_BLAZE = 62292 ,
  SPELL_LIQUID_PYRITE = 62494 ,
  SPELL_DUSTY_EXPLOSION = 63360 ,
  SPELL_DUST_CLOUD_IMPACT = 54740 ,
  SPELL_HOOKSHOT_AURA = 62336 ,
  SPELL_HOOKSHOT = 62323
}
 
enum  GosNpcs {
  NPC_FLAME_LEVIATHAN_TURRET = 33139 ,
  NPC_SEAT = 33114 ,
  NPC_LIQUID = 33189 ,
  NPC_POOL_OF_TAR = 33090 ,
  NPC_BRANN_RADIO = 34054 ,
  NPC_THORIM_HAMMER_TARGET = 33364 ,
  NPC_THORIM_HAMMER = 33365 ,
  NPC_FREYA_WARD_TARGET = 33366 ,
  NPC_FREYA_WARD = 33367 ,
  NPC_WARD_OF_LIFE = 34275 ,
  NPC_MIMIRONS_INFERNO_TARGET = 33369 ,
  NPC_MIMIRONS_INFERNO = 33370 ,
  NPC_HODIRS_FURY_TARGET = 33108 ,
  NPC_HODIRS_FURY = 33212
}
 
enum  Events {
  EVENT_PURSUE = 1 ,
  EVENT_MISSILE = 2 ,
  EVENT_VENT = 3 ,
  EVENT_SPEED = 4 ,
  EVENT_HODIRS_FURY = 6 ,
  EVENT_FREYA = 7 ,
  EVENT_MIMIRONS_INFERNO = 8 ,
  EVENT_THORIMS_HAMMER = 9 ,
  EVENT_SOUND_BEGINNING = 10 ,
  EVENT_EJECT_PLAYERS = 11 ,
  EVENT_CHECK_PLAYERS = 12 ,
  EVENT_LASH = 13 ,
  EVENT_FREYA_WARD_WAVE = 14
}
 
enum  Texts {
  FLAME_LEVIATHAN_SAY_AGGRO = 0 ,
  FLAME_LEVIATHAN_SAY_SLAY = 1 ,
  FLAME_LEVIATHAN_SAY_DEATH = 2 ,
  FLAME_LEVIATHAN_SAY_PURSUE = 3 ,
  FLAME_LEVIATHAN_SAY_HARDMODE = 4 ,
  FLAME_LEVIATHAN_SAY_TOWER_NONE = 5 ,
  FLAME_LEVIATHAN_SAY_TOWER_FROST = 6 ,
  FLAME_LEVIATHAN_SAY_TOWER_FLAME = 7 ,
  FLAME_LEVIATHAN_SAY_TOWER_NATURE = 8 ,
  FLAME_LEVIATHAN_SAY_TOWER_STORM = 9 ,
  FLAME_LEVIATHAN_SAY_PLAYER_RIDING = 10 ,
  FLAME_LEVIATHAN_SAY_OVERLOAD = 11 ,
  FLAME_LEVIATHAN_EMOTE_PURSUE = 12 ,
  FLAME_LEVIATHAN_EMOTE_OVERLOAD = 13 ,
  FLAME_LEVIATHAN_EMOTE_REPAIR = 14 ,
  FLAME_LEVIATHAN_EMOTE_FROST = 15 ,
  FLAME_LEVIATHAN_EMOTE_FLAME = 16 ,
  FLAME_LEVIATHAN_EMOTE_NATURE = 17 ,
  FLAME_LEVIATHAN_EMOTE_STORM = 18 ,
  FLAME_LEVIATHAN_EMOTE_REACTIVATE = 19 ,
  FLAME_LEVIATHAN_EMOTE_OVERLOAD_START = 20 ,
  BRANN_RADIO_SAY_FL_START_0 = 0 ,
  BRANN_RADIO_SAY_FL_START_1 = 1 ,
  BRANN_RADIO_SAY_FL_START_2 = 2 ,
  VEHICLE_EMOTE_REPAIR = 33538
}
 
enum  Seats {
  SEAT_PLAYER = 0 ,
  SEAT_TURRET = 1 ,
  SEAT_DEVICE = 2 ,
  SEAT_CANNON = 7
}
 
enum  Misc {
  DATA_EVENT_STARTED = 1 ,
  DATA_GET_TOWER_COUNT = 2 ,
  DATA_GET_SHUTDOWN = 3 ,
  TOWER_OF_STORMS = 2 ,
  TOWER_OF_FLAMES = 1 ,
  TOWER_OF_FROST = 3 ,
  TOWER_OF_LIFE = 0 ,
  ACTION_START_NORGANNON_EVENT = 1 ,
  ACTION_START_NORGANNON_BRANN = 2 ,
  ACTION_START_BRANN_EVENT = 3 ,
  ACTION_DESPAWN_ADDS = 4 ,
  ACTION_DELAY_CANNON = 5 ,
  FREYA_WARD_LASHERS_PER_WAVE = 5
}
 
enum  SalvagedChopper {
  SPELL_GRAB_PYRITE = 67372 ,
  SPELL_EJECT_PASSENGER = 67393 ,
  SEAT_CHOPPER_PASSENGER = 1
}
 
enum  LoadIntoCataPult { SPELL_PASSENGER_LOADED = 62340 }
 
enum  AutoRepair { SPELL_AUTO_REPAIR = 62705 }
 
enum  VehicleGrabPyrite { SPELL_ADD_PYRITE = 62496 }
 

Functions

static bool IsLeviathanSeatAvailable (Unit const *seat)
 
void AddSC_boss_flame_leviathan ()
 

Variables

const Position homePos = {322.39f, -14.5f, 409.8f, 3.14f}
 

Enumeration Type Documentation

◆ AutoRepair

enum AutoRepair
Enumerator
SPELL_AUTO_REPAIR 
1393{
1394 SPELL_AUTO_REPAIR = 62705,
1395};
@ SPELL_AUTO_REPAIR
Definition boss_flame_leviathan.cpp:1394

◆ Events

enum Events
Enumerator
EVENT_PURSUE 
EVENT_MISSILE 
EVENT_VENT 
EVENT_SPEED 
EVENT_HODIRS_FURY 
EVENT_FREYA 
EVENT_MIMIRONS_INFERNO 
EVENT_THORIMS_HAMMER 
EVENT_SOUND_BEGINNING 
EVENT_EJECT_PLAYERS 
EVENT_CHECK_PLAYERS 
EVENT_LASH 
EVENT_FREYA_WARD_WAVE 
121{
122 EVENT_PURSUE = 1,
123 EVENT_MISSILE = 2,
124 EVENT_VENT = 3,
125 EVENT_SPEED = 4,
127 EVENT_FREYA = 7,
133 EVENT_LASH = 13,
135};
@ EVENT_MIMIRONS_INFERNO
Definition boss_flame_leviathan.cpp:128
@ EVENT_VENT
Definition boss_flame_leviathan.cpp:124
@ EVENT_SPEED
Definition boss_flame_leviathan.cpp:125
@ EVENT_PURSUE
Definition boss_flame_leviathan.cpp:122
@ EVENT_LASH
Definition boss_flame_leviathan.cpp:133
@ EVENT_EJECT_PLAYERS
Definition boss_flame_leviathan.cpp:131
@ EVENT_CHECK_PLAYERS
Definition boss_flame_leviathan.cpp:132
@ EVENT_HODIRS_FURY
Definition boss_flame_leviathan.cpp:126
@ EVENT_FREYA_WARD_WAVE
Definition boss_flame_leviathan.cpp:134
@ EVENT_MISSILE
Definition boss_flame_leviathan.cpp:123
@ EVENT_SOUND_BEGINNING
Definition boss_flame_leviathan.cpp:130
@ EVENT_FREYA
Definition boss_flame_leviathan.cpp:127
@ EVENT_THORIMS_HAMMER
Definition boss_flame_leviathan.cpp:129

◆ GosNpcs

enum GosNpcs
Enumerator
NPC_FLAME_LEVIATHAN_TURRET 
NPC_SEAT 
NPC_LIQUID 
NPC_POOL_OF_TAR 
NPC_BRANN_RADIO 
NPC_THORIM_HAMMER_TARGET 
NPC_THORIM_HAMMER 
NPC_FREYA_WARD_TARGET 
NPC_FREYA_WARD 
NPC_WARD_OF_LIFE 
NPC_MIMIRONS_INFERNO_TARGET 
NPC_MIMIRONS_INFERNO 
NPC_HODIRS_FURY_TARGET 
NPC_HODIRS_FURY 
99{
101 NPC_SEAT = 33114,
102 NPC_LIQUID = 33189,
103 NPC_POOL_OF_TAR = 33090,
104
105 // Starting event
106 NPC_BRANN_RADIO = 34054,
107
108 // Hard Mode
110 NPC_THORIM_HAMMER = 33365,
111 NPC_FREYA_WARD_TARGET = 33366,
112 NPC_FREYA_WARD = 33367,
113 NPC_WARD_OF_LIFE = 34275,
115 NPC_MIMIRONS_INFERNO = 33370,
117 NPC_HODIRS_FURY = 33212,
118};
@ NPC_MIMIRONS_INFERNO
Definition boss_flame_leviathan.cpp:115
@ NPC_MIMIRONS_INFERNO_TARGET
Definition boss_flame_leviathan.cpp:114
@ NPC_BRANN_RADIO
Definition boss_flame_leviathan.cpp:106
@ NPC_WARD_OF_LIFE
Definition boss_flame_leviathan.cpp:113
@ NPC_THORIM_HAMMER
Definition boss_flame_leviathan.cpp:110
@ NPC_THORIM_HAMMER_TARGET
Definition boss_flame_leviathan.cpp:109
@ NPC_FREYA_WARD
Definition boss_flame_leviathan.cpp:112
@ NPC_HODIRS_FURY
Definition boss_flame_leviathan.cpp:117
@ NPC_POOL_OF_TAR
Definition boss_flame_leviathan.cpp:103
@ NPC_FREYA_WARD_TARGET
Definition boss_flame_leviathan.cpp:111
@ NPC_LIQUID
Definition boss_flame_leviathan.cpp:102
@ NPC_FLAME_LEVIATHAN_TURRET
Definition boss_flame_leviathan.cpp:100
@ NPC_HODIRS_FURY_TARGET
Definition boss_flame_leviathan.cpp:116
@ NPC_SEAT
Definition boss_flame_leviathan.cpp:101

◆ LeviathanSpells

Todo:
: this import is not necessary for compilation and marked as unused by the IDE
Enumerator
SPELL_PURSUED 
SPELL_GATHERING_SPEED 
SPELL_BATTERING_RAM 
SPELL_FLAME_VENTS 
SPELL_MISSILE_BARRAGE 
SPELL_NAPALM_10 
SPELL_NAPALM_25 
SPELL_INVIS_AND_STEALTH_DETECT 
SPELL_TRANSITUS_SHIELD_IMPACT 
SPELL_SYSTEMS_SHUTDOWN 
SPELL_OVERLOAD_CIRCUIT 
SPELL_START_THE_ENGINE 
SPELL_TOWER_OF_STORMS 
SPELL_TOWER_OF_FLAMES 
SPELL_TOWER_OF_FROST 
SPELL_TOWER_OF_LIFE 
SPELL_HODIRS_FURY 
SPELL_HODIRS_FURY_STUN 
SPELL_FREYA_WARD 
SPELL_FREYA_WARD_SECOND_SUMMON 
SPELL_MIMIRONS_INFERNO 
SPELL_MIMIRONS_INFERNO_DAMAGE 
SPELL_THORIMS_HAMMER 
SPELL_LASH 
SPELL_FREYA_DUMMY_BLUE 
SPELL_FREYA_DUMMY_GREEN 
SPELL_FREYA_DUMMY_YELLOW 
SPELL_SEARING_FLAME 
SPELL_SMOKE_TRAIL 
SPELL_BLAZE 
SPELL_LIQUID_PYRITE 
SPELL_DUSTY_EXPLOSION 
SPELL_DUST_CLOUD_IMPACT 
SPELL_HOOKSHOT_AURA 
SPELL_HOOKSHOT 
44{
45 // Leviathan basic
46 SPELL_PURSUED = 62374,
48 SPELL_BATTERING_RAM = 62376,
49 SPELL_FLAME_VENTS = 62396,
51 SPELL_NAPALM_10 = 63666,
52 SPELL_NAPALM_25 = 65026,
55
56 // Shutdown spells
60
61 // hard mode
65 SPELL_TOWER_OF_LIFE = 64482,
66
67 SPELL_HODIRS_FURY = 62533,
69 SPELL_FREYA_WARD = 62906, // removed spawn effect
74 SPELL_LASH = 65062,
75
79
80 // Leviathan turret spell
81 SPELL_SEARING_FLAME = 62402,
82 // On turret Destory
83 SPELL_SMOKE_TRAIL = 63575,
84
85 // Pool of tar blaze
86 SPELL_BLAZE = 62292,
87
88 // Pyrite
89 SPELL_LIQUID_PYRITE = 62494,
92
93 // Hookshot
94 SPELL_HOOKSHOT_AURA = 62336,
95 SPELL_HOOKSHOT = 62323,
96};
@ SPELL_FREYA_WARD
Definition boss_flame_leviathan.cpp:69
@ SPELL_FREYA_DUMMY_YELLOW
Definition boss_flame_leviathan.cpp:78
@ SPELL_FLAME_VENTS
Definition boss_flame_leviathan.cpp:49
@ SPELL_MIMIRONS_INFERNO_DAMAGE
Definition boss_flame_leviathan.cpp:72
@ SPELL_BATTERING_RAM
Definition boss_flame_leviathan.cpp:48
@ SPELL_HOOKSHOT_AURA
Definition boss_flame_leviathan.cpp:94
@ SPELL_GATHERING_SPEED
Definition boss_flame_leviathan.cpp:47
@ SPELL_DUSTY_EXPLOSION
Definition boss_flame_leviathan.cpp:90
@ SPELL_MIMIRONS_INFERNO
Definition boss_flame_leviathan.cpp:71
@ SPELL_SMOKE_TRAIL
Definition boss_flame_leviathan.cpp:83
@ SPELL_THORIMS_HAMMER
Definition boss_flame_leviathan.cpp:73
@ SPELL_START_THE_ENGINE
Definition boss_flame_leviathan.cpp:59
@ SPELL_NAPALM_10
Definition boss_flame_leviathan.cpp:51
@ SPELL_LASH
Definition boss_flame_leviathan.cpp:74
@ SPELL_TOWER_OF_LIFE
Definition boss_flame_leviathan.cpp:65
@ SPELL_SYSTEMS_SHUTDOWN
Definition boss_flame_leviathan.cpp:57
@ SPELL_DUST_CLOUD_IMPACT
Definition boss_flame_leviathan.cpp:91
@ SPELL_TOWER_OF_STORMS
Definition boss_flame_leviathan.cpp:62
@ SPELL_HOOKSHOT
Definition boss_flame_leviathan.cpp:95
@ SPELL_OVERLOAD_CIRCUIT
Definition boss_flame_leviathan.cpp:58
@ SPELL_MISSILE_BARRAGE
Definition boss_flame_leviathan.cpp:50
@ SPELL_FREYA_DUMMY_BLUE
Definition boss_flame_leviathan.cpp:76
@ SPELL_NAPALM_25
Definition boss_flame_leviathan.cpp:52
@ SPELL_PURSUED
Definition boss_flame_leviathan.cpp:46
@ SPELL_TRANSITUS_SHIELD_IMPACT
Definition boss_flame_leviathan.cpp:54
@ SPELL_TOWER_OF_FROST
Definition boss_flame_leviathan.cpp:64
@ SPELL_SEARING_FLAME
Definition boss_flame_leviathan.cpp:81
@ SPELL_HODIRS_FURY
Definition boss_flame_leviathan.cpp:67
@ SPELL_HODIRS_FURY_STUN
Definition boss_flame_leviathan.cpp:68
@ SPELL_FREYA_WARD_SECOND_SUMMON
Definition boss_flame_leviathan.cpp:70
@ SPELL_BLAZE
Definition boss_flame_leviathan.cpp:86
@ SPELL_INVIS_AND_STEALTH_DETECT
Definition boss_flame_leviathan.cpp:53
@ SPELL_TOWER_OF_FLAMES
Definition boss_flame_leviathan.cpp:63
@ SPELL_LIQUID_PYRITE
Definition boss_flame_leviathan.cpp:89
@ SPELL_FREYA_DUMMY_GREEN
Definition boss_flame_leviathan.cpp:77

◆ LoadIntoCataPult

Enumerator
SPELL_PASSENGER_LOADED 
1354{
1356};
@ SPELL_PASSENGER_LOADED
Definition boss_flame_leviathan.cpp:1355

◆ Misc

enum Misc
Enumerator
DATA_EVENT_STARTED 
DATA_GET_TOWER_COUNT 
DATA_GET_SHUTDOWN 
TOWER_OF_STORMS 
TOWER_OF_FLAMES 
TOWER_OF_FROST 
TOWER_OF_LIFE 
ACTION_START_NORGANNON_EVENT 
ACTION_START_NORGANNON_BRANN 
ACTION_START_BRANN_EVENT 
ACTION_DESPAWN_ADDS 
ACTION_DELAY_CANNON 
FREYA_WARD_LASHERS_PER_WAVE 
179{
183
184 TOWER_OF_STORMS = 2,
185 TOWER_OF_FLAMES = 1,
186 TOWER_OF_FROST = 3,
187 TOWER_OF_LIFE = 0,
188
194
195 // sniffed: five per beam per wave
197};
@ ACTION_START_NORGANNON_BRANN
Definition boss_flame_leviathan.cpp:190
@ DATA_GET_SHUTDOWN
Definition boss_flame_leviathan.cpp:182
@ TOWER_OF_FLAMES
Definition boss_flame_leviathan.cpp:185
@ ACTION_DESPAWN_ADDS
Definition boss_flame_leviathan.cpp:192
@ TOWER_OF_STORMS
Definition boss_flame_leviathan.cpp:184
@ TOWER_OF_FROST
Definition boss_flame_leviathan.cpp:186
@ TOWER_OF_LIFE
Definition boss_flame_leviathan.cpp:187
@ DATA_GET_TOWER_COUNT
Definition boss_flame_leviathan.cpp:181
@ DATA_EVENT_STARTED
Definition boss_flame_leviathan.cpp:180
@ FREYA_WARD_LASHERS_PER_WAVE
Definition boss_flame_leviathan.cpp:196
@ ACTION_START_NORGANNON_EVENT
Definition boss_flame_leviathan.cpp:189
@ ACTION_DELAY_CANNON
Definition boss_flame_leviathan.cpp:193
@ ACTION_START_BRANN_EVENT
Definition boss_flame_leviathan.cpp:191

◆ SalvagedChopper

Enumerator
SPELL_GRAB_PYRITE 
SPELL_EJECT_PASSENGER 
SEAT_CHOPPER_PASSENGER 
1298{
1299 SPELL_GRAB_PYRITE = 67372,
1300 SPELL_EJECT_PASSENGER = 67393,
1301
1302 // The chopper's only other seat, carrying either a player or a grabbed pyrite crate.
1304};
@ SEAT_CHOPPER_PASSENGER
Definition boss_flame_leviathan.cpp:1303
@ SPELL_EJECT_PASSENGER
Definition boss_flame_leviathan.cpp:1300
@ SPELL_GRAB_PYRITE
Definition boss_flame_leviathan.cpp:1299

◆ Seats

enum Seats
Enumerator
SEAT_PLAYER 
SEAT_TURRET 
SEAT_DEVICE 
SEAT_CANNON 
171{
172 SEAT_PLAYER = 0,
173 SEAT_TURRET = 1,
174 SEAT_DEVICE = 2,
175 SEAT_CANNON = 7,
176};
@ SEAT_PLAYER
Definition boss_flame_leviathan.cpp:172
@ SEAT_TURRET
Definition boss_flame_leviathan.cpp:173
@ SEAT_CANNON
Definition boss_flame_leviathan.cpp:175
@ SEAT_DEVICE
Definition boss_flame_leviathan.cpp:174

◆ Texts

enum Texts
Enumerator
FLAME_LEVIATHAN_SAY_AGGRO 
FLAME_LEVIATHAN_SAY_SLAY 
FLAME_LEVIATHAN_SAY_DEATH 
FLAME_LEVIATHAN_SAY_PURSUE 
FLAME_LEVIATHAN_SAY_HARDMODE 
FLAME_LEVIATHAN_SAY_TOWER_NONE 
FLAME_LEVIATHAN_SAY_TOWER_FROST 
FLAME_LEVIATHAN_SAY_TOWER_FLAME 
FLAME_LEVIATHAN_SAY_TOWER_NATURE 
FLAME_LEVIATHAN_SAY_TOWER_STORM 
FLAME_LEVIATHAN_SAY_PLAYER_RIDING 
FLAME_LEVIATHAN_SAY_OVERLOAD 
FLAME_LEVIATHAN_EMOTE_PURSUE 
FLAME_LEVIATHAN_EMOTE_OVERLOAD 
FLAME_LEVIATHAN_EMOTE_REPAIR 
FLAME_LEVIATHAN_EMOTE_FROST 
FLAME_LEVIATHAN_EMOTE_FLAME 
FLAME_LEVIATHAN_EMOTE_NATURE 
FLAME_LEVIATHAN_EMOTE_STORM 
FLAME_LEVIATHAN_EMOTE_REACTIVATE 
FLAME_LEVIATHAN_EMOTE_OVERLOAD_START 
BRANN_RADIO_SAY_FL_START_0 
BRANN_RADIO_SAY_FL_START_1 
BRANN_RADIO_SAY_FL_START_2 
VEHICLE_EMOTE_REPAIR 
138{
160
161 // NPC_BRANN_RADIO
165
166 // Vehicle Repair - Said by a spell, BroadcastTextID, same as FLAME_LEVIATHAN_EMOTE_REPAIR
167 VEHICLE_EMOTE_REPAIR = 33538,
168};
@ FLAME_LEVIATHAN_EMOTE_NATURE
Definition boss_flame_leviathan.cpp:156
@ FLAME_LEVIATHAN_SAY_PLAYER_RIDING
Definition boss_flame_leviathan.cpp:149
@ FLAME_LEVIATHAN_EMOTE_REPAIR
Definition boss_flame_leviathan.cpp:153
@ FLAME_LEVIATHAN_EMOTE_STORM
Definition boss_flame_leviathan.cpp:157
@ FLAME_LEVIATHAN_EMOTE_REACTIVATE
Definition boss_flame_leviathan.cpp:158
@ BRANN_RADIO_SAY_FL_START_0
Definition boss_flame_leviathan.cpp:162
@ FLAME_LEVIATHAN_SAY_OVERLOAD
Definition boss_flame_leviathan.cpp:150
@ BRANN_RADIO_SAY_FL_START_1
Definition boss_flame_leviathan.cpp:163
@ FLAME_LEVIATHAN_SAY_DEATH
Definition boss_flame_leviathan.cpp:141
@ FLAME_LEVIATHAN_SAY_HARDMODE
Definition boss_flame_leviathan.cpp:143
@ FLAME_LEVIATHAN_EMOTE_OVERLOAD
Definition boss_flame_leviathan.cpp:152
@ FLAME_LEVIATHAN_EMOTE_FROST
Definition boss_flame_leviathan.cpp:154
@ BRANN_RADIO_SAY_FL_START_2
Definition boss_flame_leviathan.cpp:164
@ FLAME_LEVIATHAN_SAY_PURSUE
Definition boss_flame_leviathan.cpp:142
@ FLAME_LEVIATHAN_SAY_TOWER_STORM
Definition boss_flame_leviathan.cpp:148
@ FLAME_LEVIATHAN_EMOTE_OVERLOAD_START
Definition boss_flame_leviathan.cpp:159
@ FLAME_LEVIATHAN_SAY_AGGRO
Definition boss_flame_leviathan.cpp:139
@ VEHICLE_EMOTE_REPAIR
Definition boss_flame_leviathan.cpp:167
@ FLAME_LEVIATHAN_SAY_SLAY
Definition boss_flame_leviathan.cpp:140
@ FLAME_LEVIATHAN_SAY_TOWER_FROST
Definition boss_flame_leviathan.cpp:145
@ FLAME_LEVIATHAN_SAY_TOWER_NONE
Definition boss_flame_leviathan.cpp:144
@ FLAME_LEVIATHAN_EMOTE_FLAME
Definition boss_flame_leviathan.cpp:155
@ FLAME_LEVIATHAN_EMOTE_PURSUE
Definition boss_flame_leviathan.cpp:151
@ FLAME_LEVIATHAN_SAY_TOWER_FLAME
Definition boss_flame_leviathan.cpp:146
@ FLAME_LEVIATHAN_SAY_TOWER_NATURE
Definition boss_flame_leviathan.cpp:147

◆ VehicleGrabPyrite

Enumerator
SPELL_ADD_PYRITE 
1722{
1723 SPELL_ADD_PYRITE = 62496
1724};
@ SPELL_ADD_PYRITE
Definition boss_flame_leviathan.cpp:1723

Function Documentation

◆ AddSC_boss_flame_leviathan()

void AddSC_boss_flame_leviathan ( )
2008{
2014
2015 // Hard Mode
2021
2022 // Helpers
2026
2027 // GOs
2028 new go_ulduar_tower();
2029
2030 // Spells
2045
2046 // Achievements
2047 new achievement_flame_leviathan_towers("achievement_flame_leviathan_orbital_bombardment", 1);
2048 new achievement_flame_leviathan_towers("achievement_flame_leviathan_orbital_devastation", 2);
2049 new achievement_flame_leviathan_towers("achievement_flame_leviathan_nuked_from_orbit", 3);
2050 new achievement_flame_leviathan_towers("achievement_flame_leviathan_orbituary", 4);
2052 new achievement_flame_leviathan_garage("achievement_flame_leviathan_garage_chopper", NPC_VEHICLE_CHOPPER, 0);
2053 new achievement_flame_leviathan_garage("achievement_flame_leviathan_garage_siege_engine", NPC_SALVAGED_SIEGE_ENGINE, NPC_SALVAGED_SIEGE_ENGINE_TURRET);
2054 new achievement_flame_leviathan_garage("achievement_flame_leviathan_garage_demolisher", NPC_SALVAGED_DEMOLISHER, NPC_SALVAGED_DEMOLISHER_TURRET);
2056}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_flame_leviathan.cpp:1974
Definition boss_flame_leviathan.cpp:1960
Definition boss_flame_leviathan.cpp:1943
Definition boss_flame_leviathan.cpp:1995
Definition boss_flame_leviathan.cpp:1341
Definition boss_flame_leviathan.cpp:1398
Definition boss_flame_leviathan.cpp:1910
Definition boss_flame_leviathan.cpp:1675
Definition boss_flame_leviathan.cpp:1628
Definition boss_flame_leviathan.cpp:1359
Definition boss_flame_leviathan.cpp:1779
Definition boss_flame_leviathan.cpp:1521
Definition boss_flame_leviathan.cpp:1879
Definition boss_flame_leviathan.cpp:1446
Definition boss_flame_leviathan.cpp:1707
Definition boss_flame_leviathan.cpp:1793
Definition boss_flame_leviathan.cpp:1823
Definition boss_flame_leviathan.cpp:1727
Definition boss_flame_leviathan.cpp:1567
Definition boss_flame_leviathan.cpp:825
Definition boss_flame_leviathan.cpp:896
Definition boss_flame_leviathan.cpp:1261
Definition boss_flame_leviathan.cpp:712
Definition boss_flame_leviathan.cpp:202
Definition boss_flame_leviathan.cpp:989
Definition boss_flame_leviathan.cpp:918
Definition boss_flame_leviathan.cpp:1047
Definition boss_flame_leviathan.cpp:1115
Definition boss_flame_leviathan.cpp:1213
Definition boss_flame_leviathan.cpp:1307
Definition boss_flame_leviathan.cpp:1231
Definition boss_flame_leviathan.cpp:1168
#define RegisterUlduarCreatureAI(ai_name)
Definition ulduar.h:457
@ NPC_SALVAGED_DEMOLISHER_TURRET
Definition ulduar.h:228
@ NPC_SALVAGED_SIEGE_ENGINE
Definition ulduar.h:224
@ NPC_VEHICLE_CHOPPER
Definition ulduar.h:226
@ NPC_SALVAGED_SIEGE_ENGINE_TURRET
Definition ulduar.h:225
@ NPC_SALVAGED_DEMOLISHER
Definition ulduar.h:227

References NPC_SALVAGED_DEMOLISHER, NPC_SALVAGED_DEMOLISHER_TURRET, NPC_SALVAGED_SIEGE_ENGINE, NPC_SALVAGED_SIEGE_ENGINE_TURRET, NPC_VEHICLE_CHOPPER, RegisterSpellScript, and RegisterUlduarCreatureAI.

Referenced by AddNorthrendScripts().

◆ IsLeviathanSeatAvailable()

static bool IsLeviathanSeatAvailable ( Unit const *  seat)
static
1557{
1558 Vehicle* seatVehicle = seat->GetEntry() == NPC_SEAT ? seat->GetVehicleKit() : nullptr;
1559 if (!seatVehicle || seatVehicle->GetPassenger(SEAT_PLAYER))
1560 return false;
1561
1562 Unit* device = seatVehicle->GetPassenger(SEAT_DEVICE);
1563 return device && !device->GetCurrentSpell(CURRENT_CHANNELED_SPELL);
1564}
@ CURRENT_CHANNELED_SPELL
Definition Unit.h:565
Definition Unit.h:670
Spell * GetCurrentSpell(CurrentSpellTypes spellType) const
Definition Unit.h:1593
Definition Vehicle.h:28
Unit * GetPassenger(int8 seatId) const
Definition Vehicle.cpp:266

References CURRENT_CHANNELED_SPELL, Unit::GetCurrentSpell(), Object::GetEntry(), Vehicle::GetPassenger(), Unit::GetVehicleKit(), NPC_SEAT, SEAT_DEVICE, and SEAT_PLAYER.

Referenced by spell_vehicle_throw_passenger::HandleScript(), and spell_hookshot::SelectAvailableSeat().

Variable Documentation

◆ homePos

const Position homePos = {322.39f, -14.5f, 409.8f, 3.14f}