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

Go to the source code of this file.

Classes

class  go_activation_crystal
class  npc_azure_binder
struct  npc_azure_binder::npc_azure_binderAI
class  npc_azure_captain
struct  npc_azure_captain::npc_azure_captainAI
class  npc_azure_invader
struct  npc_azure_invader::npc_azure_invaderAI
class  npc_azure_mage_slayer
struct  npc_azure_mage_slayer::npc_azure_mage_slayerAI
class  npc_azure_raider
struct  npc_azure_raider::npc_azure_raiderAI
class  npc_azure_saboteur
struct  npc_azure_saboteur::npc_azure_saboteurAI
class  npc_azure_sorceror
struct  npc_azure_sorceror::npc_azure_sorcerorAI
class  npc_azure_spellbreaker
struct  npc_azure_spellbreaker::npc_azure_spellbreakerAI
class  npc_azure_stalker
struct  npc_azure_stalker::npc_azure_stalkerAI
class  npc_sinclari_vh
struct  npc_sinclari_vh::npc_sinclariAI
class  npc_teleportation_portal_vh
struct  npc_teleportation_portal_vh::npc_teleportation_portalAI
class  npc_violet_hold_arcane_sphere
struct  npc_violet_hold_arcane_sphere::npc_violet_hold_arcane_sphereAI
struct  violet_hold_trashAI

Macros

#define GOSSIP_I_WANT_IN   "I'm not fighting, so send me in now!"
#define GOSSIP_ITEM_1   "Activate the crystals when we get in trouble, right"
#define GOSSIP_START_EVENT   "Get your people to safety, we'll keep the Blue Dragonflight's forces at bay."
#define SPAWN_TIME   20000

Enumerations

enum  AzureBinderSpells {
  SPELL_ARCANE_BARRAGE = 58456 , H_SPELL_ARCANE_BARRAGE = 59248 , SPELL_ARCANE_EXPLOSION = 58455 , H_SPELL_ARCANE_EXPLOSION = 59245 ,
  SPELL_FROST_NOVA = 58458 , H_SPELL_FROST_NOVA = 59253 , SPELL_FROSTBOLT = 58457 , H_SPELL_FROSTBOLT = 59251
}
enum  AzureCaptainSpells { SPELL_MORTAL_STRIKE = 32736 , SPELL_WHIRLWIND_OF_STEEL = 41057 }
enum  AzureInvaderSpells {
  SPELL_CLEAVE = 15496 , SPELL_IMPALE = 58459 , H_SPELL_IMPALE = 59256 , SPELL_BRUTAL_STRIKE = 58460 ,
  SPELL_SUNDER_ARMOR = 58461
}
enum  AzureMageSlayerSpells { SPELL_ARCANE_EMPOWERMENT = 58469 , SPELL_SPELL_LOCK = 30849 }
enum  AzureRaiderSpells { SPELL_CONCUSSION_BLOW = 52719 , SPELL_MAGIC_REFLECTION = 60158 }
enum  AzureSaboteurSpells { SABOTEUR_SHIELD_DISRUPTION = 58291 , SABOTEUR_SHIELD_EFFECT = 45775 }
enum  AzureSellbreakerSpells {
  SPELL_ARCANE_BLAST = 58462 , H_SPELL_ARCANE_BLAST = 59257 , SPELL_SLOW = 25603 , SPELL_CHAINS_OF_ICE = 58464 ,
  SPELL_CONE_OF_COLD = 58463 , H_SPELL_CONE_OF_COLD = 59258
}
enum  AzureSorcerorSpells { SPELL_ARCANE_STREAM = 60181 , H_SPELL_ARCANE_STREAM = 60204 , SPELL_MANA_DETONATION = 60182 , H_SPELL_MANA_DETONATION = 60205 }
enum  AzureStalkerSpells { SPELL_BACKSTAB = 58471 , SPELL_TACTICAL_BLINK = 58470 }
enum  PortalCreatures {
  CREATURE_AZURE_INVADER_1 = 30661 , CREATURE_AZURE_INVADER_2 = 30961 , CREATURE_AZURE_SPELLBREAKER_1 = 30662 , CREATURE_AZURE_SPELLBREAKER_2 = 30962 ,
  CREATURE_AZURE_BINDER_1 = 30663 , CREATURE_AZURE_BINDER_2 = 30918 , CREATURE_AZURE_MAGE_SLAYER_1 = 30664 , CREATURE_AZURE_MAGE_SLAYER_2 = 30963 ,
  CREATURE_AZURE_CAPTAIN = 30666 , CREATURE_AZURE_SORCEROR = 30667 , CREATURE_AZURE_RAIDER = 30668 , CREATURE_AZURE_STALKER = 32191
}
enum  Sinclari { SAY_SINCLARI_1 = 0 }
enum  Spells { SPELL_PORTAL_CHANNEL = 58012 , SPELL_CRYSTAL_ACTIVATION = 57804 , SPELL_ARCANE_SPHERE_PASSIVE = 44263 }
enum  TrashDoorSpell { SPELL_DESTROY_DOOR_SEAL = 58040 }

