AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_ossirian.cpp File Reference
#include "CreatureScript.h"
#include "GameObjectAI.h"
#include "GameObjectScript.h"
#include "MiscPackets.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "TaskScheduler.h"
#include "ruins_of_ahnqiraj.h"

Go to the source code of this file.

Classes

struct  boss_ossirian
 
class  go_ossirian_crystal
 
struct  go_ossirian_crystal::go_ossirian_crystalAI
 
struct  npc_anubisath_guardian
 
class  spell_crystal_weakness
 
class  spell_aq_shadow_storm
 

Enumerations

enum  Texts {
  SAY_SUPREME = 0 ,
  SAY_INTRO = 1 ,
  SAY_AGGRO = 2 ,
  SAY_SLAY = 3 ,
  SAY_DEATH = 4
}
 
enum  Spells {
  SPELL_CURSE_OF_TONGUES = 25195 ,
  SPELL_ENVELOPING_WINDS = 25189 ,
  SPELL_WAR_STOMP = 25188 ,
  SPELL_STRENGTH_OF_OSSIRIAN = 25176 ,
  SPELL_SAND_STORM = 25160 ,
  SPELL_SUMMON_CRYSTAL = 25192 ,
  SPELL_SUMMON_SMALL_OBSIDIAN_CHUNK = 27627 ,
  SPELL_SPEED_BURST = 25184 ,
  SPELL_FIRE_WEAKNESS = 25177 ,
  SPELL_FROST_WEAKNESS = 25178 ,
  SPELL_NATURE_WEAKNESS = 25180 ,
  SPELL_ARCANE_WEAKNESS = 25181 ,
  SPELL_SHADOW_WEAKNESS = 25183
}
 
enum  Actions {
  ACTION_TRIGGER_WEAKNESS = 1 ,
  ACTION_DESPAWN_TRIGGER = 2
}
 
enum  Events {
  EVENT_SILENCE = 1 ,
  EVENT_CYCLONE = 2 ,
  EVENT_STOMP = 3 ,
  EVENT_SPEEDUP = 4
}
 
enum  Misc { GUID_TRIGGER_PAIR = 1 }
 
enum  AnubisathGuardian {
  SPELL_METEOR = 24340 ,
  SPELL_PLAGUE = 22997 ,
  SPELL_SHADOW_STORM = 2148 ,
  SPELL_THUNDER_CLAP = 2834 ,
  SPELL_REFLECT_ARCANE_FIRE = 13022 ,
  SPELL_REFLECT_FROST_SHADOW = 19595 ,
  SPELL_ENRAGE = 8599 ,
  SPELL_EXPLODE = 25698 ,
  SPELL_SUMMON_ANUB_SWARMGUARD = 17430 ,
  SPELL_SUMMON_ANUB_WARRIOR = 17431
}
 

Functions

void AddSC_boss_ossirian ()
 

Variables

uint8 const NUM_CRYSTALS = 12
 
Position CrystalCoordinates [NUM_CRYSTALS]
 
Position VortexPositions [2]
 
uint8 const NUM_WEAKNESS = 5
 
uint32 const spellWeakness [NUM_WEAKNESS]
 

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_TRIGGER_WEAKNESS 
ACTION_DESPAWN_TRIGGER 
59{
62};
@ ACTION_DESPAWN_TRIGGER
Definition boss_ossirian.cpp:61
@ ACTION_TRIGGER_WEAKNESS
Definition boss_ossirian.cpp:60

◆ AnubisathGuardian

Enumerator
SPELL_METEOR 
SPELL_PLAGUE 
SPELL_SHADOW_STORM 
SPELL_THUNDER_CLAP 
SPELL_REFLECT_ARCANE_FIRE 
SPELL_REFLECT_FROST_SHADOW 
SPELL_ENRAGE 
SPELL_EXPLODE 
SPELL_SUMMON_ANUB_SWARMGUARD 
SPELL_SUMMON_ANUB_WARRIOR 
375{
376 SPELL_METEOR = 24340,
377 SPELL_PLAGUE = 22997,
378 SPELL_SHADOW_STORM = 2148,
379 SPELL_THUNDER_CLAP = 2834,
382 SPELL_ENRAGE = 8599,
383 SPELL_EXPLODE = 25698,
384
387};
@ SPELL_SUMMON_ANUB_WARRIOR
Definition boss_ossirian.cpp:386
@ SPELL_ENRAGE
Definition boss_ossirian.cpp:382
@ SPELL_REFLECT_FROST_SHADOW
Definition boss_ossirian.cpp:381
@ SPELL_REFLECT_ARCANE_FIRE
Definition boss_ossirian.cpp:380
@ SPELL_SUMMON_ANUB_SWARMGUARD
Definition boss_ossirian.cpp:385
@ SPELL_THUNDER_CLAP
Definition boss_ossirian.cpp:379
@ SPELL_SHADOW_STORM
Definition boss_ossirian.cpp:378
@ SPELL_METEOR
Definition boss_ossirian.cpp:376
@ SPELL_PLAGUE
Definition boss_ossirian.cpp:377
@ SPELL_EXPLODE
Definition boss_ossirian.cpp:383

