AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_ragnaros.cpp File Reference
#include "CreatureScript.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "molten_core.h"

Go to the source code of this file.

Classes

class  boss_ragnaros
 
struct  boss_ragnaros::boss_ragnarosAI
 
class  spell_ragnaros_lava_burst_randomizer
 
class  spell_ragnaros_summon_sons_of_flame
 

Enumerations

enum  Texts {
  SAY_SUMMON_MAJ = 0 ,
  SAY_ARRIVAL1_RAG = 1 ,
  SAY_ARRIVAL2_MAJ = 2 ,
  SAY_ARRIVAL3_RAG = 3 ,
  SAY_ARRIVAL5_RAG = 4 ,
  SAY_REINFORCEMENTS1 = 5 ,
  SAY_REINFORCEMENTS2 = 6 ,
  SAY_KNOCKBACK = 7 ,
  SAY_WRATH = 8 ,
  SAY_KILL = 9 ,
  SAY_MAGMABURST = 10
}
 
enum  Spells {
  SPELL_HAND_OF_RAGNAROS = 19780 ,
  SPELL_WRATH_OF_RAGNAROS = 20566 ,
  SPELL_LAVA_BURST = 21908 ,
  SPELL_MAGMA_BLAST = 20565 ,
  SPELL_SONS_OF_FLAME_DUMMY = 21108 ,
  SPELL_RAGSUBMERGE = 21107 ,
  SPELL_RAGNA_SUBMERGE_VISUAL = 20567 ,
  SPELL_RAGEMERGE = 20568 ,
  SPELL_RAGNAROS_SUBMERGE_EFFECT = 21859 ,
  SPELL_ELEMENTAL_FIRE_KILL = 19773 ,
  SPELL_MIGHT_OF_RAGNAROS = 21154 ,
  SPELL_INTENSE_HEAT = 21155 ,
  SPELL_SUMMON_SONS_FLAME = 21108 ,
  SPELL_LAVA_BURST_A = 21886 ,
  SPELL_LAVA_BURST_B = 21900 ,
  SPELL_LAVA_BURST_C = 21901 ,
  SPELL_LAVA_BURST_D = 21902 ,
  SPELL_LAVA_BURST_E = 21903 ,
  SPELL_LAVA_BURST_F = 21905 ,
  SPELL_LAVA_BURST_G = 21906 ,
  SPELL_LAVA_BURST_H = 21907 ,
  SPELL_LAVA_BURST_TRAP = 21158 ,
  SPELL_SUMMON_SON_OF_FLAME_A = 21117 ,
  SPELL_SUMMON_SON_OF_FLAME_B = 21110 ,
  SPELL_SUMMON_SON_OF_FLAME_C = 21111 ,
  SPELL_SUMMON_SON_OF_FLAME_D = 21112 ,
  SPELL_SUMMON_SON_OF_FLAME_E = 21113 ,
  SPELL_SUMMON_SON_OF_FLAME_F = 21114 ,
  SPELL_SUMMON_SON_OF_FLAME_G = 21115 ,
  SPELL_SUMMON_SON_OF_FLAME_H = 21116
}
 
enum  Events {
  EVENT_ERUPTION = 1 ,
  EVENT_WRATH_OF_RAGNAROS ,
  EVENT_HAND_OF_RAGNAROS ,
  EVENT_MIGHT_OF_RAGNAROS ,
  EVENT_LAVA_BURST ,
  EVENT_MAGMA_BLAST ,
  EVENT_SUBMERGE ,
  EVENT_LAVA_BURST_TRIGGER ,
  EVENT_EMERGE ,
  EVENT_INTRO_SAY ,
  EVENT_INTRO_MAKE_ATTACKABLE ,
  EVENT_RESET_KNOCKBACK_EMOTE
}
 
enum  Creatures {
  NPC_SON_OF_FLAME = 12143 ,
  NPC_FLAME_OF_RAGNAROS = 13148
}
 
enum  Misc {
  MAX_SON_OF_FLAME_COUNT = 8 ,
  PHASE_INTRO = 1 ,
  PHASE_EMERGED = 2 ,
  PHASE_SUBMERGED = 3
}
 

Functions

void AddSC_boss_ragnaros ()
 

