TrinityCore
Loading...
Searching...
No Matches
violet_hold.cpp File Reference
#include "violet_hold.h"
#include "GameObject.h"
#include "GameObjectAI.h"
#include "InstanceScript.h"
#include "Map.h"
#include "MotionMaster.h"
#include "Player.h"
#include "ScriptMgr.h"
#include "ScriptedEscortAI.h"
#include "ScriptedGossip.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "WaypointDefines.h"
+ Include dependency graph for violet_hold.cpp:

Go to the source code of this file.

Classes

struct  npc_sinclari_vh
 
struct  npc_azure_saboteur
 
struct  npc_violet_hold_teleportation_portal_commonAI
 
struct  npc_violet_hold_teleportation_portal
 
struct  npc_violet_hold_teleportation_portal_elite
 
struct  npc_violet_hold_teleportation_portal_intro
 
struct  violet_hold_trashAI
 
struct  npc_azure_invader
 
struct  npc_azure_binder
 
struct  npc_azure_mage_slayer
 
struct  npc_azure_raider
 
struct  npc_azure_stalker
 
struct  npc_azure_spellbreaker
 
struct  npc_azure_captain
 
struct  npc_azure_sorceror
 
struct  npc_violet_hold_defense_system
 
struct  go_activation_crystal
 
class  spell_violet_hold_destroy_door_seal
 
class  spell_violet_hold_portal_periodic
 
class  spell_violet_hold_teleport_player
 

Enumerations

enum  PortalCreatureIds {
  NPC_AZURE_INVADER_1 = 30661 , NPC_AZURE_SPELLBREAKER_1 = 30662 , NPC_AZURE_BINDER_1 = 30663 , NPC_AZURE_MAGE_SLAYER_1 = 30664 ,
  NPC_VETERAN_MAGE_HUNTER = 30665 , NPC_AZURE_CAPTAIN_1 = 30666 , NPC_AZURE_SORCEROR_1 = 30667 , NPC_AZURE_RAIDER_1 = 30668 ,
  NPC_AZURE_BINDER_2 = 30918 , NPC_AZURE_INVADER_2 = 30961 , NPC_AZURE_SPELLBREAKER_2 = 30962 , NPC_AZURE_MAGE_SLAYER_2 = 30963 ,
  NPC_AZURE_BINDER_3 = 31007 , NPC_AZURE_INVADER_3 = 31008 , NPC_AZURE_SPELLBREAKER_3 = 31009 , NPC_AZURE_MAGE_SLAYER_3 = 31010 ,
  NPC_AZURE_RAIDER_2 = 31118 , NPC_AZURE_STALKER_1 = 32191
}
 
enum  AzureInvaderSpells { SPELL_CLEAVE = 15496 , SPELL_IMPALE = 58459 , SPELL_BRUTAL_STRIKE = 58460 , SPELL_SUNDER_ARMOR = 58461 }
 
enum  AzureSellbreakerSpells { SPELL_ARCANE_BLAST = 58462 , SPELL_SLOW = 25603 , SPELL_CHAINS_OF_ICE = 58464 , SPELL_CONE_OF_COLD = 58463 }
 
enum  AzureBinderSpells { SPELL_ARCANE_BARRAGE = 58456 , SPELL_ARCANE_EXPLOSION = 58455 , SPELL_FROST_NOVA = 58458 , SPELL_FROSTBOLT = 58457 }
 
enum  AzureMageSlayerSpells { SPELL_ARCANE_EMPOWERMENT = 58469 , SPELL_SPELL_LOCK = 30849 }
 
enum  AzureCaptainSpells { SPELL_MORTAL_STRIKE = 32736 , SPELL_WHIRLWIND_OF_STEEL = 41057 }
 
enum  AzureSorcerorSpells { SPELL_ARCANE_STREAM = 60181 , SPELL_MANA_DETONATION = 60182 }
 
