Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
zone_silithus.cpp File Reference
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Group.h"
#include "Player.h"
Include dependency graph for zone_silithus.cpp:

Go to the source code of this file.

Classes

class  go_crystalline_tear
class  go_wind_stone
class  npc_anachronos_quest_trigger
struct  npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI
class  npc_anachronos_the_ancient
struct  npc_anachronos_the_ancient::npc_anachronos_the_ancientAI
class  npc_highlord_demitrian
class  npc_qiraj_war_spawn
struct  npc_qiraj_war_spawn::npc_qiraj_war_spawnAI
class  npcs_rutgar_and_frankal
struct  QuestCinematic
struct  SpawnSpells
struct  WaveData

Macros

#define EVENT_AREA_RADIUS   65
#define EVENT_COOLDOWN   500000
#define GOSSIP_DEMITRIAN1   "What do you know of it?"
#define GOSSIP_DEMITRIAN2   "I am listening, Demitrian."
#define GOSSIP_DEMITRIAN3   "Continue, please."
#define GOSSIP_DEMITRIAN4   "A battle?"
#define GOSSIP_DEMITRIAN5   "<Nod>"
#define GOSSIP_DEMITRIAN6   "Caught unaware? How?"
#define GOSSIP_DEMITRIAN7   "So what did Ragnaros do next?"
#define GOSSIP_DUKE_AIR   "The Duke of Zephyrs! I hold your signet! Heed my call!"
#define GOSSIP_DUKE_EARTH   "The Duke of Shards! I hold your signet! Heed my call!"
#define GOSSIP_DUKE_FIRE   "Duke of Cynders! I hold your signet! Heed my call!"
#define GOSSIP_DUKE_RANDOM   "You will listen to this, vile duke! I am not your Twilight's Hammer lapdog! I am here to challenge you! Come! Come, and meet your death..."
#define GOSSIP_DUKE_WATER   "The Duke of Fathoms! I hold your signet! Heed my call!"
#define GOSSIP_ITEM1   "I seek information about Natalia"
#define GOSSIP_ITEM11   "Yes, please continue"
#define GOSSIP_ITEM12   "What language?"
#define GOSSIP_ITEM13   "The Priestess attacked you?!"
#define GOSSIP_ITEM14   "I should ask the monkey about this"
#define GOSSIP_ITEM15   "Then what..."
#define GOSSIP_ITEM2   "That sounds dangerous!"
#define GOSSIP_ITEM3   "What did you do?"
#define GOSSIP_ITEM4   "Who?"
#define GOSSIP_ITEM5   "Women do that. What did she demand?"
#define GOSSIP_ITEM6   "What do you mean?"
#define GOSSIP_ITEM7   "What happened next?"
#define GOSSIP_ROYAL_AIR   "High Marshal Whirlaxis! I hold your signet! Heed my call!"
#define GOSSIP_ROYAL_EARTH   "Baron Kazum! I hold your signet! Heed my call!"
#define GOSSIP_ROYAL_FIRE   "Prince Skaldrenox! I hold your signet! Heed my call!"
#define GOSSIP_ROYAL_RANDOM   "The day of the judgement has come, fiend! I challenge you to battle!"
#define GOSSIP_ROYAL_WATER   "Lord Skwol! I hold your signet! Heed my call!"
#define GOSSIP_TEMPLAR_AIR   "Hoary Templar! I hold your signet! Heed my call!"
#define GOSSIP_TEMPLAR_EARTH   "Earthen Templar! I hold your signet! Heed my call!"
#define GOSSIP_TEMPLAR_FIRE   "Crimson Templar! I hold your signet! Heed my call!"
#define GOSSIP_TEMPLAR_RANDOM   "I am no cultist, you monster! Come to me and face your destruction!"
#define GOSSIP_TEMPLAR_WATER   "Azure Templar! I hold your signet! Heed my call!"

Enumerations

