AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
zone_wintergrasp.cpp File Reference
#include "AchievementCriteriaScript.h"
#include "Battlefield.h"
#include "BattlefieldMgr.h"
#include "BattlefieldWG.h"
#include "CombatAI.h"
#include "CreatureScript.h"
#include "GameGraveyard.h"
#include "GameObjectAI.h"
#include "GameObjectScript.h"
#include "GameTime.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "PoolMgr.h"
#include "RaceMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "Vehicle.h"
#include "World.h"
#include <cmath>

Go to the source code of this file.

Classes

class  npc_wg_demolisher_engineer
 
class  npc_wg_spirit_guide
 
struct  npc_wg_spirit_guide::npc_wg_spirit_guideAI
 
class  npc_wg_queue
 
struct  npc_wg_queue::npc_wg_queueAI
 
class  npc_wg_quest_giver
 
class  npc_wg_siege_machine
 
struct  npc_wg_siege_machine::npc_wg_siege_machineAI
 
class  go_wg_vehicle_teleporter
 
struct  go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI
 
class  spell_wintergrasp_force_building
 
class  spell_wintergrasp_create_vehicle
 
class  spell_wintergrasp_rp_gg
 
class  spell_wintergrasp_portal
 
class  spell_wintergrasp_water
 
class  spell_wintergrasp_hide_small_elementals_aura
 
class  spell_wg_reduce_damage_by_distance
 
class  achievement_wg_didnt_stand_a_chance
 
class  achievement_wg_vehicular_gnomeslaughter
 
class  achievement_wg_within_our_grasp
 

Enumerations

enum  eWGqueuenpctext {
  WG_NPCQUEUE_TEXT_H_NOWAR = 14775 ,
  WG_NPCQUEUE_TEXT_H_QUEUE = 14790 ,
  WG_NPCQUEUE_TEXT_H_WAR = 14777 ,
  WG_NPCQUEUE_TEXT_A_NOWAR = 14782 ,
  WG_NPCQUEUE_TEXT_A_QUEUE = 14791 ,
  WG_NPCQUEUE_TEXT_A_WAR = 14781 ,
  WG_NPCQUEUE_TEXTOPTION_JOIN = -1850507 ,
  WG_GOSSIP_MENU_QUEUE = 10662
}
 
enum  Spells {
  SPELL_BUILD_SIEGE_VEHICLE_FORCE_HORDE = 61409 ,
  SPELL_BUILD_SIEGE_VEHICLE_FORCE_ALLIANCE = 56662 ,
  SPELL_BUILD_CATAPULT_FORCE = 56664 ,
  SPELL_BUILD_DEMOLISHER_FORCE = 56659 ,
  SPELL_ACTIVATE_CONTROL_ARMS = 49899 ,
  SPELL_VEHICLE_TELEPORT = 49759 ,
  SPELL_CHANNEL_SPIRIT_HEAL = 22011 ,
  SPELL_RP_GG_TRIGGER_MISSILE = 49769 ,
  SPELL_TELEPORT_TO_FORTRESS = 59096
}
 
enum  CreatureIds {
  NPC_GOBLIN_MECHANIC = 30400 ,
  NPC_GNOMISH_ENGINEER = 30499 ,
  NPC_WINTERGRASP_CONTROL_ARMS = 27852 ,
  NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC = 23742
}
 
enum  QuestIds {
  QUEST_BONES_AND_ARROWS_HORDE_ATT = 13199 ,
  QUEST_JINXING_THE_WALLS_HORDE_ATT = 13202 ,
  QUEST_SLAY_THEM_ALL_HORDE_ATT = 13180 ,
  QUEST_FUELING_THE_DEMOLISHERS_HORDE_ATT = 13200 ,
  QUEST_HEALING_WITH_ROSES_HORDE_ATT = 13201 ,
  QUEST_DEFEND_THE_SIEGE_HORDE_ATT = 13223 ,
  QUEST_BONES_AND_ARROWS_HORDE_DEF = 13193 ,
  QUEST_WARDING_THE_WALLS_HORDE_DEF = 13192 ,
  QUEST_SLAY_THEM_ALL_HORDE_DEF = 13178 ,
  QUEST_FUELING_THE_DEMOLISHERS_HORDE_DEF = 13191 ,
  QUEST_HEALING_WITH_ROSES_HORDE_DEF = 13194 ,
  QUEST_TOPPLING_THE_TOWERS_HORDE_DEF = 13539 ,
  QUEST_STOP_THE_SIEGE_HORDE_DEF = 13185 ,
  QUEST_BONES_AND_ARROWS_ALLIANCE_ATT = 13196 ,
  QUEST_WARDING_THE_WARRIORS_ALLIANCE_ATT = 13198 ,
  QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_ATT = 13179 ,
  QUEST_DEFEND_THE_SIEGE_ALLIANCE_ATT = 13222 ,
  QUEST_A_RARE_HERB_ALLIANCE_ATT = 13195 ,
  QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_ATT = 13197 ,
  QUEST_BONES_AND_ARROWS_ALLIANCE_DEF = 13154 ,
  QUEST_WARDING_THE_WARRIORS_ALLIANCE_DEF = 13153 ,
  QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_DEF = 13177 ,
  QUEST_SHOUTHERN_SABOTAGE_ALLIANCE_DEF = 13538 ,
  QUEST_STOP_THE_SIEGE_ALLIANCE_DEF = 13186 ,
  QUEST_A_RARE_HERB_ALLIANCE_DEF = 13156 ,
  QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_DEF = 236
}
 
