AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_emerald_dragons.cpp File Reference
#include "CreatureScript.h"
#include "GridNotifiers.h"
#include "PassiveAI.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "TaskScheduler.h"

Go to the source code of this file.

Classes

struct  emerald_dragonAI
 
class  npc_dream_fog
 
struct  npc_dream_fog::npc_dream_fogAI
 
class  boss_ysondre
 
struct  boss_ysondre::boss_ysondreAI
 
class  boss_lethon
 
struct  boss_lethon::boss_lethonAI
 
class  npc_spirit_shade
 
struct  npc_spirit_shade::npc_spirit_shadeAI
 
class  boss_emeriss
 
struct  boss_emeriss::boss_emerissAI
 
class  boss_taerar
 
struct  boss_taerar::boss_taerarAI
 
class  spell_dream_fog_sleep
 
class  MarkOfNatureTargetSelector
 
class  spell_shadow_bolt_whirl
 
class  spell_mark_of_nature
 

Enumerations

enum  EmeraldDragonNPC {
  NPC_DREAM_FOG = 15224 ,
  DRAGON_YSONDRE = 14887 ,
  DRAGON_LETHON = 14888 ,
  DRAGON_EMERISS = 14889 ,
  DRAGON_TAERAR = 14890 ,
  GUID_DRAGON = 1 ,
  GUID_FOG_TARGET = 2
}
 
enum  EmeraldDragonSpells {
  SPELL_TAIL_SWEEP = 15847 ,
  SPELL_SUMMON_PLAYER = 24776 ,
  SPELL_DREAM_FOG = 24777 ,
  SPELL_SLEEP = 24778 ,
  SPELL_SEEPING_FOG_LEFT = 24813 ,
  SPELL_SEEPING_FOG_RIGHT = 24814 ,
  SPELL_NOXIOUS_BREATH = 24818 ,
  SPELL_MARK_OF_NATURE = 25040 ,
  SPELL_MARK_OF_NATURE_AURA = 25041 ,
  SPELL_AURA_OF_NATURE = 25043
}
 
enum  Events {
  EVENT_SEEPING_FOG = 1 ,
  EVENT_NOXIOUS_BREATH ,
  EVENT_TAIL_SWEEP ,
  EVENT_SUMMON_PLAYER ,
  EVENT_LIGHTNING_WAVE ,
  EVENT_SUMMON_DRUID_SPIRITS ,
  EVENT_SHADOW_BOLT_WHIRL ,
  EVENT_VOLATILE_INFECTION ,
  EVENT_CORRUPTION_OF_EARTH ,
  EVENT_ARCANE_BLAST ,
  EVENT_BELLOWING_ROAR
}
 
enum  YsondreNPC { NPC_DEMENTED_DRUID = 15260 }
 
enum  YsondreTexts {
  SAY_YSONDRE_AGGRO = 0 ,
  SAY_YSONDRE_SUMMON_DRUIDS = 1
}
 
enum  YsondreSpells {
  SPELL_LIGHTNING_WAVE = 24819 ,
  SPELL_SUMMON_DRUID_SPIRITS = 24795
}
 
enum  LethonTexts {
  SAY_LETHON_AGGRO = 0 ,
  SAY_LETHON_DRAW_SPIRIT = 1
}
 
enum  LethonSpells {
  SPELL_DRAW_SPIRIT = 24811 ,
  SPELL_SHADOW_BOLT_WHIRL = 24834 ,
  SPELL_DARK_OFFERING = 24804 ,
  SPELL_SHADOW_BOLT_WHIRL1 = 24820 ,
  SPELL_SHADOW_BOLT_WHIRL2 = 24821 ,
  SPELL_SHADOW_BOLT_WHIRL3 = 24822 ,
  SPELL_SHADOW_BOLT_WHIRL4 = 24823 ,
  SPELL_SHADOW_BOLT_WHIRL5 = 24835 ,
  SPELL_SHADOW_BOLT_WHIRL6 = 24836 ,
  SPELL_SHADOW_BOLT_WHIRL7 = 24837 ,
  SPELL_SHADOW_BOLT_WHIRL8 = 24838
}
 
enum  LethonCreatures { NPC_SPIRIT_SHADE = 15261 }
 
enum  EmerissTexts {
  SAY_EMERISS_AGGRO = 0 ,
  SAY_EMERISS_CAST_CORRUPTION = 1
}
 
enum  EmerissSpells {
  SPELL_PUTRID_MUSHROOM = 24904 ,
  SPELL_CORRUPTION_OF_EARTH = 24910 ,
  SPELL_VOLATILE_INFECTION = 24928
}
 