enum  EternalBoard {
  QUEST_A_PAWN_ON_THE_ETERNAL_BOARD = 8519 , FACTION_HOSTILE = 14 , FACTION_FRIENDLY = 35 , C_ANACHRONOS = 15381 ,
  C_FANDRAL_STAGHELM = 15382 , C_ARYGOS = 15380 , C_MERITHRA = 15378 , C_CAELESTRASZ = 15379 ,
  ANACHRONOS_SAY_1 = 0 , ANACHRONOS_SAY_2 = 1 , ANACHRONOS_SAY_3 = 2 , ANACHRONOS_SAY_4 = 3 ,
  ANACHRONOS_SAY_5 = 4 , ANACHRONOS_SAY_6 = 5 , ANACHRONOS_SAY_7 = 6 , ANACHRONOS_SAY_8 = 7 ,
  ANACHRONOS_SAY_9 = 8 , ANACHRONOS_SAY_10 = 9 , ANACHRONOS_EMOTE_1 = 10 , ANACHRONOS_EMOTE_2 = 11 ,
  ANACHRONOS_EMOTE_3 = 12 , FANDRAL_SAY_1 = 0 , FANDRAL_SAY_2 = 1 , FANDRAL_SAY_3 = 2 ,
  FANDRAL_SAY_4 = 3 , FANDRAL_SAY_5 = 4 , FANDRAL_SAY_6 = 5 , FANDRAL_EMOTE_1 = 6 ,
  FANDRAL_EMOTE_2 = 7 , CAELESTRASZ_SAY_1 = 0 , CAELESTRASZ_SAY_2 = 1 , CAELESTRASZ_YELL_1 = 2 ,
  ARYGOS_SAY_1 = 0 , ARYGOS_YELL_1 = 1 , ARYGOS_EMOTE_1 = 2 , MERITHRA_SAY_1 = 0 ,
  MERITHRA_SAY_2 = 1 , MERITHRA_YELL_1 = 2 , MERITHRA_EMOTE_1 = 3 , GO_GATE_OF_AHN_QIRAJ = 176146 ,
  GO_GLYPH_OF_AHN_QIRAJ = 176148 , GO_ROOTS_OF_AHN_QIRAJ = 176147
}
enum  RutgarAndFrankal { TRIGGER_FRANKAL = 15221 , TRIGGER_RUTGAR = 15222 }
enum  WS {
  TEMPLAR = 0 , DUKE = 1 , ROYAL = 2 , FIRE = 0x1 ,
  WATER = 0x2 , EARTH = 0x4 , AIR = 0x8
}
enum  WSCreatures {
  NPC_TEMPLAR_FIRE = 15209 , NPC_TEMPLAR_WATER = 15211 , NPC_TEMPLAR_AIR = 15212 , NPC_TEMPLAR_EARTH = 15307 ,
  NPC_DUKE_FIRE = 15206 , NPC_DUKE_WATER = 15207 , NPC_DUKE_EARTH = 15208 , NPC_DUKE_AIR = 15220 ,
  NPC_ROYAL_FIRE = 15203 , NPC_ROYAL_AIR = 15204 , NPC_ROYAL_EARTH = 15205 , NPC_ROYAL_WATER = 15305
}
enum  WSGossip { GOSSIPID_LESSER_WS = 6540 , GOSSIPID_WS = 6542 , GOSSIPID_GREATER_WS = 6543 }
enum  WSItems {
  ITEM_TEMPLAR_FIRE = 20416 , ITEM_TEMPLAR_EARTH = 20419 , ITEM_TEMPLAR_WATER = 20420 , ITEM_TEMPLAR_AIR = 20418 ,
  ITEM_DUKE_FIRE = 20432 , ITEM_DUKE_EARTH = 20435 , ITEM_DUKE_WATER = 20436 , ITEM_DUKE_AIR = 20433 ,
  ITEM_ROYAL_FIRE = 20447 , ITEM_ROYAL_EARTH = 20449 , ITEM_ROYAL_WATER = 20450 , ITEM_ROYAL_AIR = 20448
}
enum  WSSpells {
  SPELL_PUNISHMENT = 24803 , SPELL_SPAWN_IN = 25035 , AURA_TWILIGHT_SET = 24746 , AURA_MEDALLION = 24748 ,
  AURA_RING = 24782 , SPELL_TEMPLAR_RANDOM = 24745 , SPELL_TEMPLAR_FIRE = 24747 , SPELL_TEMPLAR_AIR = 24757 ,
  SPELL_TEMPLAR_EARTH = 24759 , SPELL_TEMPLAR_WATER = 24761 , SPELL_DUKE_RANDOM = 24762 , SPELL_DUKE_FIRE = 24766 ,
  SPELL_DUKE_AIR = 24769 , SPELL_DUKE_EARTH = 24771 , SPELL_DUKE_WATER = 24773 , SPELL_ROYAL_RANDOM = 24785 ,
  SPELL_ROYAL_FIRE = 24787 , SPELL_ROYAL_AIR = 24791 , SPELL_ROYAL_EARTH = 24792 , SPELL_ROYAL_WATER = 24793
}
enum  WSTexts { SAY_TEMPLAR_AGGRO = 0 , SAY_DUKE_AGGRO = 0 , YELL_ROYAL_AGGRO = 0 }