enum  eWgQueue {
  EVENT_ARCANIST_BRAEDIN_YELL = 1 ,
  EVENT_MAGISTER_SURDIEL_YELL = 2 ,
  EVENT_SPELL_FROST_ARMOR = 3 ,
  SAY_ARCANIST_BRAEDIN = 0 ,
  SAY_MAGISTER_SURDIEL = 0 ,
  NPC_ARCANIST_BRAEDIN = 32169 ,
  NPC_MAGISTER_SURDIEL = 32170 ,
  SPELL_FROST_ARMOR = 12544
}
 

Functions

void AddSC_wintergrasp ()
 

Variables

uint8 const MAX_WINTERGRASP_VEHICLES = 4
 
uint32 const vehiclesList [MAX_WINTERGRASP_VEHICLES]
 

Enumeration Type Documentation

◆ CreatureIds

Enumerator
NPC_GOBLIN_MECHANIC 
NPC_GNOMISH_ENGINEER 
NPC_WINTERGRASP_CONTROL_ARMS 
NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC 
75{
76 NPC_GOBLIN_MECHANIC = 30400,
78
80
82};
@ NPC_GOBLIN_MECHANIC
Definition zone_wintergrasp.cpp:76
@ NPC_WINTERGRASP_CONTROL_ARMS
Definition zone_wintergrasp.cpp:79
@ NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC
Definition zone_wintergrasp.cpp:81
@ NPC_GNOMISH_ENGINEER
Definition zone_wintergrasp.cpp:77

◆ eWgQueue

enum eWgQueue
Enumerator
EVENT_ARCANIST_BRAEDIN_YELL 
EVENT_MAGISTER_SURDIEL_YELL 
EVENT_SPELL_FROST_ARMOR 
SAY_ARCANIST_BRAEDIN 
SAY_MAGISTER_SURDIEL 
NPC_ARCANIST_BRAEDIN 
NPC_MAGISTER_SURDIEL 
SPELL_FROST_ARMOR 
272{
276
279
280 NPC_ARCANIST_BRAEDIN = 32169,
281 NPC_MAGISTER_SURDIEL = 32170,
282
283 SPELL_FROST_ARMOR = 12544
284};
@ SAY_ARCANIST_BRAEDIN
Definition zone_wintergrasp.cpp:277
@ EVENT_SPELL_FROST_ARMOR
Definition zone_wintergrasp.cpp:275
@ EVENT_ARCANIST_BRAEDIN_YELL
Definition zone_wintergrasp.cpp:273
@ SPELL_FROST_ARMOR
Definition zone_wintergrasp.cpp:283
@ NPC_ARCANIST_BRAEDIN
Definition zone_wintergrasp.cpp:280
@ NPC_MAGISTER_SURDIEL
Definition zone_wintergrasp.cpp:281
@ SAY_MAGISTER_SURDIEL
Definition zone_wintergrasp.cpp:278
@ EVENT_MAGISTER_SURDIEL_YELL
Definition zone_wintergrasp.cpp:274

◆ eWGqueuenpctext