enum  TaerarTexts {
  SAY_TAERAR_AGGRO = 0 ,
  SAY_TAERAR_SUMMON_SHADES = 1
}
 
enum  TaerarSpells {
  SPELL_BELLOWING_ROAR = 22686 ,
  SPELL_SHADE = 24313 ,
  SPELL_SUMMON_SHADE_1 = 24841 ,
  SPELL_SUMMON_SHADE_2 = 24842 ,
  SPELL_SUMMON_SHADE_3 = 24843 ,
  SPELL_ARCANE_BLAST = 24857
}
 

Functions

void AddSC_emerald_dragons ()
 

Variables

uint32 const TaerarShadeSpells []
 

Enumeration Type Documentation

◆ EmeraldDragonNPC

Enumerator
NPC_DREAM_FOG 
DRAGON_YSONDRE 
DRAGON_LETHON 
DRAGON_EMERISS 
DRAGON_TAERAR 
GUID_DRAGON 
GUID_FOG_TARGET 
33{
34 NPC_DREAM_FOG = 15224,
35 DRAGON_YSONDRE = 14887,
36 DRAGON_LETHON = 14888,
37 DRAGON_EMERISS = 14889,
38 DRAGON_TAERAR = 14890,
39
40 GUID_DRAGON = 1,
42};
@ DRAGON_TAERAR
Definition boss_emerald_dragons.cpp:38
@ GUID_DRAGON
Definition boss_emerald_dragons.cpp:40
@ DRAGON_EMERISS
Definition boss_emerald_dragons.cpp:37
@ GUID_FOG_TARGET
Definition boss_emerald_dragons.cpp:41
@ DRAGON_YSONDRE
Definition boss_emerald_dragons.cpp:35
@ DRAGON_LETHON
Definition boss_emerald_dragons.cpp:36
@ NPC_DREAM_FOG
Definition boss_emerald_dragons.cpp:34

◆ EmeraldDragonSpells

Enumerator
SPELL_TAIL_SWEEP 
SPELL_SUMMON_PLAYER 
SPELL_DREAM_FOG 
SPELL_SLEEP 
SPELL_SEEPING_FOG_LEFT 
SPELL_SEEPING_FOG_RIGHT 
SPELL_NOXIOUS_BREATH 
SPELL_MARK_OF_NATURE 
SPELL_MARK_OF_NATURE_AURA 
SPELL_AURA_OF_NATURE 
49{
50 SPELL_TAIL_SWEEP = 15847, // tail sweep - slap everything behind dragon (2 seconds interval)
51 SPELL_SUMMON_PLAYER = 24776, // teleport highest threat player in front of dragon if wandering off
52 SPELL_DREAM_FOG = 24777, // auraspell for Dream Fog NPC (15224)
53 SPELL_SLEEP = 24778, // sleep triggerspell (used for Dream Fog)
54 SPELL_SEEPING_FOG_LEFT = 24813, // dream fog - summon left
55 SPELL_SEEPING_FOG_RIGHT = 24814, // dream fog - summon right
57 SPELL_MARK_OF_NATURE = 25040, // Mark of Nature trigger (applied on target death - 15 minutes of being suspectible to Aura Of Nature)
58 SPELL_MARK_OF_NATURE_AURA = 25041, // Mark of Nature (passive marker-test, ticks every 10 seconds from boss, triggers spellID 25042 (scripted)
59 SPELL_AURA_OF_NATURE = 25043, // Stun for 2 minutes (used when SPELL_MARK_OF_NATURE exists on the target)
60};
@ SPELL_MARK_OF_NATURE
Definition boss_emerald_dragons.cpp:57
@ SPELL_SLEEP
Definition boss_emerald_dragons.cpp:53
@ SPELL_SUMMON_PLAYER
Definition boss_emerald_dragons.cpp:51
@ SPELL_MARK_OF_NATURE_AURA
Definition boss_emerald_dragons.cpp:58
@ SPELL_AURA_OF_NATURE
Definition boss_emerald_dragons.cpp:59
@ SPELL_SEEPING_FOG_RIGHT
Definition boss_emerald_dragons.cpp:55
@ SPELL_TAIL_SWEEP
Definition boss_emerald_dragons.cpp:50
@ SPELL_DREAM_FOG
Definition boss_emerald_dragons.cpp:52
@ SPELL_SEEPING_FOG_LEFT
Definition boss_emerald_dragons.cpp:54
@ SPELL_NOXIOUS_BREATH
Definition boss_emerald_dragons.cpp:56

