TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
zone_shadowmoon_valley.cpp File Reference
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Group.h"
#include "SpellScript.h"
#include "Player.h"
#include "WorldSession.h"
+ Include dependency graph for zone_shadowmoon_valley.cpp:

Classes

class  npc_invis_infernal_caster
 
struct  npc_invis_infernal_caster::npc_invis_infernal_casterAI
 
class  npc_infernal_attacker
 
struct  npc_infernal_attacker::npc_infernal_attackerAI
 
class  npc_mature_netherwing_drake
 
struct  npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI
 
class  npc_enslaved_netherwing_drake
 
struct  npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI
 
class  npc_dragonmaw_peon
 
struct  npc_dragonmaw_peon::npc_dragonmaw_peonAI
 
class  npc_drake_dealer_hurlunk
 
class  npcs_flanis_swiftwing_and_kagrosh
 
class  npc_karynaku
 
class  npc_earthmender_wilda
 
struct  npc_earthmender_wilda::npc_earthmender_wildaAI
 
struct  TorlothCinematic
 
struct  WaveData
 
struct  SpawnSpells
 
class  npc_torloth_the_magnificent
 
struct  npc_torloth_the_magnificent::npc_torloth_the_magnificentAI
 
class  npc_lord_illidan_stormrage
 
struct  npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI
 
class  npc_illidari_spawn
 
struct  npc_illidari_spawn::npc_illidari_spawnAI
 
class  go_crystal_prison
 
class  npc_enraged_spirit
 
struct  npc_enraged_spirit::npc_enraged_spiritAI
 
class  spell_unlocking_zuluheds_chains
 
class  spell_unlocking_zuluheds_chains::spell_unlocking_zuluheds_chains_SpellScript
 
class  npc_shadowmoon_tuber_node
 
struct  npc_shadowmoon_tuber_node::npc_shadowmoon_tuber_nodeAI
 

Macros

#define GOSSIP_HSK1   "Take Flanis's Pack"
 
#define GOSSIP_HSK2   "Take Kagrosh's Pack"
 
#define QUEST_BATTLE_OF_THE_CRIMSON_WATCH   10781
 
#define EVENT_AREA_RADIUS   65
 
#define EVENT_COOLDOWN   30000
 

Enumerations

enum  InvisInfernalCaster {
  EVENT_CAST_SUMMON_INFERNAL = 1, NPC_INFERNAL_ATTACKER = 21419, MODEL_INVISIBLE = 20577, MODEL_INFERNAL = 17312,
  SPELL_SUMMON_INFERNAL = 37277, TYPE_INFERNAL = 1, DATA_DIED = 1
}
 
enum  MatureNetherwing {
  SAY_JUST_EATEN = 0, SPELL_PLACE_CARCASS = 38439, SPELL_JUST_EATEN = 38502, SPELL_NETHER_BREATH = 38467,
  POINT_ID = 1, GO_CARCASS = 185155, QUEST_KINDNESS = 10804, NPC_EVENT_PINGER = 22131
}
 
enum  EnshlavedNetherwingDrake {
  FACTION_DEFAULT = 62, FACTION_FRIENDLY = 1840, SPELL_HIT_FORCE_OF_NELTHARAKU = 38762, SPELL_FORCE_OF_NELTHARAKU = 38775,
  NPC_DRAGONMAW_SUBJUGATOR = 21718, NPC_ESCAPE_DUMMY = 22317
}
 
enum  Karynaku { QUEST_ALLY_OF_NETHER = 10870, QUEST_ZUHULED_THE_WACK = 10866, NPC_ZUHULED_THE_WACKED = 11980, TAXI_PATH_ID = 649 }
 
enum  Earthmender {
  SAY_WIL_START = 0, SAY_WIL_AGGRO = 1, SAY_WIL_PROGRESS1 = 2, SAY_WIL_PROGRESS2 = 3,
  SAY_WIL_FIND_EXIT = 4, SAY_WIL_JUST_AHEAD = 5, SAY_WIL_END = 6, SPELL_CHAIN_LIGHTNING = 16006,
  SPELL_EARTHBING_TOTEM = 15786, SPELL_FROST_SHOCK = 12548, SPELL_HEALING_WAVE = 12491, QUEST_ESCAPE_COILSCAR = 10451,
  NPC_COILSKAR_ASSASSIN = 21044, FACTION_EARTHEN = 1726
}
 