enum  AzureRaiderSpells { SPELL_CONCUSSION_BLOW = 52719 , SPELL_MAGIC_REFLECTION = 60158 }
 
enum  AzureStalkerSpells { SPELL_BACKSTAB = 58471 , SPELL_TACTICAL_BLINK = 58470 }
 
enum  AzureSaboteurSpells { SPELL_SHIELD_DISRUPTION = 58291 , SPELL_TELEPORT_VISUAL = 51347 }
 
enum  TrashDoorSpell { SPELL_DESTROY_DOOR_SEAL = 58040 , SPELL_PRISON_DOOR_SEAL_WEAKEN = 58041 , SPELL_DOOR_BROKEN = 58043 }
 
enum  DefenseSystemSpells { SPELL_ARCANE_LIGHTNING_DAMAGE = 57912 , SPELL_ARCANE_LIGHTNING_INSTAKILL = 58152 , SPELL_ARCANE_LIGHTNING_DUMMY = 57930 }
 
enum  MiscSpells {
  SPELL_CRYSTAL_ACTIVATION = 57804 , SPELL_ATTACK_VIOLET_HOLD_GUARD = 57936 , SPELL_PORTAL_1_READY = 57995 , SPELL_PORTAL_2_READY = 57996 ,
  SPELL_PORTAL_3_READY = 57997 , SPELL_PORTAL_4_READY = 57998 , SPELL_PORTAL_5_READY = 57999 , SPELL_SUMMON_PORTAL = 58002 ,
  SPELL_SUMMON_PORTAL_EFFECT_1 = 58003 , SPELL_SUMMON_PORTAL_EFFECT_2 = 58004 , SPELL_SUMMON_PORTAL_EFFECT_3 = 58005 , SPELL_SUMMON_PORTAL_EFFECT_4 = 58006 ,
  SPELL_SUMMON_PORTAL_EFFECT_5 = 58007 , SPELL_PORTAL_PERIODIC = 58008 , SPELL_PORTAL_CHANNEL_TRIGGER = 58011 , SPELL_PORTAL_CHANNEL = 58012 ,
  SPELL_CLOSE_PORTAL_TRIGGER = 58014 , SPELL_CLOSE_PORTAL_EFFECT = 58018 , SPELL_PORTAL_READY_PRIMER = 58019 , SPELL_SUMMON_PORTAL_GUARDIAN = 58028 ,
  SPELL_SUMMON_PORTAL_GUARDIAN_2 = 58029 , SPELL_SUMMON_PORTAL_KEEPER = 58030 , SPELL_SUMMON_PORTAL_KEEPER_2 = 58031 , SPELL_SUMMON_AZURE_BINDER = 58034 ,
  SPELL_SUMMON_AZURE_BINDER_2 = 58086 , SPELL_SUMMON_AZURE_INVADER = 58087 , SPELL_SUMMON_AZURE_INVADER_2 = 58088 , SPELL_SUMMON_AZURE_SPELLBREAKER = 58089 ,
  SPELL_SUMMON_AZURE_SPELLBREAKER_2 = 58090 , SPELL_SUMMON_AZURE_MAGE_SLAYER = 58091 , SPELL_SUMMON_AZURE_MAGE_SLAYER_2 = 58092 , SPELL_SUMMON_VETERAN_MAGE_HUNTER = 58093 ,
  SPELL_SUMMON_AZURE_CAPTAIN = 60048 , SPELL_SUMMON_AZURE_STALKER = 60086 , SPELL_SUMMON_AZURE_RAIDER = 60049 , SPELL_SUMMON_AZURE_RAIDER_2 = 60092 ,
  SPELL_SUMMON_AZURE_SORCEROR = 60050 , SPELL_SUMMON_AZURE_SORCEROR_2 = 60093 , SPELL_TELEPORT_PLAYER = 62138 , SPELL_TELEPORT_PLAYER_EFFECT = 62139
}
 
enum  MiscData { DATA_PORTAL_PERIODIC_TICK = 1 }
 