Enumerator
WG_NPCQUEUE_TEXT_H_NOWAR 
WG_NPCQUEUE_TEXT_H_QUEUE 
WG_NPCQUEUE_TEXT_H_WAR 
WG_NPCQUEUE_TEXT_A_NOWAR 
WG_NPCQUEUE_TEXT_A_QUEUE 
WG_NPCQUEUE_TEXT_A_WAR 
WG_NPCQUEUE_TEXTOPTION_JOIN 
WG_GOSSIP_MENU_QUEUE 
41{
49
51};
@ WG_NPCQUEUE_TEXT_H_WAR
Definition zone_wintergrasp.cpp:44
@ WG_NPCQUEUE_TEXTOPTION_JOIN
Definition zone_wintergrasp.cpp:48
@ WG_NPCQUEUE_TEXT_H_NOWAR
Definition zone_wintergrasp.cpp:42
@ WG_NPCQUEUE_TEXT_A_WAR
Definition zone_wintergrasp.cpp:47
@ WG_GOSSIP_MENU_QUEUE
Definition zone_wintergrasp.cpp:50
@ WG_NPCQUEUE_TEXT_A_QUEUE
Definition zone_wintergrasp.cpp:46
@ WG_NPCQUEUE_TEXT_H_QUEUE
Definition zone_wintergrasp.cpp:43
@ WG_NPCQUEUE_TEXT_A_NOWAR
Definition zone_wintergrasp.cpp:45

◆ QuestIds

enum QuestIds
Enumerator
QUEST_BONES_AND_ARROWS_HORDE_ATT 
QUEST_JINXING_THE_WALLS_HORDE_ATT 
QUEST_SLAY_THEM_ALL_HORDE_ATT 
QUEST_FUELING_THE_DEMOLISHERS_HORDE_ATT 
QUEST_HEALING_WITH_ROSES_HORDE_ATT 
QUEST_DEFEND_THE_SIEGE_HORDE_ATT 
QUEST_BONES_AND_ARROWS_HORDE_DEF 
QUEST_WARDING_THE_WALLS_HORDE_DEF 
QUEST_SLAY_THEM_ALL_HORDE_DEF 
QUEST_FUELING_THE_DEMOLISHERS_HORDE_DEF 
QUEST_HEALING_WITH_ROSES_HORDE_DEF 
QUEST_TOPPLING_THE_TOWERS_HORDE_DEF 
QUEST_STOP_THE_SIEGE_HORDE_DEF 
QUEST_BONES_AND_ARROWS_ALLIANCE_ATT 
QUEST_WARDING_THE_WARRIORS_ALLIANCE_ATT 
QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_ATT 
QUEST_DEFEND_THE_SIEGE_ALLIANCE_ATT 
QUEST_A_RARE_HERB_ALLIANCE_ATT 
QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_ATT 
QUEST_BONES_AND_ARROWS_ALLIANCE_DEF 
QUEST_WARDING_THE_WARRIORS_ALLIANCE_DEF 
QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_DEF 
QUEST_SHOUTHERN_SABOTAGE_ALLIANCE_DEF 
QUEST_STOP_THE_SIEGE_ALLIANCE_DEF 
QUEST_A_RARE_HERB_ALLIANCE_DEF 
QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_DEF 
85{
92
100
107
115};
@ QUEST_HEALING_WITH_ROSES_HORDE_DEF
Definition zone_wintergrasp.cpp:97
@ QUEST_DEFEND_THE_SIEGE_HORDE_ATT
Definition zone_wintergrasp.cpp:91
@ QUEST_SHOUTHERN_SABOTAGE_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:111
@ QUEST_SLAY_THEM_ALL_HORDE_DEF
Definition zone_wintergrasp.cpp:95
@ QUEST_FUELING_THE_DEMOLISHERS_HORDE_DEF
Definition zone_wintergrasp.cpp:96
@ QUEST_A_RARE_HERB_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:113
@ QUEST_FUELING_THE_DEMOLISHERS_HORDE_ATT
Definition zone_wintergrasp.cpp:89
@ QUEST_SLAY_THEM_ALL_HORDE_ATT
Definition zone_wintergrasp.cpp:88
@ QUEST_STOP_THE_SIEGE_HORDE_DEF
Definition zone_wintergrasp.cpp:99
@ QUEST_WARDING_THE_WALLS_HORDE_DEF
Definition zone_wintergrasp.cpp:94
@ QUEST_BONES_AND_ARROWS_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:108
@ QUEST_A_RARE_HERB_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:105
@ QUEST_HEALING_WITH_ROSES_HORDE_ATT
Definition zone_wintergrasp.cpp:90
@ QUEST_BONES_AND_ARROWS_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:101
@ QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:103
@ QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:106
@ QUEST_STOP_THE_SIEGE_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:112
@ QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:110
@ QUEST_WARDING_THE_WARRIORS_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:102
@ QUEST_TOPPLING_THE_TOWERS_HORDE_DEF
Definition zone_wintergrasp.cpp:98
@ QUEST_BONES_AND_ARROWS_HORDE_DEF
Definition zone_wintergrasp.cpp:93
@ QUEST_WARDING_THE_WARRIORS_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:109
@ QUEST_FUELING_THE_DEMOLISHERS_ALLIANCE_DEF
Definition zone_wintergrasp.cpp:114
@ QUEST_BONES_AND_ARROWS_HORDE_ATT
Definition zone_wintergrasp.cpp:86
@ QUEST_DEFEND_THE_SIEGE_ALLIANCE_ATT
Definition zone_wintergrasp.cpp:104
@ QUEST_JINXING_THE_WALLS_HORDE_ATT
Definition zone_wintergrasp.cpp:87