enum  Enraged_Dpirits {
  QUEST_ENRAGED_SPIRITS_FIRE_EARTH = 10458, QUEST_ENRAGED_SPIRITS_AIR = 10481, QUEST_ENRAGED_SPIRITS_WATER = 10480, ENTRY_TOTEM_OF_SPIRITS = 21071,
  RADIUS_TOTEM_OF_SPIRITS = 15, NPC_ENRAGED_EARTH_SPIRIT = 21050, NPC_ENRAGED_FIRE_SPIRIT = 21061, NPC_ENRAGED_AIR_SPIRIT = 21060,
  NPC_ENRAGED_WATER_SPIRIT = 21059, NPC_EARTHEN_SOUL = 21073, NPC_FIERY_SOUL = 21097, NPC_ENRAGED_AIRY_SOUL = 21116,
  NPC_ENRAGED_WATERY_SOUL = 21109, SPELL_EARTHEN_SOUL_CAPTURED_CREDIT = 36108, SPELL_FIERY_SOUL_CAPTURED_CREDIT = 36117, SPELL_AIRY_SOUL_CAPTURED_CREDIT = 36182,
  SPELL_WATERY_SOUL_CAPTURED_CREDIT = 36171, NPC_CREDIT_FIRE = 21094, NPC_CREDIT_WATER = 21095, NPC_CREDIT_AIR = 21096,
  NPC_CREDIT_EARTH = 21092, SPELL_SOUL_CAPTURED = 36115, FACTION_ENRAGED_SOUL_FRIENDLY = 35, FACTION_ENRAGED_SOUL_HOSTILE = 14
}
 
enum  ZuluhedChains { NPC_KARYNAKU = 22112 }
 
enum  ShadowMoonTuberEnum {
  SPELL_WHISTLE = 36652, SPELL_SHADOWMOON_TUBER = 36462, NPC_BOAR_ENTRY = 21195, GO_SHADOWMOON_TUBER_MOUND = 184701,
  POINT_TUBER = 1, TYPE_BOAR = 1, DATA_BOAR = 1
}
 

Functions

void AddSC_shadowmoon_valley ()
 

Variables

static TorlothCinematic TorlothAnim []
 
static Position SpawnLocation []
 
static WaveData WavesInfo []
 
static SpawnSpells SpawnCast []
 

Macro Definition Documentation

#define EVENT_AREA_RADIUS   65
#define EVENT_COOLDOWN   30000
#define GOSSIP_HSK1   "Take Flanis's Pack"
#define GOSSIP_HSK2   "Take Kagrosh's Pack"
#define QUEST_BATTLE_OF_THE_CRIMSON_WATCH   10781

Enumeration Type Documentation