enum  Sinclari {
  SAY_SINCLARI_INTRO_1 = 0 , SAY_SINCLARI_INTRO_2 = 1 , SAY_SINCLARI_OUTRO = 2 , GOSSIP_MENU_START_ENCOUNTER = 9998 ,
  GOSSIP_MENU_SEND_ME_IN = 10275 , SAY_SINCLARI_ELITE_SQUAD = 0 , SAY_SINCLARI_PORTAL_GUARDIAN = 1 , SAY_SINCLARI_PORTAL_KEEPER = 2
}
 

Functions

void AddSC_violet_hold ()
 

Variables

Position const FirstPortalWPs []
 
Position const SecondPortalFirstWPs []
 
Position const SecondPortalSecondWPs []
 
Position const ThirdPortalWPs []
 
Position const FourthPortalWPs []
 
Position const FifthPortalWPs []
 
Position const SixthPortalWPs []
 
Position const DefaultPortalWPs []
 
static WaypointPath const SaboteurMoraggPath
 
static WaypointPath const SaboteurErekemPath
 
static WaypointPath const SaboteurIchoronPath
 
static WaypointPath const SaboteurLavanthorPath
 
static WaypointPath const SaboteurXevozzPath
 
static WaypointPath const SaboteurZuramatPath
 
Position const SinclariPositions []
 
Position const GuardsMovePosition = { 1802.099f, 803.7724f, 44.36466f, 0.0f }
 

Enumeration Type Documentation

◆ AzureBinderSpells

Enumerator
SPELL_ARCANE_BARRAGE 
SPELL_ARCANE_EXPLOSION 
SPELL_FROST_NOVA 
SPELL_FROSTBOLT 

Definition at line 77 of file violet_hold.cpp.

◆ AzureCaptainSpells

Enumerator
SPELL_MORTAL_STRIKE 
SPELL_WHIRLWIND_OF_STEEL 

Definition at line 91 of file violet_hold.cpp.

◆ AzureInvaderSpells

Enumerator
SPELL_CLEAVE 
SPELL_IMPALE 
SPELL_BRUTAL_STRIKE 
SPELL_SUNDER_ARMOR 

Definition at line 61 of file violet_hold.cpp.

◆ AzureMageSlayerSpells

Enumerator
SPELL_ARCANE_EMPOWERMENT 
SPELL_SPELL_LOCK 

Definition at line 85 of file violet_hold.cpp.

◆ AzureRaiderSpells

Enumerator
SPELL_CONCUSSION_BLOW 
SPELL_MAGIC_REFLECTION 

Definition at line 103 of file violet_hold.cpp.

◆ AzureSaboteurSpells

Enumerator
SPELL_SHIELD_DISRUPTION 
SPELL_TELEPORT_VISUAL 

Definition at line 115 of file violet_hold.cpp.

◆ AzureSellbreakerSpells

Enumerator
SPELL_ARCANE_BLAST 
SPELL_SLOW 
SPELL_CHAINS_OF_ICE 
SPELL_CONE_OF_COLD 

Definition at line 69 of file violet_hold.cpp.

◆ AzureSorcerorSpells

Enumerator
SPELL_ARCANE_STREAM 
SPELL_MANA_DETONATION 

Definition at line 97 of file violet_hold.cpp.

◆ AzureStalkerSpells

Enumerator
SPELL_BACKSTAB 
SPELL_TACTICAL_BLINK 

Definition at line 109 of file violet_hold.cpp.

◆ DefenseSystemSpells

Enumerator
SPELL_ARCANE_LIGHTNING_DAMAGE 
SPELL_ARCANE_LIGHTNING_INSTAKILL 
SPELL_ARCANE_LIGHTNING_DUMMY 

Definition at line 128 of file violet_hold.cpp.

◆ MiscData

enum MiscData
Enumerator
DATA_PORTAL_PERIODIC_TICK 