Functions

void AddSC_silithus ()

Variables

static QuestCinematic EventAnim []
static SpawnSpells SpawnCast [4]
Position const SpawnLocation []
static WaveData WavesInfo [5]

Macro Definition Documentation

◆ EVENT_AREA_RADIUS

#define EVENT_AREA_RADIUS   65

◆ EVENT_COOLDOWN

#define EVENT_COOLDOWN   500000

Definition at line 284 of file zone_silithus.cpp.

◆ GOSSIP_DEMITRIAN1

#define GOSSIP_DEMITRIAN1   "What do you know of it?"

Definition at line 29 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipHello().

◆ GOSSIP_DEMITRIAN2

#define GOSSIP_DEMITRIAN2   "I am listening, Demitrian."

Definition at line 30 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DEMITRIAN3

#define GOSSIP_DEMITRIAN3   "Continue, please."

Definition at line 31 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DEMITRIAN4

#define GOSSIP_DEMITRIAN4   "A battle?"

Definition at line 32 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DEMITRIAN5

#define GOSSIP_DEMITRIAN5   "<Nod>"

Definition at line 33 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DEMITRIAN6

#define GOSSIP_DEMITRIAN6   "Caught unaware? How?"

Definition at line 34 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DEMITRIAN7

#define GOSSIP_DEMITRIAN7   "So what did Ragnaros do next?"

Definition at line 35 of file zone_silithus.cpp.

Referenced by npc_highlord_demitrian::OnGossipSelect().

◆ GOSSIP_DUKE_AIR

#define GOSSIP_DUKE_AIR   "The Duke of Zephyrs! I hold your signet! Heed my call!"

Definition at line 1232 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_DUKE_EARTH

#define GOSSIP_DUKE_EARTH   "The Duke of Shards! I hold your signet! Heed my call!"

Definition at line 1231 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_DUKE_FIRE

#define GOSSIP_DUKE_FIRE   "Duke of Cynders! I hold your signet! Heed my call!"

Definition at line 1230 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_DUKE_RANDOM

#define GOSSIP_DUKE_RANDOM   "You will listen to this, vile duke! I am not your Twilight's Hammer lapdog! I am here to challenge you! Come! Come, and meet your death..."

Definition at line 1229 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_DUKE_WATER

#define GOSSIP_DUKE_WATER   "The Duke of Fathoms! I hold your signet! Heed my call!"

Definition at line 1233 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_ITEM1

#define GOSSIP_ITEM1   "I seek information about Natalia"

Definition at line 102 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipHello().

◆ GOSSIP_ITEM11

#define GOSSIP_ITEM11   "Yes, please continue"

Definition at line 111 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM12

#define GOSSIP_ITEM12   "What language?"

Definition at line 112 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM13

#define GOSSIP_ITEM13   "The Priestess attacked you?!"

Definition at line 113 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM14

#define GOSSIP_ITEM14   "I should ask the monkey about this"

Definition at line 114 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM15

#define GOSSIP_ITEM15   "Then what..."

Definition at line 115 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM2

#define GOSSIP_ITEM2   "That sounds dangerous!"

Definition at line 104 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM3

#define GOSSIP_ITEM3   "What did you do?"

Definition at line 105 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM4