◆ Events

enum Events
Enumerator
EVENT_SILENCE 
EVENT_CYCLONE 
EVENT_STOMP 
EVENT_SPEEDUP 
65{
66 EVENT_SILENCE = 1,
67 EVENT_CYCLONE = 2,
68 EVENT_STOMP = 3,
70};
@ EVENT_CYCLONE
Definition boss_ossirian.cpp:67
@ EVENT_SPEEDUP
Definition boss_ossirian.cpp:69
@ EVENT_STOMP
Definition boss_ossirian.cpp:68
@ EVENT_SILENCE
Definition boss_ossirian.cpp:66

◆ Misc

enum Misc
Enumerator
GUID_TRIGGER_PAIR 
73{
75};
@ GUID_TRIGGER_PAIR
Definition boss_ossirian.cpp:74

◆ Spells

enum Spells
Enumerator
SPELL_CURSE_OF_TONGUES 
SPELL_ENVELOPING_WINDS 
SPELL_WAR_STOMP 
SPELL_STRENGTH_OF_OSSIRIAN 
SPELL_SAND_STORM 
SPELL_SUMMON_CRYSTAL 
SPELL_SUMMON_SMALL_OBSIDIAN_CHUNK 
SPELL_SPEED_BURST 
SPELL_FIRE_WEAKNESS 
SPELL_FROST_WEAKNESS 
SPELL_NATURE_WEAKNESS 
SPELL_ARCANE_WEAKNESS 
SPELL_SHADOW_WEAKNESS 
40{
43 SPELL_WAR_STOMP = 25188,
45 SPELL_SAND_STORM = 25160,
47 SPELL_SUMMON_SMALL_OBSIDIAN_CHUNK = 27627, // Server-side
48 SPELL_SPEED_BURST = 25184, // Server-side
49
50 // Crystal
51 SPELL_FIRE_WEAKNESS = 25177,
56};
@ SPELL_FROST_WEAKNESS
Definition boss_ossirian.cpp:52
@ SPELL_CURSE_OF_TONGUES
Definition boss_ossirian.cpp:41
@ SPELL_ARCANE_WEAKNESS
Definition boss_ossirian.cpp:54
@ SPELL_STRENGTH_OF_OSSIRIAN
Definition boss_ossirian.cpp:44
@ SPELL_SUMMON_SMALL_OBSIDIAN_CHUNK
Definition boss_ossirian.cpp:47
@ SPELL_SUMMON_CRYSTAL
Definition boss_ossirian.cpp:46
@ SPELL_SAND_STORM
Definition boss_ossirian.cpp:45
@ SPELL_NATURE_WEAKNESS
Definition boss_ossirian.cpp:53
@ SPELL_SHADOW_WEAKNESS
Definition boss_ossirian.cpp:55
@ SPELL_SPEED_BURST
Definition boss_ossirian.cpp:48
@ SPELL_WAR_STOMP
Definition boss_ossirian.cpp:43
@ SPELL_ENVELOPING_WINDS
Definition boss_ossirian.cpp:42
@ SPELL_FIRE_WEAKNESS
Definition boss_ossirian.cpp:51

◆ Texts

enum Texts
Enumerator
SAY_SUPREME 
SAY_INTRO 
SAY_AGGRO 
SAY_SLAY 
SAY_DEATH 
31{
32 SAY_SUPREME = 0,
33 SAY_INTRO = 1,
34 SAY_AGGRO = 2,
35 SAY_SLAY = 3,
36 SAY_DEATH = 4
37};
@ SAY_DEATH
Definition boss_ossirian.cpp:36
@ SAY_AGGRO
Definition boss_ossirian.cpp:34
@ SAY_SLAY
Definition boss_ossirian.cpp:35
@ SAY_SUPREME
Definition boss_ossirian.cpp:32
@ SAY_INTRO
Definition boss_ossirian.cpp:33