Definition at line 187 of file violet_hold.cpp.

◆ MiscSpells

enum MiscSpells
Enumerator
SPELL_CRYSTAL_ACTIVATION 
SPELL_ATTACK_VIOLET_HOLD_GUARD 
SPELL_PORTAL_1_READY 
SPELL_PORTAL_2_READY 
SPELL_PORTAL_3_READY 
SPELL_PORTAL_4_READY 
SPELL_PORTAL_5_READY 
SPELL_SUMMON_PORTAL 
SPELL_SUMMON_PORTAL_EFFECT_1 
SPELL_SUMMON_PORTAL_EFFECT_2 
SPELL_SUMMON_PORTAL_EFFECT_3 
SPELL_SUMMON_PORTAL_EFFECT_4 
SPELL_SUMMON_PORTAL_EFFECT_5 
SPELL_PORTAL_PERIODIC 
SPELL_PORTAL_CHANNEL_TRIGGER 
SPELL_PORTAL_CHANNEL 
SPELL_CLOSE_PORTAL_TRIGGER 
SPELL_CLOSE_PORTAL_EFFECT 
SPELL_PORTAL_READY_PRIMER 
SPELL_SUMMON_PORTAL_GUARDIAN 
SPELL_SUMMON_PORTAL_GUARDIAN_2 
SPELL_SUMMON_PORTAL_KEEPER 
SPELL_SUMMON_PORTAL_KEEPER_2 
SPELL_SUMMON_AZURE_BINDER 
SPELL_SUMMON_AZURE_BINDER_2 
SPELL_SUMMON_AZURE_INVADER 
SPELL_SUMMON_AZURE_INVADER_2 
SPELL_SUMMON_AZURE_SPELLBREAKER 
SPELL_SUMMON_AZURE_SPELLBREAKER_2 
SPELL_SUMMON_AZURE_MAGE_SLAYER 
SPELL_SUMMON_AZURE_MAGE_SLAYER_2 
SPELL_SUMMON_VETERAN_MAGE_HUNTER 
SPELL_SUMMON_AZURE_CAPTAIN 
SPELL_SUMMON_AZURE_STALKER 
SPELL_SUMMON_AZURE_RAIDER 
SPELL_SUMMON_AZURE_RAIDER_2 
SPELL_SUMMON_AZURE_SORCEROR 
SPELL_SUMMON_AZURE_SORCEROR_2 
SPELL_TELEPORT_PLAYER 
SPELL_TELEPORT_PLAYER_EFFECT 

Definition at line 135 of file violet_hold.cpp.

◆ PortalCreatureIds

Enumerator
NPC_AZURE_INVADER_1 
NPC_AZURE_SPELLBREAKER_1 
NPC_AZURE_BINDER_1 
NPC_AZURE_MAGE_SLAYER_1 
NPC_VETERAN_MAGE_HUNTER 
NPC_AZURE_CAPTAIN_1 
NPC_AZURE_SORCEROR_1 
NPC_AZURE_RAIDER_1 
NPC_AZURE_BINDER_2 
NPC_AZURE_INVADER_2 
NPC_AZURE_SPELLBREAKER_2 
NPC_AZURE_MAGE_SLAYER_2 
NPC_AZURE_BINDER_3 
NPC_AZURE_INVADER_3 
NPC_AZURE_SPELLBREAKER_3 
NPC_AZURE_MAGE_SLAYER_3 
NPC_AZURE_RAIDER_2 
NPC_AZURE_STALKER_1 

Definition at line 38 of file violet_hold.cpp.

◆ Sinclari

enum Sinclari
Enumerator
SAY_SINCLARI_INTRO_1 
SAY_SINCLARI_INTRO_2 
SAY_SINCLARI_OUTRO 
GOSSIP_MENU_START_ENCOUNTER 
GOSSIP_MENU_SEND_ME_IN 
SAY_SINCLARI_ELITE_SQUAD 
SAY_SINCLARI_PORTAL_GUARDIAN 
SAY_SINCLARI_PORTAL_KEEPER 