◆ EmerissSpells

Enumerator
SPELL_PUTRID_MUSHROOM 
SPELL_CORRUPTION_OF_EARTH 
SPELL_VOLATILE_INFECTION 
506{
507 SPELL_PUTRID_MUSHROOM = 24904,
510};
@ SPELL_CORRUPTION_OF_EARTH
Definition boss_emerald_dragons.cpp:508
@ SPELL_VOLATILE_INFECTION
Definition boss_emerald_dragons.cpp:509
@ SPELL_PUTRID_MUSHROOM
Definition boss_emerald_dragons.cpp:507

◆ EmerissTexts

Enumerator
SAY_EMERISS_AGGRO 
SAY_EMERISS_CAST_CORRUPTION 
500{
503};
@ SAY_EMERISS_CAST_CORRUPTION
Definition boss_emerald_dragons.cpp:502
@ SAY_EMERISS_AGGRO
Definition boss_emerald_dragons.cpp:501

◆ Events

enum Events
Enumerator
EVENT_SEEPING_FOG 
EVENT_NOXIOUS_BREATH 
EVENT_TAIL_SWEEP 
EVENT_SUMMON_PLAYER 
EVENT_LIGHTNING_WAVE 
EVENT_SUMMON_DRUID_SPIRITS 
EVENT_SHADOW_BOLT_WHIRL 
EVENT_VOLATILE_INFECTION 
EVENT_CORRUPTION_OF_EARTH 
EVENT_ARCANE_BLAST 
EVENT_BELLOWING_ROAR 
67{
68 // General events for all dragons
73
74 // Ysondre
77
78 // Lethon
80
81 // Emeriss
84
85 // Taerar
88};
@ EVENT_CORRUPTION_OF_EARTH
Definition boss_emerald_dragons.cpp:83
@ EVENT_TAIL_SWEEP
Definition boss_emerald_dragons.cpp:71
@ EVENT_ARCANE_BLAST
Definition boss_emerald_dragons.cpp:86
@ EVENT_SUMMON_PLAYER
Definition boss_emerald_dragons.cpp:72
@ EVENT_SUMMON_DRUID_SPIRITS
Definition boss_emerald_dragons.cpp:76
@ EVENT_LIGHTNING_WAVE
Definition boss_emerald_dragons.cpp:75
@ EVENT_BELLOWING_ROAR
Definition boss_emerald_dragons.cpp:87
@ EVENT_VOLATILE_INFECTION
Definition boss_emerald_dragons.cpp:82
@ EVENT_NOXIOUS_BREATH
Definition boss_emerald_dragons.cpp:70
@ EVENT_SEEPING_FOG
Definition boss_emerald_dragons.cpp:69
@ EVENT_SHADOW_BOLT_WHIRL
Definition boss_emerald_dragons.cpp:79

◆ LethonCreatures

Enumerator
NPC_SPIRIT_SHADE 
393{
394 NPC_SPIRIT_SHADE = 15261,
395};
@ NPC_SPIRIT_SHADE
Definition boss_emerald_dragons.cpp:394

◆ LethonSpells

Enumerator
SPELL_DRAW_SPIRIT 
SPELL_SHADOW_BOLT_WHIRL 
SPELL_DARK_OFFERING 
SPELL_SHADOW_BOLT_WHIRL1 
SPELL_SHADOW_BOLT_WHIRL2 
SPELL_SHADOW_BOLT_WHIRL3 
SPELL_SHADOW_BOLT_WHIRL4 
SPELL_SHADOW_BOLT_WHIRL5 
SPELL_SHADOW_BOLT_WHIRL6 
SPELL_SHADOW_BOLT_WHIRL7 
SPELL_SHADOW_BOLT_WHIRL8 
378{
379 SPELL_DRAW_SPIRIT = 24811,
381 SPELL_DARK_OFFERING = 24804,
390};
@ SPELL_SHADOW_BOLT_WHIRL6
Definition boss_emerald_dragons.cpp:387
@ SPELL_DARK_OFFERING
Definition boss_emerald_dragons.cpp:381
@ SPELL_SHADOW_BOLT_WHIRL5
Definition boss_emerald_dragons.cpp:386
@ SPELL_SHADOW_BOLT_WHIRL4
Definition boss_emerald_dragons.cpp:385
@ SPELL_SHADOW_BOLT_WHIRL3
Definition boss_emerald_dragons.cpp:384
@ SPELL_SHADOW_BOLT_WHIRL7
Definition boss_emerald_dragons.cpp:388
@ SPELL_SHADOW_BOLT_WHIRL
Definition boss_emerald_dragons.cpp:380
@ SPELL_SHADOW_BOLT_WHIRL1
Definition boss_emerald_dragons.cpp:382
@ SPELL_SHADOW_BOLT_WHIRL2
Definition boss_emerald_dragons.cpp:383
@ SPELL_DRAW_SPIRIT
Definition boss_emerald_dragons.cpp:379
@ SPELL_SHADOW_BOLT_WHIRL8
Definition boss_emerald_dragons.cpp:389