Variables

constexpr float DEATH_ORIENTATION = 4.0f
 
constexpr std::array< uint32, 8 > RagnarosLavaBurstSpells = { SPELL_LAVA_BURST_A, SPELL_LAVA_BURST_B, SPELL_LAVA_BURST_C, SPELL_LAVA_BURST_D, SPELL_LAVA_BURST_E, SPELL_LAVA_BURST_F, SPELL_LAVA_BURST_G, SPELL_LAVA_BURST_H }
 
constexpr std::array< uint32, 8 > RagnarosSoFSpells = { SPELL_SUMMON_SON_OF_FLAME_A, SPELL_SUMMON_SON_OF_FLAME_B, SPELL_SUMMON_SON_OF_FLAME_C, SPELL_SUMMON_SON_OF_FLAME_D, SPELL_SUMMON_SON_OF_FLAME_E, SPELL_SUMMON_SON_OF_FLAME_F, SPELL_SUMMON_SON_OF_FLAME_G, SPELL_SUMMON_SON_OF_FLAME_H }
 

Enumeration Type Documentation

◆ Creatures

enum Creatures
Enumerator
NPC_SON_OF_FLAME 
NPC_FLAME_OF_RAGNAROS 
98{
99 NPC_SON_OF_FLAME = 12143,
100 NPC_FLAME_OF_RAGNAROS = 13148,
101};
@ NPC_SON_OF_FLAME
Definition boss_ragnaros.cpp:99
@ NPC_FLAME_OF_RAGNAROS
Definition boss_ragnaros.cpp:100

◆ Events

enum Events
Enumerator
EVENT_ERUPTION 
EVENT_WRATH_OF_RAGNAROS 
EVENT_HAND_OF_RAGNAROS 
EVENT_MIGHT_OF_RAGNAROS 
EVENT_LAVA_BURST 
EVENT_MAGMA_BLAST 
EVENT_SUBMERGE 
EVENT_LAVA_BURST_TRIGGER 
EVENT_EMERGE 
EVENT_INTRO_SAY 
EVENT_INTRO_MAKE_ATTACKABLE 
EVENT_RESET_KNOCKBACK_EMOTE 
76{
85
86 // Submerge
88
89 // Intro
92
93 // Misc
95};
@ EVENT_EMERGE
Definition boss_ragnaros.cpp:87
@ EVENT_MAGMA_BLAST
Definition boss_ragnaros.cpp:82
@ EVENT_LAVA_BURST_TRIGGER
Definition boss_ragnaros.cpp:84
@ EVENT_WRATH_OF_RAGNAROS
Definition boss_ragnaros.cpp:78
@ EVENT_INTRO_SAY
Definition boss_ragnaros.cpp:90
@ EVENT_MIGHT_OF_RAGNAROS
Definition boss_ragnaros.cpp:80
@ EVENT_HAND_OF_RAGNAROS
Definition boss_ragnaros.cpp:79
@ EVENT_INTRO_MAKE_ATTACKABLE
Definition boss_ragnaros.cpp:91
@ EVENT_SUBMERGE
Definition boss_ragnaros.cpp:83
@ EVENT_LAVA_BURST
Definition boss_ragnaros.cpp:81
@ EVENT_RESET_KNOCKBACK_EMOTE
Definition boss_ragnaros.cpp:94
@ EVENT_ERUPTION
Definition boss_ragnaros.cpp:77

◆ Misc

enum Misc
Enumerator
MAX_SON_OF_FLAME_COUNT 
PHASE_INTRO 
PHASE_EMERGED 
PHASE_SUBMERGED 
104{
106
107 // Event phase
108 PHASE_INTRO = 1, // Intro events with Majordomu
109 PHASE_EMERGED = 2, // events which are executed while Ragnaros is visible
110 PHASE_SUBMERGED = 3, // events which are executed while Ragnaros is submerged (not visible)
111};
@ PHASE_INTRO
Definition boss_ragnaros.cpp:108
@ PHASE_EMERGED
Definition boss_ragnaros.cpp:109
@ MAX_SON_OF_FLAME_COUNT
Definition boss_ragnaros.cpp:105
@ PHASE_SUBMERGED
Definition boss_ragnaros.cpp:110