◆ Spells

enum Spells
Enumerator
SPELL_BUILD_SIEGE_VEHICLE_FORCE_HORDE 
SPELL_BUILD_SIEGE_VEHICLE_FORCE_ALLIANCE 
SPELL_BUILD_CATAPULT_FORCE 
SPELL_BUILD_DEMOLISHER_FORCE 
SPELL_ACTIVATE_CONTROL_ARMS 
SPELL_VEHICLE_TELEPORT 
SPELL_CHANNEL_SPIRIT_HEAL 
SPELL_RP_GG_TRIGGER_MISSILE 
SPELL_TELEPORT_TO_FORTRESS 
54{
55 // Demolisher engineers spells
57 SPELL_BUILD_SIEGE_VEHICLE_FORCE_ALLIANCE = 56662, // Which faction uses which ?
61
63
64 // Spirit guide
66
67 // RP-GG
69
70 // Teleport to fortress
72};
@ SPELL_BUILD_DEMOLISHER_FORCE
Definition zone_wintergrasp.cpp:59
@ SPELL_VEHICLE_TELEPORT
Definition zone_wintergrasp.cpp:62
@ SPELL_ACTIVATE_CONTROL_ARMS
Definition zone_wintergrasp.cpp:60
@ SPELL_CHANNEL_SPIRIT_HEAL
Definition zone_wintergrasp.cpp:65
@ SPELL_BUILD_SIEGE_VEHICLE_FORCE_ALLIANCE
Definition zone_wintergrasp.cpp:57
@ SPELL_BUILD_SIEGE_VEHICLE_FORCE_HORDE
Definition zone_wintergrasp.cpp:56
@ SPELL_RP_GG_TRIGGER_MISSILE
Definition zone_wintergrasp.cpp:68
@ SPELL_TELEPORT_TO_FORTRESS
Definition zone_wintergrasp.cpp:71
@ SPELL_BUILD_CATAPULT_FORCE
Definition zone_wintergrasp.cpp:58

Function Documentation

◆ AddSC_wintergrasp()

void AddSC_wintergrasp ( )
1168{
1169 // NPCs
1170 new npc_wg_queue();
1171 new npc_wg_spirit_guide();
1173 new npc_wg_quest_giver();
1175
1176 // GOs
1178
1179 // SPELLs
1187
1188 // ACHIEVEMENTs
1192}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition zone_wintergrasp.cpp:1109
Definition zone_wintergrasp.cpp:1133
Definition zone_wintergrasp.cpp:1153
Definition zone_wintergrasp.cpp:850
Definition zone_wintergrasp.cpp:132
Definition zone_wintergrasp.cpp:406
Definition zone_wintergrasp.cpp:287
Definition zone_wintergrasp.cpp:793
Definition zone_wintergrasp.cpp:213
Definition zone_wintergrasp.cpp:1083
Definition zone_wintergrasp.cpp:941
Definition zone_wintergrasp.cpp:910
Definition zone_wintergrasp.cpp:1061
Definition zone_wintergrasp.cpp:1014
Definition zone_wintergrasp.cpp:983
Definition zone_wintergrasp.cpp:1041

References RegisterSpellScript.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ MAX_WINTERGRASP_VEHICLES

uint8 const MAX_WINTERGRASP_VEHICLES = 4

◆ vehiclesList

uint32 const vehiclesList[MAX_WINTERGRASP_VEHICLES]
Initial value:
=
{
}
@ NPC_WINTERGRASP_SIEGE_ENGINE_HORDE
Definition BattlefieldWG.h:188
@ NPC_WINTERGRASP_CATAPULT
Definition BattlefieldWG.h:189
@ NPC_WINTERGRASP_DEMOLISHER
Definition BattlefieldWG.h:190
@ NPC_WINTERGRASP_SIEGE_ENGINE_ALLIANCE
Definition BattlefieldWG.h:187

Referenced by go_wg_vehicle_teleporter::go_wg_vehicle_teleporterAI::UpdateAI().