Definition at line 192 of file violet_hold.cpp.

◆ TrashDoorSpell

Enumerator
SPELL_DESTROY_DOOR_SEAL 
SPELL_PRISON_DOOR_SEAL_WEAKEN 
SPELL_DOOR_BROKEN 

Definition at line 121 of file violet_hold.cpp.

Function Documentation

◆ AddSC_violet_hold()

void AddSC_violet_hold ( )

Definition at line 1282 of file violet_hold.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ DefaultPortalWPs

Position const DefaultPortalWPs[]
Initial value:
=
{
{ 1843.567017f, 804.288208f, 44.139091f }
}

Definition at line 293 of file violet_hold.cpp.

◆ FifthPortalWPs

Position const FifthPortalWPs[]
Initial value:
=
{
{1887.398804f, 763.633240f, 47.666851f},
{1879.020386f, 775.396973f, 38.705990f},
{1872.439087f, 782.568604f, 38.808292f},
{1863.573364f, 791.173584f, 38.743660f},
{1857.811890f, 796.765564f, 43.950329f},
{1845.577759f, 800.681152f, 44.104248f}
}

Definition at line 273 of file violet_hold.cpp.

◆ FirstPortalWPs

Position const FirstPortalWPs[]
Initial value:
=
{
{1877.670288f, 842.280273f, 43.333591f},
{1877.338867f, 834.615356f, 38.762287f},
{1872.161011f, 823.854309f, 38.645401f},
{1864.860474f, 815.787170f, 38.784843f},
{1858.953735f, 810.048950f, 44.008759f},
{1843.707153f, 805.807739f, 44.135197f}
}

Definition at line 208 of file violet_hold.cpp.

◆ FourthPortalWPs

Position const FourthPortalWPs[]
Initial value:
=
{
{1921.658447f, 761.657043f, 50.866741f},
{1910.559814f, 755.780457f, 47.701447f},
{1896.664673f, 752.920898f, 47.667004f},
{1887.398804f, 763.633240f, 47.666851f},
{1879.020386f, 775.396973f, 38.705990f},
{1872.439087f, 782.568604f, 38.808292f},
{1863.573364f, 791.173584f, 38.743660f},
{1857.811890f, 796.765564f, 43.950329f},
{1845.577759f, 800.681152f, 44.104248f}
}

Definition at line 259 of file violet_hold.cpp.

◆ GuardsMovePosition

Position const GuardsMovePosition = { 1802.099f, 803.7724f, 44.36466f, 0.0f }

Definition at line 381 of file violet_hold.cpp.

◆ SaboteurErekemPath

WaypointPath const SaboteurErekemPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1881.047f, 829.6866f, 38.64856f },
{ 2, 1877.585f, 844.6685f, 43.33349f },
{ 3, 1876.085f, 851.6685f, 42.99014f },
{ 4, 1873.747f, 864.1373f, 43.33349f }
},
}
@ POINT_INTRO
Definition zulaman.cpp:64

Definition at line 311 of file violet_hold.cpp.

◆ SaboteurIchoronPath

WaypointPath const SaboteurIchoronPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1888.672f, 801.2348f, 38.42305f },
{ 2, 1901.987f, 793.3254f, 38.65126f }
},
}

Definition at line 324 of file violet_hold.cpp.

◆ SaboteurLavanthorPath

WaypointPath const SaboteurLavanthorPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1867.925f, 778.8035f, 38.64702f },
{ 2, 1853.304f, 759.0161f, 38.65761f }
},
}

Definition at line 335 of file violet_hold.cpp.

◆ SaboteurMoraggPath

WaypointPath const SaboteurMoraggPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1885.71f, 799.8929f, 38.37241f },
{ 2, 1889.505f, 762.3288f, 47.66684f },
{ 3, 1894.542f, 742.1829f, 47.66684f },
{ 4, 1894.603f, 739.9231f, 47.66684f }
},
}