◆ Spells

enum Spells
Enumerator
SPELL_HAND_OF_RAGNAROS 
SPELL_WRATH_OF_RAGNAROS 
SPELL_LAVA_BURST 
SPELL_MAGMA_BLAST 
SPELL_SONS_OF_FLAME_DUMMY 
SPELL_RAGSUBMERGE 
SPELL_RAGNA_SUBMERGE_VISUAL 
SPELL_RAGEMERGE 
SPELL_RAGNAROS_SUBMERGE_EFFECT 
SPELL_ELEMENTAL_FIRE_KILL 
SPELL_MIGHT_OF_RAGNAROS 
SPELL_INTENSE_HEAT 
SPELL_SUMMON_SONS_FLAME 
SPELL_LAVA_BURST_A 
SPELL_LAVA_BURST_B 
SPELL_LAVA_BURST_C 
SPELL_LAVA_BURST_D 
SPELL_LAVA_BURST_E 
SPELL_LAVA_BURST_F 
SPELL_LAVA_BURST_G 
SPELL_LAVA_BURST_H 
SPELL_LAVA_BURST_TRAP 
SPELL_SUMMON_SON_OF_FLAME_A 
SPELL_SUMMON_SON_OF_FLAME_B 
SPELL_SUMMON_SON_OF_FLAME_C 
SPELL_SUMMON_SON_OF_FLAME_D 
SPELL_SUMMON_SON_OF_FLAME_E 
SPELL_SUMMON_SON_OF_FLAME_F 
SPELL_SUMMON_SON_OF_FLAME_G 
SPELL_SUMMON_SON_OF_FLAME_H 
40{
43 SPELL_LAVA_BURST = 21908, // Randomly trigger one of server side spells (21886, 21900 - 21907) which summons Go 178088
44 SPELL_MAGMA_BLAST = 20565, // Ranged attack
45 SPELL_SONS_OF_FLAME_DUMMY = 21108, // Server side effect
46 SPELL_RAGSUBMERGE = 21107, // Stealth aura
47 SPELL_RAGNA_SUBMERGE_VISUAL = 20567, // Visual for submerging into lava
48 SPELL_RAGEMERGE = 20568,
49 SPELL_RAGNAROS_SUBMERGE_EFFECT = 21859, // Applies pacify state and applies all schools immunity (server side)
50 SPELL_ELEMENTAL_FIRE_KILL = 19773, // Spell is used only on Majordomo
52 SPELL_INTENSE_HEAT = 21155,
53 SPELL_SUMMON_SONS_FLAME = 21108, // Trigger the eight spells summoning the Son of Flame adds
54
55 SPELL_LAVA_BURST_A = 21886,
56 SPELL_LAVA_BURST_B = 21900,
57 SPELL_LAVA_BURST_C = 21901,
58 SPELL_LAVA_BURST_D = 21902,
59 SPELL_LAVA_BURST_E = 21903,
60 SPELL_LAVA_BURST_F = 21905,
61 SPELL_LAVA_BURST_G = 21906,
62 SPELL_LAVA_BURST_H = 21907,
64
73};
@ SPELL_RAGSUBMERGE
Definition boss_ragnaros.cpp:46
@ SPELL_SUMMON_SON_OF_FLAME_D
Definition boss_ragnaros.cpp:68
@ SPELL_LAVA_BURST_G
Definition boss_ragnaros.cpp:61
@ SPELL_LAVA_BURST_B
Definition boss_ragnaros.cpp:56
@ SPELL_SUMMON_SON_OF_FLAME_F
Definition boss_ragnaros.cpp:70
@ SPELL_LAVA_BURST_H
Definition boss_ragnaros.cpp:62
@ SPELL_RAGEMERGE
Definition boss_ragnaros.cpp:48
@ SPELL_WRATH_OF_RAGNAROS
Definition boss_ragnaros.cpp:42
@ SPELL_RAGNAROS_SUBMERGE_EFFECT
Definition boss_ragnaros.cpp:49
@ SPELL_INTENSE_HEAT
Definition boss_ragnaros.cpp:52
@ SPELL_MAGMA_BLAST
Definition boss_ragnaros.cpp:44
@ SPELL_HAND_OF_RAGNAROS
Definition boss_ragnaros.cpp:41
@ SPELL_LAVA_BURST_F
Definition boss_ragnaros.cpp:60
@ SPELL_SUMMON_SONS_FLAME
Definition boss_ragnaros.cpp:53
@ SPELL_ELEMENTAL_FIRE_KILL
Definition boss_ragnaros.cpp:50
@ SPELL_LAVA_BURST
Definition boss_ragnaros.cpp:43
@ SPELL_LAVA_BURST_TRAP
Definition boss_ragnaros.cpp:63
@ SPELL_LAVA_BURST_C
Definition boss_ragnaros.cpp:57
@ SPELL_SUMMON_SON_OF_FLAME_C
Definition boss_ragnaros.cpp:67
@ SPELL_LAVA_BURST_E
Definition boss_ragnaros.cpp:59
@ SPELL_LAVA_BURST_D
Definition boss_ragnaros.cpp:58
@ SPELL_LAVA_BURST_A
Definition boss_ragnaros.cpp:55
@ SPELL_SUMMON_SON_OF_FLAME_H
Definition boss_ragnaros.cpp:72
@ SPELL_SUMMON_SON_OF_FLAME_B
Definition boss_ragnaros.cpp:66
@ SPELL_SONS_OF_FLAME_DUMMY
Definition boss_ragnaros.cpp:45
@ SPELL_SUMMON_SON_OF_FLAME_G
Definition boss_ragnaros.cpp:71
@ SPELL_SUMMON_SON_OF_FLAME_A
Definition boss_ragnaros.cpp:65
@ SPELL_SUMMON_SON_OF_FLAME_E
Definition boss_ragnaros.cpp:69
@ SPELL_MIGHT_OF_RAGNAROS
Definition boss_ragnaros.cpp:51
@ SPELL_RAGNA_SUBMERGE_VISUAL
Definition boss_ragnaros.cpp:47