◆ LethonTexts

Enumerator
SAY_LETHON_AGGRO 
SAY_LETHON_DRAW_SPIRIT 
372{
375};
@ SAY_LETHON_DRAW_SPIRIT
Definition boss_emerald_dragons.cpp:374
@ SAY_LETHON_AGGRO
Definition boss_emerald_dragons.cpp:373

◆ TaerarSpells

Enumerator
SPELL_BELLOWING_ROAR 
SPELL_SHADE 
SPELL_SUMMON_SHADE_1 
SPELL_SUMMON_SHADE_2 
SPELL_SUMMON_SHADE_3 
SPELL_ARCANE_BLAST 
593{
594 SPELL_BELLOWING_ROAR = 22686,
595 SPELL_SHADE = 24313,
596 SPELL_SUMMON_SHADE_1 = 24841,
597 SPELL_SUMMON_SHADE_2 = 24842,
598 SPELL_SUMMON_SHADE_3 = 24843,
599 SPELL_ARCANE_BLAST = 24857,
600};
@ SPELL_SUMMON_SHADE_3
Definition boss_emerald_dragons.cpp:598
@ SPELL_SUMMON_SHADE_1
Definition boss_emerald_dragons.cpp:596
@ SPELL_BELLOWING_ROAR
Definition boss_emerald_dragons.cpp:594
@ SPELL_SUMMON_SHADE_2
Definition boss_emerald_dragons.cpp:597
@ SPELL_SHADE
Definition boss_emerald_dragons.cpp:595
@ SPELL_ARCANE_BLAST
Definition boss_emerald_dragons.cpp:599

◆ TaerarTexts

Enumerator
SAY_TAERAR_AGGRO 
SAY_TAERAR_SUMMON_SHADES 
587{
590};
@ SAY_TAERAR_SUMMON_SHADES
Definition boss_emerald_dragons.cpp:589
@ SAY_TAERAR_AGGRO
Definition boss_emerald_dragons.cpp:588

◆ YsondreNPC

enum YsondreNPC
Enumerator
NPC_DEMENTED_DRUID 
276{
277 NPC_DEMENTED_DRUID = 15260,
278};
@ NPC_DEMENTED_DRUID
Definition boss_emerald_dragons.cpp:277

◆ YsondreSpells

Enumerator
SPELL_LIGHTNING_WAVE 
SPELL_SUMMON_DRUID_SPIRITS 
287{
288 SPELL_LIGHTNING_WAVE = 24819,
290};
@ SPELL_LIGHTNING_WAVE
Definition boss_emerald_dragons.cpp:288
@ SPELL_SUMMON_DRUID_SPIRITS
Definition boss_emerald_dragons.cpp:289

◆ YsondreTexts

Enumerator
SAY_YSONDRE_AGGRO 
SAY_YSONDRE_SUMMON_DRUIDS 
281{
284};
@ SAY_YSONDRE_SUMMON_DRUIDS
Definition boss_emerald_dragons.cpp:283
@ SAY_YSONDRE_AGGRO
Definition boss_emerald_dragons.cpp:282

Function Documentation

◆ AddSC_emerald_dragons()

void AddSC_emerald_dragons ( )
845{
846 // helper NPC scripts
847 new npc_dream_fog();
848 new npc_spirit_shade();
849
850 // dragons
851 new boss_ysondre();
852 new boss_taerar();
853 new boss_emeriss();
854 new boss_lethon();
855
856 // dragon spellscripts
860};
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_emerald_dragons.cpp:513
Definition boss_emerald_dragons.cpp:398
Definition boss_emerald_dragons.cpp:607
Definition boss_emerald_dragons.cpp:293
Definition boss_emerald_dragons.cpp:182
Definition boss_emerald_dragons.cpp:452
Definition boss_emerald_dragons.cpp:738
Definition boss_emerald_dragons.cpp:818
Definition boss_emerald_dragons.cpp:783

References RegisterSpellScript.

Referenced by AddWorldScripts().

Variable Documentation

◆ TaerarShadeSpells