Functions

void AddSC_violet_hold ()

Variables

float FifthPortalWPs [6][3]
float FirstPortalWPs [6][3]
float FourthPortalWPs [9][3]
const Position MovePosition = {1806.955566f, 803.851807f, 44.363323f, 0.0f}
const Position playerTeleportPosition = {1830.531006f, 803.939758f, 44.340508f, 6.281611f}
const float SaboteurFinalPos1 [3][3]
const float SaboteurFinalPos2 [3][3]
const float SaboteurFinalPos3 [2][3]
const float SaboteurFinalPos4 [3]
const float SaboteurFinalPos5 [3]
const float SaboteurFinalPos6 [5][3]
float SecondPortalFirstWPs [9][3]
float SecondPortalSecondWPs [8][3]
const Position sinclariOutsidePosition = {1817.315674f, 804.060608f, 44.363998f, 0.0f}
float SixthPoralWPs [4][3]
float ThirdPortalWPs [8][3]

Macro Definition Documentation

◆ GOSSIP_I_WANT_IN

#define GOSSIP_I_WANT_IN   "I'm not fighting, so send me in now!"

Definition at line 18 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::OnGossipHello().

◆ GOSSIP_ITEM_1

#define GOSSIP_ITEM_1   "Activate the crystals when we get in trouble, right"

Definition at line 17 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::OnGossipHello().

◆ GOSSIP_START_EVENT

#define GOSSIP_START_EVENT   "Get your people to safety, we'll keep the Blue Dragonflight's forces at bay."

Definition at line 16 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::OnGossipHello().

◆ SPAWN_TIME

#define SPAWN_TIME   20000

Enumeration Type Documentation

◆ AzureBinderSpells

Enumerator
SPELL_ARCANE_BARRAGE 
H_SPELL_ARCANE_BARRAGE 
SPELL_ARCANE_EXPLOSION 
H_SPELL_ARCANE_EXPLOSION 
SPELL_FROST_NOVA 
H_SPELL_FROST_NOVA 
SPELL_FROSTBOLT 
H_SPELL_FROSTBOLT 

Definition at line 56 of file violet_hold.cpp.

◆ AzureCaptainSpells

Enumerator
SPELL_MORTAL_STRIKE 
SPELL_WHIRLWIND_OF_STEEL 

Definition at line 74 of file violet_hold.cpp.

◆ AzureInvaderSpells

Enumerator
SPELL_CLEAVE 
SPELL_IMPALE 
H_SPELL_IMPALE 
SPELL_BRUTAL_STRIKE 
SPELL_SUNDER_ARMOR 

Definition at line 37 of file violet_hold.cpp.

◆ AzureMageSlayerSpells

Enumerator
SPELL_ARCANE_EMPOWERMENT 
SPELL_SPELL_LOCK 

Definition at line 68 of file violet_hold.cpp.

◆ AzureRaiderSpells

Enumerator
SPELL_CONCUSSION_BLOW 
SPELL_MAGIC_REFLECTION 

Definition at line 88 of file violet_hold.cpp.

◆ AzureSaboteurSpells

Enumerator
SABOTEUR_SHIELD_DISRUPTION 
SABOTEUR_SHIELD_EFFECT 

Definition at line 100 of file violet_hold.cpp.

◆ AzureSellbreakerSpells

Enumerator
SPELL_ARCANE_BLAST 
H_SPELL_ARCANE_BLAST 
SPELL_SLOW 
SPELL_CHAINS_OF_ICE 
SPELL_CONE_OF_COLD 
H_SPELL_CONE_OF_COLD 

Definition at line 46 of file violet_hold.cpp.

◆ AzureSorcerorSpells

Enumerator
SPELL_ARCANE_STREAM 
H_SPELL_ARCANE_STREAM 
SPELL_MANA_DETONATION 
H_SPELL_MANA_DETONATION 

Definition at line 80 of file violet_hold.cpp.

◆ AzureStalkerSpells

Enumerator
SPELL_BACKSTAB 
SPELL_TACTICAL_BLINK 

Definition at line 94 of file violet_hold.cpp.