Enumerator
SAY_WIL_START 
SAY_WIL_AGGRO 
SAY_WIL_PROGRESS1 
SAY_WIL_PROGRESS2 
SAY_WIL_FIND_EXIT 
SAY_WIL_JUST_AHEAD 
SAY_WIL_END 
SPELL_CHAIN_LIGHTNING 
SPELL_EARTHBING_TOTEM 
SPELL_FROST_SHOCK 
SPELL_HEALING_WAVE 
QUEST_ESCAPE_COILSCAR 
NPC_COILSKAR_ASSASSIN 
FACTION_EARTHEN 
687 {
688  SAY_WIL_START = 0,
689  SAY_WIL_AGGRO = 1,
690  SAY_WIL_PROGRESS1 = 2,
691  SAY_WIL_PROGRESS2 = 3,
692  SAY_WIL_FIND_EXIT = 4,
693  SAY_WIL_JUST_AHEAD = 5,
694  SAY_WIL_END = 6,
695 
696  SPELL_CHAIN_LIGHTNING = 16006,
697  SPELL_EARTHBING_TOTEM = 15786,
698  SPELL_FROST_SHOCK = 12548,
699  SPELL_HEALING_WAVE = 12491,
700 
701  QUEST_ESCAPE_COILSCAR = 10451,
702  NPC_COILSKAR_ASSASSIN = 21044,
703  FACTION_EARTHEN = 1726 //guessed
704 };
Definition: zone_shadowmoon_valley.cpp:691
Definition: zone_shadowmoon_valley.cpp:688
Definition: zone_shadowmoon_valley.cpp:696
Definition: zone_shadowmoon_valley.cpp:689
Definition: zone_shadowmoon_valley.cpp:698
Definition: zone_shadowmoon_valley.cpp:702
Definition: zone_shadowmoon_valley.cpp:699
Definition: zone_shadowmoon_valley.cpp:701
Definition: zone_shadowmoon_valley.cpp:692
Definition: zone_shadowmoon_valley.cpp:694
Definition: zone_shadowmoon_valley.cpp:690
Definition: zone_shadowmoon_valley.cpp:697
Definition: zone_shadowmoon_valley.cpp:693
Definition: zone_shadowmoon_valley.cpp:703
Enumerator
QUEST_ENRAGED_SPIRITS_FIRE_EARTH 
QUEST_ENRAGED_SPIRITS_AIR 
QUEST_ENRAGED_SPIRITS_WATER 
ENTRY_TOTEM_OF_SPIRITS 
RADIUS_TOTEM_OF_SPIRITS 
NPC_ENRAGED_EARTH_SPIRIT 
NPC_ENRAGED_FIRE_SPIRIT 
NPC_ENRAGED_AIR_SPIRIT 
NPC_ENRAGED_WATER_SPIRIT 
NPC_EARTHEN_SOUL 
NPC_FIERY_SOUL 
NPC_ENRAGED_AIRY_SOUL 
NPC_ENRAGED_WATERY_SOUL 
SPELL_EARTHEN_SOUL_CAPTURED_CREDIT 
SPELL_FIERY_SOUL_CAPTURED_CREDIT 
SPELL_AIRY_SOUL_CAPTURED_CREDIT 
SPELL_WATERY_SOUL_CAPTURED_CREDIT 
NPC_CREDIT_FIRE 
NPC_CREDIT_WATER 
NPC_CREDIT_AIR 
NPC_CREDIT_EARTH 
SPELL_SOUL_CAPTURED 
FACTION_ENRAGED_SOUL_FRIENDLY 
FACTION_ENRAGED_SOUL_HOSTILE 
1487 {
1488 // QUESTS
1490  QUEST_ENRAGED_SPIRITS_AIR = 10481,
1492 
1493  // Totem
1494  ENTRY_TOTEM_OF_SPIRITS = 21071,
1496 
1497  // SPIRITS
1498  NPC_ENRAGED_EARTH_SPIRIT = 21050,
1499  NPC_ENRAGED_FIRE_SPIRIT = 21061,
1500  NPC_ENRAGED_AIR_SPIRIT = 21060,
1501  NPC_ENRAGED_WATER_SPIRIT = 21059,
1502 
1503  // SOULS
1504  NPC_EARTHEN_SOUL = 21073,
1505  NPC_FIERY_SOUL = 21097,
1506  NPC_ENRAGED_AIRY_SOUL = 21116,
1507  NPC_ENRAGED_WATERY_SOUL = 21109, // wrong model
1508 
1509  // SPELL KILLCREDIT - not working!?! - using KilledMonsterCredit
1514 
1515  // KilledMonsterCredit Workaround
1516  NPC_CREDIT_FIRE = 21094,
1517  NPC_CREDIT_WATER = 21095,
1518  NPC_CREDIT_AIR = 21096,
1519  NPC_CREDIT_EARTH = 21092,
1520 
1521  // Captured Spell / Buff
1522  SPELL_SOUL_CAPTURED = 36115,
1523 
1524  // Factions
1527 };
Definition: zone_shadowmoon_valley.cpp:1491
Definition: zone_shadowmoon_valley.cpp:1507
Definition: zone_shadowmoon_valley.cpp:1518
Definition: zone_shadowmoon_valley.cpp:1519
Definition: zone_shadowmoon_valley.cpp:1504
Definition: zone_shadowmoon_valley.cpp:1498
Definition: zone_shadowmoon_valley.cpp:1526
Definition: zone_shadowmoon_valley.cpp:1513
Definition: zone_shadowmoon_valley.cpp:1506
Definition: zone_shadowmoon_valley.cpp:1522
Definition: zone_shadowmoon_valley.cpp:1517
Definition: zone_shadowmoon_valley.cpp:1525
Definition: zone_shadowmoon_valley.cpp:1511
Definition: zone_shadowmoon_valley.cpp:1499
Definition: zone_shadowmoon_valley.cpp:1500
Definition: zone_shadowmoon_valley.cpp:1516
Definition: zone_shadowmoon_valley.cpp:1489
Definition: zone_shadowmoon_valley.cpp:1512
Definition: zone_shadowmoon_valley.cpp:1490
Definition: zone_shadowmoon_valley.cpp:1501
Definition: zone_shadowmoon_valley.cpp:1510
Definition: zone_shadowmoon_valley.cpp:1495
Definition: zone_shadowmoon_valley.cpp:1494
Definition: zone_shadowmoon_valley.cpp:1505
Enumerator
FACTION_DEFAULT 
FACTION_FRIENDLY 
SPELL_HIT_FORCE_OF_NELTHARAKU 
SPELL_FORCE_OF_NELTHARAKU 
NPC_DRAGONMAW_SUBJUGATOR 
NPC_ESCAPE_DUMMY 
339 {
340  // Factions
341  FACTION_DEFAULT = 62,
342  FACTION_FRIENDLY = 1840, // Not sure if this is correct, it was taken off of Mordenai.
343 
344  // Spells
347 
348  // Creatures
349  NPC_DRAGONMAW_SUBJUGATOR = 21718,
350  NPC_ESCAPE_DUMMY = 22317
351 
352 };
Definition: zone_shadowmoon_valley.cpp:350
Definition: zone_shadowmoon_valley.cpp:346
Definition: zone_shadowmoon_valley.cpp:345
Definition: zone_shadowmoon_valley.cpp:341
Definition: zone_shadowmoon_valley.cpp:349
Definition: zone_shadowmoon_valley.cpp:342
Enumerator
EVENT_CAST_SUMMON_INFERNAL 
NPC_INFERNAL_ATTACKER 
MODEL_INVISIBLE 
MODEL_INFERNAL 
SPELL_SUMMON_INFERNAL 
TYPE_INFERNAL 
DATA_DIED 
56 {
58  NPC_INFERNAL_ATTACKER = 21419,
59  MODEL_INVISIBLE = 20577,
60  MODEL_INFERNAL = 17312,
61  SPELL_SUMMON_INFERNAL = 37277,
62  TYPE_INFERNAL = 1,
63  DATA_DIED = 1
64 };
Definition: zone_shadowmoon_valley.cpp:60
Definition: zone_shadowmoon_valley.cpp:59
Definition: zone_shadowmoon_valley.cpp:57
Definition: zone_shadowmoon_valley.cpp:62
Definition: zone_shadowmoon_valley.cpp:63
Definition: zone_shadowmoon_valley.cpp:58
Definition: zone_shadowmoon_valley.cpp:61
enum Karynaku
Enumerator
QUEST_ALLY_OF_NETHER 
QUEST_ZUHULED_THE_WACK 
NPC_ZUHULED_THE_WACKED 
TAXI_PATH_ID 
656 {
657  QUEST_ALLY_OF_NETHER = 10870,
658  QUEST_ZUHULED_THE_WACK = 10866,
659 
660  NPC_ZUHULED_THE_WACKED = 11980,
661 
662  TAXI_PATH_ID = 649,
663 };
Definition: zone_shadowmoon_valley.cpp:658
Definition: zone_shadowmoon_valley.cpp:660
Definition: zone_shadowmoon_valley.cpp:657
Definition: zone_shadowmoon_valley.cpp:662
Enumerator
SAY_JUST_EATEN 
SPELL_PLACE_CARCASS 
SPELL_JUST_EATEN 
SPELL_NETHER_BREATH 
POINT_ID 
GO_CARCASS 
QUEST_KINDNESS 
NPC_EVENT_PINGER 
194 {
195  SAY_JUST_EATEN = 0,
196 
197  SPELL_PLACE_CARCASS = 38439,
198  SPELL_JUST_EATEN = 38502,
199  SPELL_NETHER_BREATH = 38467,
200  POINT_ID = 1,
201 
202  GO_CARCASS = 185155,
203 
204  QUEST_KINDNESS = 10804,
205  NPC_EVENT_PINGER = 22131
206 };
Definition: zone_shadowmoon_valley.cpp:205
Definition: zone_shadowmoon_valley.cpp:198
Definition: zone_shadowmoon_valley.cpp:204
Definition: zone_shadowmoon_valley.cpp:200
Definition: zone_shadowmoon_valley.cpp:195
Definition: zone_shadowmoon_valley.cpp:199
Definition: zone_shadowmoon_valley.cpp:202
Definition: zone_shadowmoon_valley.cpp:197
Enumerator
SPELL_WHISTLE 
SPELL_SHADOWMOON_TUBER 
NPC_BOAR_ENTRY 
GO_SHADOWMOON_TUBER_MOUND 
POINT_TUBER 
TYPE_BOAR 
DATA_BOAR 
1641 {
1642  SPELL_WHISTLE = 36652,
1643  SPELL_SHADOWMOON_TUBER = 36462,
1644 
1645  NPC_BOAR_ENTRY = 21195,
1646  GO_SHADOWMOON_TUBER_MOUND = 184701,
1647 
1648  POINT_TUBER = 1,
1649  TYPE_BOAR = 1,
1650  DATA_BOAR = 1
1651 };
Definition: zone_shadowmoon_valley.cpp:1649
Definition: zone_shadowmoon_valley.cpp:1645
Definition: zone_shadowmoon_valley.cpp:1650
Definition: zone_shadowmoon_valley.cpp:1643
Definition: zone_shadowmoon_valley.cpp:1642
Definition: zone_shadowmoon_valley.cpp:1646
Definition: zone_shadowmoon_valley.cpp:1648
Enumerator
NPC_KARYNAKU 
1608 {
1609  NPC_KARYNAKU = 22112,
1610 };
Definition: zone_shadowmoon_valley.cpp:1609