Function Documentation

◆ AddSC_boss_ossirian()

void AddSC_boss_ossirian ( )
494{
500}
#define RegisterCreatureAI(ai_name)
Definition CreatureScript.h:71
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_ossirian.cpp:312
Definition boss_ossirian.cpp:475
Definition boss_ossirian.cpp:457
#define RegisterRuinsOfAhnQirajCreatureAI(ai_name)
Definition ruins_of_ahnqiraj.h:91
Definition boss_ossirian.cpp:105
Definition boss_ossirian.cpp:390

References RegisterCreatureAI, RegisterRuinsOfAhnQirajCreatureAI, and RegisterSpellScript.

Referenced by AddKalimdorScripts().

Variable Documentation

◆ CrystalCoordinates

Position CrystalCoordinates[NUM_CRYSTALS]
Initial value:
=
{
{ -9407.7197265625f, 1960.20996093750f, 85.6390991210937f, 1.11700999736786f },
{ -9388.4404296875f, 1940.20996093750f, 85.6390991210937f, 3.17650008201599f },
{ -9357.8603515625f, 1929.07995605469f, 85.6390991210937f, 1.06465005874634f },
{ -9383.2900390625f, 2012.68005371094f, 85.6511001586914f, 2.93214988708496f },
{ -9248.4101562500f, 1974.82995605469f, 85.6390991210937f, 5.89920997619629f },
{ -9432.4003906250f, 1782.53002929687f, 85.6390991210937f, 5.86430978775024f },
{ -9299.7304687500f, 1748.44995117187f, 85.6390991210937f, 1.44861996173859f },
{ -9406.0996093750f, 1862.38000488281f, 85.6390991210937f, 6.23082017898560f },
{ -9506.1904296875f, 1865.56994628906f, 85.6390991210937f, 4.27606010437012f },
{ -9282.0800781250f, 1887.33996582031f, 85.6390991210937f, 2.00712990760803f },
{ -9244.4101562500f, 1808.97998046875f, 85.6390991210937f, 5.63741016387939f },
{ -9367.1699218750f, 1780.89001464844f, 85.6390991210937f, 1.90241003036499f }
}
79{
80 { -9407.7197265625f, 1960.20996093750f, 85.6390991210937f, 1.11700999736786f },
81 { -9388.4404296875f, 1940.20996093750f, 85.6390991210937f, 3.17650008201599f },
82 { -9357.8603515625f, 1929.07995605469f, 85.6390991210937f, 1.06465005874634f },
83 { -9383.2900390625f, 2012.68005371094f, 85.6511001586914f, 2.93214988708496f },
84 { -9248.4101562500f, 1974.82995605469f, 85.6390991210937f, 5.89920997619629f },
85 { -9432.4003906250f, 1782.53002929687f, 85.6390991210937f, 5.86430978775024f },
86 { -9299.7304687500f, 1748.44995117187f, 85.6390991210937f, 1.44861996173859f },
87 { -9406.0996093750f, 1862.38000488281f, 85.6390991210937f, 6.23082017898560f },
88 { -9506.1904296875f, 1865.56994628906f, 85.6390991210937f, 4.27606010437012f },
89 { -9282.0800781250f, 1887.33996582031f, 85.6390991210937f, 2.00712990760803f },
90 { -9244.4101562500f, 1808.97998046875f, 85.6390991210937f, 5.63741016387939f },
91 { -9367.1699218750f, 1780.89001464844f, 85.6390991210937f, 1.90241003036499f }
92};

Referenced by boss_ossirian::Reset(), and boss_ossirian::SpawnNextCrystal().

◆ NUM_CRYSTALS

uint8 const NUM_CRYSTALS = 12

◆ NUM_WEAKNESS

uint8 const NUM_WEAKNESS = 5

◆ spellWeakness

◆ VortexPositions

Position VortexPositions[2]
Initial value:
=
{
{ -9524.06f, 1881.9224f, 85.64029f, 0.0f },
{ -9228.479, 1925.3331f, 85.64147f, 0.0f }
}
95{
96 { -9524.06f, 1881.9224f, 85.64029f, 0.0f },
97 { -9228.479, 1925.3331f, 85.64147f, 0.0f }
98};

Referenced by boss_ossirian::JustEngagedWith().