Definition at line 298 of file violet_hold.cpp.

◆ SaboteurXevozzPath

WaypointPath const SaboteurXevozzPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1889.096f, 810.0487f, 38.43871f },
{ 2, 1896.547f, 823.5473f, 38.72863f },
{ 3, 1906.666f, 842.3111f, 38.63351f }
},
}

Definition at line 346 of file violet_hold.cpp.

◆ SaboteurZuramatPath

WaypointPath const SaboteurZuramatPath
static
Initial value:
=
{
{
{ 0, 1886.251f, 803.0743f, 38.42326f },
{ 1, 1889.69f, 807.0032f, 38.39914f },
{ 2, 1906.91f, 818.2574f, 38.86596f },
{ 3, 1929.03f, 824.2713f, 46.09165f },
{ 4, 1928.441f, 842.8891f, 47.15078f },
{ 5, 1927.454f, 851.6091f, 47.19094f },
{ 6, 1927.947f, 852.2986f, 47.19637f }
},
}

Definition at line 358 of file violet_hold.cpp.

◆ SecondPortalFirstWPs

Position const SecondPortalFirstWPs[]
Initial value:
=
{
{1902.561401f, 853.334656f, 47.106117f},
{1895.486084f, 855.376404f, 44.334591f},
{1882.805176f, 854.993286f, 43.333591f},
{1877.670288f, 842.280273f, 43.333591f},
{1877.338867f, 834.615356f, 38.762287f},
{1872.161011f, 823.854309f, 38.645401f},
{1864.860474f, 815.787170f, 38.784843f},
{1858.953735f, 810.048950f, 44.008759f},
{1843.707153f, 805.807739f, 44.135197f}
}

Definition at line 219 of file violet_hold.cpp.

◆ SecondPortalSecondWPs

Position const SecondPortalSecondWPs[]
Initial value:
=
{
{1929.392212f, 837.614990f, 47.136166f},
{1928.290649f, 824.750427f, 45.474411f},
{1915.544922f, 826.919373f, 38.642811f},
{1900.933960f, 818.855652f, 38.801647f},
{1886.810547f, 813.536621f, 38.490490f},
{1869.079712f, 808.701538f, 38.689003f},
{1860.843384f, 806.645020f, 44.008789f},
{1843.707153f, 805.807739f, 44.135197f}
}

Definition at line 233 of file violet_hold.cpp.

◆ SinclariPositions

Position const SinclariPositions[]
Initial value:
=
{
{ 1829.142f, 798.219f, 44.36212f, 0.122173f },
{ 1820.12f, 803.916f, 44.36466f, 0.0f },
{ 1816.185f, 804.0629f, 44.44799f, 3.176499f },
{ 1827.886f, 804.0555f, 44.36467f, 0.0f }
}

Definition at line 373 of file violet_hold.cpp.

◆ SixthPortalWPs

Position const SixthPortalWPs[]
Initial value:
=
{
{1888.861084f, 805.074768f, 38.375790f},
{1869.793823f, 804.135804f, 38.647018f},
{1861.541504f, 804.149780f, 43.968292f},
{1843.567017f, 804.288208f, 44.139091f}
}

Definition at line 284 of file violet_hold.cpp.

◆ ThirdPortalWPs

Position const ThirdPortalWPs[]
Initial value:
=
{
{1934.049438f, 815.778503f, 52.408699f},
{1928.290649f, 824.750427f, 45.474411f},
{1915.544922f, 826.919373f, 38.642811f},
{1900.933960f, 818.855652f, 38.801647f},
{1886.810547f, 813.536621f, 38.490490f},
{1869.079712f, 808.701538f, 38.689003f},
{1860.843384f, 806.645020f, 44.008789f},
{1843.707153f, 805.807739f, 44.135197f}
}

Definition at line 246 of file violet_hold.cpp.