Function Documentation

void AddSC_shadowmoon_valley ( )
1698 {
1700  new npc_infernal_attacker();
1703  new npc_dragonmaw_peon();
1706  new npc_karynaku();
1707  new npc_earthmender_wilda();
1709  new go_crystal_prison();
1710  new npc_illidari_spawn();
1712  new npc_enraged_spirit();
1715 }
Definition: zone_shadowmoon_valley.cpp:1612
Definition: zone_shadowmoon_valley.cpp:354
Definition: zone_shadowmoon_valley.cpp:706
Definition: zone_shadowmoon_valley.cpp:1529
Definition: zone_shadowmoon_valley.cpp:1653
Definition: zone_shadowmoon_valley.cpp:952
Definition: zone_shadowmoon_valley.cpp:208
Definition: zone_shadowmoon_valley.cpp:1268
Definition: zone_shadowmoon_valley.cpp:1460
Definition: zone_shadowmoon_valley.cpp:665
Definition: zone_shadowmoon_valley.cpp:1118
Definition: zone_shadowmoon_valley.cpp:607
Definition: zone_shadowmoon_valley.cpp:66
Definition: zone_shadowmoon_valley.cpp:484
Definition: zone_shadowmoon_valley.cpp:135
Definition: zone_shadowmoon_valley.cpp:575

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