#define GOSSIP_ITEM4   "Who?"

Definition at line 106 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM5

#define GOSSIP_ITEM5   "Women do that. What did she demand?"

Definition at line 107 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM6

#define GOSSIP_ITEM6   "What do you mean?"

Definition at line 108 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ITEM7

#define GOSSIP_ITEM7   "What happened next?"

Definition at line 109 of file zone_silithus.cpp.

Referenced by npcs_rutgar_and_frankal::OnGossipSelect().

◆ GOSSIP_ROYAL_AIR

#define GOSSIP_ROYAL_AIR   "High Marshal Whirlaxis! I hold your signet! Heed my call!"

Definition at line 1238 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_ROYAL_EARTH

#define GOSSIP_ROYAL_EARTH   "Baron Kazum! I hold your signet! Heed my call!"

Definition at line 1237 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_ROYAL_FIRE

#define GOSSIP_ROYAL_FIRE   "Prince Skaldrenox! I hold your signet! Heed my call!"

Definition at line 1236 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_ROYAL_RANDOM

#define GOSSIP_ROYAL_RANDOM   "The day of the judgement has come, fiend! I challenge you to battle!"

Definition at line 1235 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_ROYAL_WATER

#define GOSSIP_ROYAL_WATER   "Lord Skwol! I hold your signet! Heed my call!"

Definition at line 1239 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_TEMPLAR_AIR

#define GOSSIP_TEMPLAR_AIR   "Hoary Templar! I hold your signet! Heed my call!"

Definition at line 1226 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_TEMPLAR_EARTH

#define GOSSIP_TEMPLAR_EARTH   "Earthen Templar! I hold your signet! Heed my call!"

Definition at line 1225 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_TEMPLAR_FIRE

#define GOSSIP_TEMPLAR_FIRE   "Crimson Templar! I hold your signet! Heed my call!"

Definition at line 1224 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_TEMPLAR_RANDOM

#define GOSSIP_TEMPLAR_RANDOM   "I am no cultist, you monster! Come to me and face your destruction!"

Definition at line 1223 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

◆ GOSSIP_TEMPLAR_WATER

#define GOSSIP_TEMPLAR_WATER   "Azure Templar! I hold your signet! Heed my call!"

Definition at line 1227 of file zone_silithus.cpp.

Referenced by go_wind_stone::OnGossipHello().

Enumeration Type Documentation

◆ EternalBoard

Enumerator
QUEST_A_PAWN_ON_THE_ETERNAL_BOARD 
FACTION_HOSTILE 
FACTION_FRIENDLY 
C_ANACHRONOS 
C_FANDRAL_STAGHELM 
C_ARYGOS 
C_MERITHRA 
C_CAELESTRASZ 
ANACHRONOS_SAY_1 
ANACHRONOS_SAY_2 
ANACHRONOS_SAY_3 
ANACHRONOS_SAY_4 
ANACHRONOS_SAY_5 
ANACHRONOS_SAY_6 
ANACHRONOS_SAY_7 
ANACHRONOS_SAY_8 
ANACHRONOS_SAY_9 
ANACHRONOS_SAY_10 
ANACHRONOS_EMOTE_1 
ANACHRONOS_EMOTE_2 
ANACHRONOS_EMOTE_3 
FANDRAL_SAY_1 
FANDRAL_SAY_2 
FANDRAL_SAY_3 
FANDRAL_SAY_4 
FANDRAL_SAY_5 
FANDRAL_SAY_6 
FANDRAL_EMOTE_1 
FANDRAL_EMOTE_2 
CAELESTRASZ_SAY_1 
CAELESTRASZ_SAY_2 
CAELESTRASZ_YELL_1 
ARYGOS_SAY_1 
ARYGOS_YELL_1 
ARYGOS_EMOTE_1 
MERITHRA_SAY_1 
MERITHRA_SAY_2 
MERITHRA_YELL_1 
MERITHRA_EMOTE_1 
GO_GATE_OF_AHN_QIRAJ 
GO_GLYPH_OF_AHN_QIRAJ 
GO_ROOTS_OF_AHN_QIRAJ 

Definition at line 216 of file zone_silithus.cpp.