◆ Texts

enum Texts
Enumerator
SAY_SUMMON_MAJ 
SAY_ARRIVAL1_RAG 
SAY_ARRIVAL2_MAJ 
SAY_ARRIVAL3_RAG 
SAY_ARRIVAL5_RAG 
SAY_REINFORCEMENTS1 
SAY_REINFORCEMENTS2 
SAY_KNOCKBACK 
SAY_WRATH 
SAY_KILL 
SAY_MAGMABURST 
25{
33 SAY_KNOCKBACK = 7, // Text is used for SPELL_HAND_OF_RAGNAROS & SPELL_MIGHT_OF_RAGNAROS. "By fire be purged!"
34 SAY_WRATH = 8,
35 SAY_KILL = 9,
36 SAY_MAGMABURST = 10,
37};
@ SAY_ARRIVAL5_RAG
Definition boss_ragnaros.cpp:30
@ SAY_ARRIVAL2_MAJ
Definition boss_ragnaros.cpp:28
@ SAY_MAGMABURST
Definition boss_ragnaros.cpp:36
@ SAY_REINFORCEMENTS1
Definition boss_ragnaros.cpp:31
@ SAY_ARRIVAL1_RAG
Definition boss_ragnaros.cpp:27
@ SAY_KILL
Definition boss_ragnaros.cpp:35
@ SAY_KNOCKBACK
Definition boss_ragnaros.cpp:33
@ SAY_REINFORCEMENTS2
Definition boss_ragnaros.cpp:32
@ SAY_ARRIVAL3_RAG
Definition boss_ragnaros.cpp:29
@ SAY_SUMMON_MAJ
Definition boss_ragnaros.cpp:26
@ SAY_WRATH
Definition boss_ragnaros.cpp:34

Function Documentation

◆ AddSC_boss_ragnaros()

void AddSC_boss_ragnaros ( )
562{
563 new boss_ragnaros();
566}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_ragnaros.cpp:116
Definition boss_ragnaros.cpp:505
Definition boss_ragnaros.cpp:536

References RegisterSpellScript.

Referenced by AddEasternKingdomsScripts().

Variable Documentation

◆ DEATH_ORIENTATION

constexpr float DEATH_ORIENTATION = 4.0f
constexpr

◆ RagnarosLavaBurstSpells

◆ RagnarosSoFSpells