SpawnSpells SpawnCast[]
static
Initial value:
=
{
{10000, 15000, 35871},
{10000, 10000, 38985},
{35000, 35000, 22884},
{20000, 20000, 17194},
{8000, 15000, 38010},
{12000, 20000, 16102},
{10000, 15000, 15284},
{18000, 20000, 39082},
{25000, 28000, 33961}
}
Position SpawnLocation[]
static
Initial value:
=
{
{-4615.8556f, 1342.2532f, 139.9f, 1.612f},
{-4598.9365f, 1377.3182f, 139.9f, 3.917f},
{-4598.4697f, 1360.8999f, 139.9f, 2.427f},
{-4589.3599f, 1369.1061f, 139.9f, 3.165f},
{-4608.3477f, 1386.0076f, 139.9f, 4.108f},
{-4633.1889f, 1359.8033f, 139.9f, 0.949f},
{-4623.5791f, 1351.4574f, 139.9f, 0.971f},
{-4607.2988f, 1351.6099f, 139.9f, 2.416f},
{-4633.7764f, 1376.0417f, 139.9f, 5.608f},
{-4600.2461f, 1369.1240f, 139.9f, 3.056f},
{-4631.7808f, 1367.9459f, 139.9f, 0.020f},
{-4600.2461f, 1369.1240f, 139.9f, 3.056f},
{-4631.7808f, 1367.9459f, 139.9f, 0.020f},
{-4615.5586f, 1353.0031f, 139.9f, 1.540f},
{-4616.4736f, 1384.2170f, 139.9f, 4.971f},
{-4627.1240f, 1378.8752f, 139.9f, 2.544f}
}
TorlothCinematic TorlothAnim[]
static
Initial value:
=
{
{0, 2000},
{1, 7000},
{0, 3000},
{0, 2000},
{0, 1000},
{0, 3000},
{0, 0}
}
WaveData WavesInfo[]
static
Initial value:
=
{
{9, 0, 22075, 10000, 7000},
{2, 9, 22074, 10000, 7000},
{4, 11, 19797, 10000, 7000},
{1, 15, 22076, 10000, 7000}
}