◆ RutgarAndFrankal

Enumerator
TRIGGER_FRANKAL 
TRIGGER_RUTGAR 

Definition at line 117 of file zone_silithus.cpp.

◆ WS

enum WS
Enumerator
TEMPLAR 
DUKE 
ROYAL 
FIRE 
WATER 
EARTH 
AIR 

Definition at line 1204 of file zone_silithus.cpp.

◆ WSCreatures

Enumerator
NPC_TEMPLAR_FIRE 
NPC_TEMPLAR_WATER 
NPC_TEMPLAR_AIR 
NPC_TEMPLAR_EARTH 
NPC_DUKE_FIRE 
NPC_DUKE_WATER 
NPC_DUKE_EARTH 
NPC_DUKE_AIR 
NPC_ROYAL_FIRE 
NPC_ROYAL_AIR 
NPC_ROYAL_EARTH 
NPC_ROYAL_WATER 

Definition at line 1168 of file zone_silithus.cpp.

◆ WSGossip

enum WSGossip
Enumerator
GOSSIPID_LESSER_WS 
GOSSIPID_WS 
GOSSIPID_GREATER_WS 

Definition at line 1161 of file zone_silithus.cpp.

◆ WSItems

enum WSItems
Enumerator
ITEM_TEMPLAR_FIRE 
ITEM_TEMPLAR_EARTH 
ITEM_TEMPLAR_WATER 
ITEM_TEMPLAR_AIR 
ITEM_DUKE_FIRE 
ITEM_DUKE_EARTH 
ITEM_DUKE_WATER 
ITEM_DUKE_AIR 
ITEM_ROYAL_FIRE 
ITEM_ROYAL_EARTH 
ITEM_ROYAL_WATER 
ITEM_ROYAL_AIR 

Definition at line 1186 of file zone_silithus.cpp.

◆ WSSpells

enum WSSpells
Enumerator
SPELL_PUNISHMENT 
SPELL_SPAWN_IN 
AURA_TWILIGHT_SET 
AURA_MEDALLION 
AURA_RING 
SPELL_TEMPLAR_RANDOM 
SPELL_TEMPLAR_FIRE 
SPELL_TEMPLAR_AIR 
SPELL_TEMPLAR_EARTH 
SPELL_TEMPLAR_WATER 
SPELL_DUKE_RANDOM 
SPELL_DUKE_FIRE 
SPELL_DUKE_AIR 
SPELL_DUKE_EARTH 
SPELL_DUKE_WATER 
SPELL_ROYAL_RANDOM 
SPELL_ROYAL_FIRE 
SPELL_ROYAL_AIR 
SPELL_ROYAL_EARTH 
SPELL_ROYAL_WATER 

Definition at line 1133 of file zone_silithus.cpp.

◆ WSTexts

enum WSTexts
Enumerator
SAY_TEMPLAR_AGGRO 
SAY_DUKE_AGGRO 
YELL_ROYAL_AGGRO 

Definition at line 1216 of file zone_silithus.cpp.

Function Documentation

◆ AddSC_silithus()

void AddSC_silithus ( )

Definition at line 1484 of file zone_silithus.cpp.

Referenced by AddKalimdorScripts().

Variable Documentation

◆ EventAnim

◆ SpawnCast

SpawnSpells SpawnCast[4]
static
Initial value:
=
{
{100000, 2000, 33652},
{38500, 300000, 28528},
{58000, 300000, 35871},
{80950, 300000, 42075},
}

Definition at line 461 of file zone_silithus.cpp.

Referenced by npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::UpdateAI().

◆ SpawnLocation

◆ WavesInfo

WaveData WavesInfo[5]
static
Initial value:
=
{
{30, 0, 15423, 0, 0, 24000, 0},
{ 3, 35, 15424, 0, 0, 24000, 0},
{12, 38, 15414, 0, 0, 24000, 0},
{ 6, 50, 15422, 0, 0, 24000, 0},
{15, 15, 15423, 0, 0, 24000, 0}
}

Definition at line 447 of file zone_silithus.cpp.

Referenced by npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI::SummonNextWave(), and npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI::UpdateAI().