◆ PortalCreatures

Enumerator
CREATURE_AZURE_INVADER_1 
CREATURE_AZURE_INVADER_2 
CREATURE_AZURE_SPELLBREAKER_1 
CREATURE_AZURE_SPELLBREAKER_2 
CREATURE_AZURE_BINDER_1 
CREATURE_AZURE_BINDER_2 
CREATURE_AZURE_MAGE_SLAYER_1 
CREATURE_AZURE_MAGE_SLAYER_2 
CREATURE_AZURE_CAPTAIN 
CREATURE_AZURE_SORCEROR 
CREATURE_AZURE_RAIDER 
CREATURE_AZURE_STALKER 

Definition at line 21 of file violet_hold.cpp.

◆ Sinclari

enum Sinclari
Enumerator
SAY_SINCLARI_1 

Definition at line 118 of file violet_hold.cpp.

◆ Spells

enum Spells
Enumerator
SPELL_PORTAL_CHANNEL 
SPELL_CRYSTAL_ACTIVATION 
SPELL_ARCANE_SPHERE_PASSIVE 

Definition at line 111 of file violet_hold.cpp.

◆ TrashDoorSpell

Enumerator
SPELL_DESTROY_DOOR_SEAL 

Definition at line 106 of file violet_hold.cpp.

Function Documentation

◆ AddSC_violet_hold()

void AddSC_violet_hold ( )

Definition at line 1382 of file violet_hold.cpp.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ FifthPortalWPs

float FifthPortalWPs[6][3]
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 188 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ FirstPortalWPs

float FirstPortalWPs[6][3]
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 123 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ FourthPortalWPs

float FourthPortalWPs[9][3]
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 174 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ MovePosition

const Position MovePosition = {1806.955566f, 803.851807f, 44.363323f, 0.0f}

Definition at line 242 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::npc_sinclariAI::UpdateAI().

◆ playerTeleportPosition

const Position playerTeleportPosition = {1830.531006f, 803.939758f, 44.340508f, 6.281611f}

Definition at line 243 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::OnGossipSelect().

◆ SaboteurFinalPos1

const float SaboteurFinalPos1[3][3]
Initial value:
=
{
{1892.502319f, 777.410767f, 38.630402f},
{1891.165161f, 762.969421f, 47.666920f},
{1893.168091f, 740.919189f, 47.666920f}
}

Definition at line 208 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SaboteurFinalPos2

const float SaboteurFinalPos2[3][3]
Initial value:
=
{
{1882.242676f, 834.818726f, 38.646786f},
{1879.220825f, 842.224854f, 43.333641f},
{1873.842896f, 863.892456f, 43.333641f}
}

Definition at line 214 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SaboteurFinalPos3

const float SaboteurFinalPos3[2][3]
Initial value:
=
{
{1904.298340f, 792.400391f, 38.646782f},
{1935.716919f, 758.437073f, 30.627895f}
}

Definition at line 220 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SaboteurFinalPos4

const float SaboteurFinalPos4[3]
Initial value:
=
{
1855.006104f, 760.641724f, 38.655266f
}

Definition at line 225 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SaboteurFinalPos5

const float SaboteurFinalPos5[3]
Initial value:
=
{
1906.667358f, 841.705566f, 38.637894f
}

Definition at line 229 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SaboteurFinalPos6

const float SaboteurFinalPos6[5][3]
Initial value:
=
{
{1911.437012f, 821.289246f, 38.684128f},
{1920.734009f, 822.978027f, 41.525414f},
{1928.262939f, 830.836609f, 44.668266f},
{1929.338989f, 837.593933f, 47.137596f},
{1931.063354f, 848.468445f, 47.190434f}
}

Definition at line 233 of file violet_hold.cpp.

Referenced by npc_azure_saboteur::npc_azure_saboteurAI::UpdateAI().

◆ SecondPortalFirstWPs

float SecondPortalFirstWPs[9][3]
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 134 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ SecondPortalSecondWPs

float SecondPortalSecondWPs[8][3]
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 148 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ sinclariOutsidePosition

const Position sinclariOutsidePosition = {1817.315674f, 804.060608f, 44.363998f, 0.0f}

Definition at line 244 of file violet_hold.cpp.

Referenced by npc_sinclari_vh::npc_sinclariAI::UpdateAI().

◆ SixthPoralWPs

float SixthPoralWPs[4][3]
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 199 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().

◆ ThirdPortalWPs

float ThirdPortalWPs[8][3]
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 161 of file violet_hold.cpp.

Referenced by violet_hold_trashAI::UpdateAI().