TrinityCore
Loading...
Searching...
No Matches
boss_razorscale.cpp File Reference
#include "ScriptMgr.h"
#include "G3DPosition.hpp"
#include "GameObject.h"
#include "GameObjectAI.h"
#include "InstanceScript.h"
#include "MotionMaster.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "ulduar.h"
+ Include dependency graph for boss_razorscale.cpp:

Go to the source code of this file.

Classes

struct  boss_razorscale
 
struct  npc_expedition_commander
 
struct  npc_expedition_defender
 
struct  npc_expedition_trapper
 
struct  npc_expedition_engineer
 
struct  npc_razorscale_spawner
 
struct  npc_darkrune_watcher
 
struct  npc_darkrune_guardian
 
struct  npc_darkrune_sentinel
 
struct  npc_razorscale_harpoon_fire_state
 
struct  npc_razorscale_devouring_flame
 
class  go_razorscale_harpoon
 
struct  go_razorscale_harpoon::go_razorscale_harpoonAI
 
class  go_razorscale_mole_machine
 
struct  go_razorscale_mole_machine::go_razorscale_mole_machineAI
 
class  spell_razorscale_flame_breath
 
class  spell_razorscale_summon_iron_dwarves
 
class  spell_razorscale_fuse_armor
 
class  spell_razorscale_firebolt
 
class  achievement_iron_dwarf_medium_rare
 
class  achievement_quick_shave
 

Macros

#define DEVOURING_FLAME_GROUND   RAID_MODE<uint32>(64709, 64734)
 
#define FLAME_BREATH   RAID_MODE<uint32>(63317, 64021)
 
#define CHAIN_LIGHTNING   RAID_MODE<uint32>(64758, 64759)
 
#define LIGHTNING_BOLT   RAID_MODE<uint32>(63809, 64696)
 

Enumerations

enum  Says {
  SAY_COMMANDER_AGGRO = 0 , SAY_COMMANDER_GROUND_PHASE = 1 , SAY_COMMANDER_ENGINEERS_DEAD = 2 , SAY_AGGRO = 0 ,
  SAY_START_REPAIR = 1 , SAY_REBUILD_TURRETS = 2 , EMOTE_HARPOON = 0 , EMOTE_PERMA_GROUND = 0 ,
  EMOTE_BREATH = 1 , EMOTE_BERSERK = 2
}
 
enum  Spells {
  SPELL_FIREBALL = 63815 , SPELL_DEVOURING_FLAME = 63236 , SPELL_WING_BUFFET = 62666 , SPELL_FIREBOLT = 62669 ,
  SPELL_FUSE_ARMOR = 64821 , SPELL_FUSED_ARMOR = 64774 , SPELL_STUN_SELF = 62794 , SPELL_BERSERK = 47008 ,
  SPELL_HARPOON_FIRE_STATE = 62696 , SPELL_HARPOON_TRIGGER = 62505 , SPELL_HARPOON_SHOT_1 = 63658 , SPELL_HARPOON_SHOT_2 = 63657 ,
  SPELL_HARPOON_SHOT_3 = 63659 , SPELL_HARPOON_SHOT_4 = 63524 , SPELL_SUMMON_MOLE_MACHINE = 62899 , SPELL_SUMMON_IRON_DWARF_GUARDIAN = 62926 ,
  SPELL_TRIGGER_SUMMON_IRON_DWARVES = 63968 , SPELL_TRIGGER_SUMMON_IRON_DWARVES_2 = 63970 , SPELL_TRIGGER_SUMMON_IRON_DWARVES_3 = 63969 , SPELL_TRIGGER_SUMMON_IRON_VRYKUL = 63798 ,
  SPELL_SUMMON_IRON_DWARF_WATCHER = 63135 , SPELL_STORMSTRIKE = 64757 , SPELL_BATTLE_SHOUT = 46763 , SPELL_HEROIC_STRIKE = 45026 ,
  SPELL_WHIRLWIND = 63808 , SPELL_THREAT = 65146 , SPELL_SHACKLE = 62646
}
 
enum  Actions {
  ACTION_START_FIGHT = 1 , ACTION_FIX_HARPOONS , ACTION_GROUND_PHASE , ACTION_ENGINEER_DEAD ,
  ACTION_SHACKLE_RAZORSCALE , ACTION_START_PERMA_GROUND , ACTION_RETURN_TO_BASE , ACTION_BUILD_HARPOON_1 ,
  ACTION_BUILD_HARPOON_2 , ACTION_BUILD_HARPOON_3 , ACTION_BUILD_HARPOON_4 , ACTION_DESTROY_HARPOONS ,
  ACTION_STOP_CONTROLLERS , ACTION_STOP_CAST
}
 
enum  Events {
  EVENT_BERSERK = 1 , EVENT_FIREBALL , EVENT_DEVOURING_FLAME , EVENT_SUMMON_MINIONS ,
  EVENT_SUMMON_MINIONS_2 , EVENT_FLAME_BREATH , EVENT_FLAME_BREATH_GROUND , EVENT_WING_BUFFET ,
  EVENT_RESUME_AIR_PHASE , EVENT_FIREBOLT , EVENT_FUSE_ARMOR , EVENT_RESUME_MOVE_CHASE ,
  EVENT_BUILD_HARPOON_1 , EVENT_BUILD_HARPOON_2 , EVENT_BUILD_HARPOON_3 , EVENT_BUILD_HARPOON_4 ,
  EVENT_HANDLE_DESTROY_HARPOON , EVENT_START_COMBAT , EVENT_HEROIC_STRIKE , EVENT_BATTLE_SHOUT ,
  EVENT_WHIRLWIND , EVENT_LIGHTNING_BOLT , EVENT_CHAIN_LIGHTNING , EVENT_STORMSTRIKE
}
 
enum  Misc {
  DATA_QUICK_SHAVE = 29192921 , DATA_IRON_DWARF_MEDIUM_RARE = 29232924 , GOSSIP_START_ENCOUNTER = 0 , DATA_EXPEDITION_NUMBER = 1 ,
  RAZORSCALE_EXPEDITION_GROUP = 1 , RAZORSCALE_FIRE_STATE_10_GROUP = 2 , RAZORSCALE_FIRE_STATE_25_GROUP = 3 , ENGINEER_NORTH = 0 ,
  ENGINEER_EAST = 1 , ENGINEER_WEST = 2 , HARPOON_1 = 0 , HARPOON_2 = 1 ,
  HARPOON_3 = 2 , HARPOON_4 = 3 , WORLD_STATE_RAZORSCALE_MUSIC = 4162
}
 
enum  MovePoints {
  POINT_DEFENDER_ATTACK = 1 , POINT_SHACKLE_RAZORSCALE , POINT_BASE , POINT_HARPOON_1 ,
  POINT_HARPOON_1_25 , POINT_HARPOON_2 , POINT_HARPOON_2_25 , POINT_HARPOON_3 ,
  POINT_HARPOON_4 , POINT_RAZORSCALE_FLIGHT , POINT_RAZORSCALE_TAKEOFF , POINT_RAZORSCALE_FLIGHT_2 ,
  POINT_RAZORSCALE_LAND , POINT_RAZORSCALE_GROUND , POINT_START_WAYPOINT
}
 
enum  EngineersSplineMovements {
  SPLINE_ENGINEER_NORTH_10_HARPOON_1 = 1 , SPLINE_ENGINEER_NORTH_10_HARPOON_2 = 2 , SPLINE_ENGINEER_NORTH_10_BASE = 3 , SPLINE_ENGINEER_NORTH_25_HARPOON_1 = 4 ,
  SPLINE_ENGINEER_NORTH_25_HARPOON_2 = 5 , SPLINE_ENGINEER_NORTH_25_HARPOON_3 = 6 , SPLINE_ENGINEER_NORTH_25_HARPOON_4 = 7 , SPLINE_ENGINEER_NORTH_25_BASE = 8 ,
  SPLINE_ENGINEER_EAST_10_HARPOON_1 = 9 , SPLINE_ENGINEER_EAST_10_HARPOON_2 = 10 , SPLINE_ENGINEER_EAST_10_BASE = 11 , SPLINE_ENGINEER_EAST_25_HARPOON_1 = 12 ,
  SPLINE_ENGINEER_EAST_25_HARPOON_2 = 13 , SPLINE_ENGINEER_EAST_25_HARPOON_3 = 14 , SPLINE_ENGINEER_EAST_25_HARPOON_4 = 15 , SPLINE_ENGINEER_WEST_10_HARPOON_1 = 16 ,
  SPLINE_ENGINEER_WEST_10_HARPOON_2 = 17 , SPLINE_ENGINEER_WEST_10_BASE = 18 , SPLINE_ENGINEER_WEST_25_HARPOON_1 = 19 , SPLINE_ENGINEER_WEST_25_HARPOON_2 = 20 ,
  SPLINE_ENGINEER_WEST_25_HARPOON_3 = 21 , SPLINE_ENGINEER_WEST_25_HARPOON_4 = 22 , SPLINE_ENGINEER_WEST_25_BASE = 23
}
 
enum  RazorscalePhases {
  PHASE_NONE = 0 , PHASE_COMBAT , PHASE_GROUND , PHASE_AIR ,
  PHASE_PERMA_GROUND
}
 

Functions

void AddSC_boss_razorscale ()
 

Variables

constexpr Position PosBrokenHarpoon [4]
 
constexpr Position PosHarpoon [4]
 
constexpr Position DefendersPosition [6]
 
constexpr Position TrapperPosition [3]
 
constexpr uint32 SummonMinionsSpells [4]
 
G3D::Vector3 const RazorscalePath []
 
constexpr Position RazorFlightPosition = { 585.3610f, -173.5592f, 456.8430f, 1.526665f }
 
constexpr Position RazorFlightPositionPhase2 = { 619.1450f, -238.0780f, 475.1800f, 1.423917f }
 
constexpr Position RazorscaleLand = { 585.4010f, -173.5430f, 408.5080f, 1.570796f }
 
constexpr Position RazorscaleGroundPosition = { 585.4010f, -173.5430f, 391.6421f, 1.570796f }
 

Macro Definition Documentation

◆ CHAIN_LIGHTNING

#define CHAIN_LIGHTNING   RAID_MODE<uint32>(64758, 64759)

Definition at line 102 of file boss_razorscale.cpp.

◆ DEVOURING_FLAME_GROUND

#define DEVOURING_FLAME_GROUND   RAID_MODE<uint32>(64709, 64734)

Definition at line 100 of file boss_razorscale.cpp.

◆ FLAME_BREATH

#define FLAME_BREATH   RAID_MODE<uint32>(63317, 64021)

Definition at line 101 of file boss_razorscale.cpp.

◆ LIGHTNING_BOLT

#define LIGHTNING_BOLT   RAID_MODE<uint32>(63809, 64696)

Definition at line 103 of file boss_razorscale.cpp.

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_START_FIGHT 
ACTION_FIX_HARPOONS 
ACTION_GROUND_PHASE 
ACTION_ENGINEER_DEAD 
ACTION_SHACKLE_RAZORSCALE 
ACTION_START_PERMA_GROUND 
ACTION_RETURN_TO_BASE 
ACTION_BUILD_HARPOON_1 
ACTION_BUILD_HARPOON_2 
ACTION_BUILD_HARPOON_3 
ACTION_BUILD_HARPOON_4 
ACTION_DESTROY_HARPOONS 
ACTION_STOP_CONTROLLERS 
ACTION_STOP_CAST 

Definition at line 105 of file boss_razorscale.cpp.

◆ EngineersSplineMovements

Enumerator
SPLINE_ENGINEER_NORTH_10_HARPOON_1 
SPLINE_ENGINEER_NORTH_10_HARPOON_2 
SPLINE_ENGINEER_NORTH_10_BASE 
SPLINE_ENGINEER_NORTH_25_HARPOON_1 
SPLINE_ENGINEER_NORTH_25_HARPOON_2 
SPLINE_ENGINEER_NORTH_25_HARPOON_3 
SPLINE_ENGINEER_NORTH_25_HARPOON_4 
SPLINE_ENGINEER_NORTH_25_BASE 
SPLINE_ENGINEER_EAST_10_HARPOON_1 
SPLINE_ENGINEER_EAST_10_HARPOON_2 
SPLINE_ENGINEER_EAST_10_BASE 
SPLINE_ENGINEER_EAST_25_HARPOON_1 
SPLINE_ENGINEER_EAST_25_HARPOON_2 
SPLINE_ENGINEER_EAST_25_HARPOON_3 
SPLINE_ENGINEER_EAST_25_HARPOON_4 
SPLINE_ENGINEER_WEST_10_HARPOON_1 
SPLINE_ENGINEER_WEST_10_HARPOON_2 
SPLINE_ENGINEER_WEST_10_BASE 
SPLINE_ENGINEER_WEST_25_HARPOON_1 
SPLINE_ENGINEER_WEST_25_HARPOON_2 
SPLINE_ENGINEER_WEST_25_HARPOON_3 
SPLINE_ENGINEER_WEST_25_HARPOON_4 
SPLINE_ENGINEER_WEST_25_BASE 

Definition at line 197 of file boss_razorscale.cpp.

◆ Events

enum Events
Enumerator
EVENT_BERSERK 
EVENT_FIREBALL 
EVENT_DEVOURING_FLAME 
EVENT_SUMMON_MINIONS 
EVENT_SUMMON_MINIONS_2 
EVENT_FLAME_BREATH 
EVENT_FLAME_BREATH_GROUND 
EVENT_WING_BUFFET 
EVENT_RESUME_AIR_PHASE 
EVENT_FIREBOLT 
EVENT_FUSE_ARMOR 
EVENT_RESUME_MOVE_CHASE 
EVENT_BUILD_HARPOON_1 
EVENT_BUILD_HARPOON_2 
EVENT_BUILD_HARPOON_3 
EVENT_BUILD_HARPOON_4 
EVENT_HANDLE_DESTROY_HARPOON 
EVENT_START_COMBAT 
EVENT_HEROIC_STRIKE 
EVENT_BATTLE_SHOUT 
EVENT_WHIRLWIND 
EVENT_LIGHTNING_BOLT 
EVENT_CHAIN_LIGHTNING 
EVENT_STORMSTRIKE 

Definition at line 123 of file boss_razorscale.cpp.

◆ Misc

enum Misc
Enumerator
DATA_QUICK_SHAVE 
DATA_IRON_DWARF_MEDIUM_RARE 
GOSSIP_START_ENCOUNTER 
DATA_EXPEDITION_NUMBER 
RAZORSCALE_EXPEDITION_GROUP 
RAZORSCALE_FIRE_STATE_10_GROUP 
RAZORSCALE_FIRE_STATE_25_GROUP 
ENGINEER_NORTH 
ENGINEER_EAST 
ENGINEER_WEST 
HARPOON_1 
HARPOON_2 
HARPOON_3 
HARPOON_4 
WORLD_STATE_RAZORSCALE_MUSIC 

Definition at line 159 of file boss_razorscale.cpp.

◆ MovePoints

enum MovePoints
Enumerator
POINT_DEFENDER_ATTACK 
POINT_SHACKLE_RAZORSCALE 
POINT_BASE 
POINT_HARPOON_1 
POINT_HARPOON_1_25 
POINT_HARPOON_2 
POINT_HARPOON_2_25 
POINT_HARPOON_3 
POINT_HARPOON_4 
POINT_RAZORSCALE_FLIGHT 
POINT_RAZORSCALE_TAKEOFF 
POINT_RAZORSCALE_FLIGHT_2 
POINT_RAZORSCALE_LAND 
POINT_RAZORSCALE_GROUND 
POINT_START_WAYPOINT 

Definition at line 178 of file boss_razorscale.cpp.

◆ RazorscalePhases

Enumerator
PHASE_NONE 
PHASE_COMBAT 
PHASE_GROUND 
PHASE_AIR 
PHASE_PERMA_GROUND 

Definition at line 224 of file boss_razorscale.cpp.

◆ Says

enum Says
Enumerator
SAY_COMMANDER_AGGRO 
SAY_COMMANDER_GROUND_PHASE 
SAY_COMMANDER_ENGINEERS_DEAD 
SAY_AGGRO 
SAY_START_REPAIR 
SAY_REBUILD_TURRETS 
EMOTE_HARPOON 
EMOTE_PERMA_GROUND 
EMOTE_BREATH 
EMOTE_BERSERK 

Definition at line 34 of file boss_razorscale.cpp.

◆ Spells

enum Spells
Enumerator
SPELL_FIREBALL 
SPELL_DEVOURING_FLAME 
SPELL_WING_BUFFET 
SPELL_FIREBOLT 
SPELL_FUSE_ARMOR 
SPELL_FUSED_ARMOR 
SPELL_STUN_SELF 
SPELL_BERSERK 
SPELL_HARPOON_FIRE_STATE 
SPELL_HARPOON_TRIGGER 
SPELL_HARPOON_SHOT_1 
SPELL_HARPOON_SHOT_2 
SPELL_HARPOON_SHOT_3 
SPELL_HARPOON_SHOT_4 
SPELL_SUMMON_MOLE_MACHINE 
SPELL_SUMMON_IRON_DWARF_GUARDIAN 
SPELL_TRIGGER_SUMMON_IRON_DWARVES 
SPELL_TRIGGER_SUMMON_IRON_DWARVES_2 
SPELL_TRIGGER_SUMMON_IRON_DWARVES_3 
SPELL_TRIGGER_SUMMON_IRON_VRYKUL 
SPELL_SUMMON_IRON_DWARF_WATCHER 
SPELL_STORMSTRIKE 
SPELL_BATTLE_SHOUT 
SPELL_HEROIC_STRIKE 
SPELL_WHIRLWIND 
SPELL_THREAT 
SPELL_SHACKLE 

Definition at line 55 of file boss_razorscale.cpp.

Function Documentation

◆ AddSC_boss_razorscale()

void AddSC_boss_razorscale ( )

Definition at line 1709 of file boss_razorscale.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ DefendersPosition

constexpr Position DefendersPosition[6]
constexpr
Initial value:
=
{
{ 624.3065f, -154.4163f, 391.6442f },
{ 611.6274f, -170.9375f, 391.8087f },
{ 572.1548f, -167.4471f, 391.8087f },
{ 558.4640f, -165.0114f, 391.8087f },
{ 603.3345f, -164.4297f, 391.8087f },
{ 549.1727f, -159.1180f, 391.8087f }
}

Definition at line 249 of file boss_razorscale.cpp.

◆ PosBrokenHarpoon

constexpr Position PosBrokenHarpoon[4]
constexpr
Initial value:
=
{
{ 571.9465f, -136.0118f, 391.5171f, 2.286379f },
{ 589.9233f, -133.6223f, 391.8968f, 3.298687f },
{ 559.1199f, -140.5058f, 391.1803f, 4.049168f },
{ 606.2297f, -136.7212f, 391.1803f, 5.131269f }
}

Definition at line 233 of file boss_razorscale.cpp.

◆ PosHarpoon

constexpr Position PosHarpoon[4]
constexpr
Initial value:
=
{
{ 571.9012f, -136.5541f, 391.5171f, 4.921829f },
{ 589.9233f, -133.6223f, 391.8968f, 4.81711f },
{ 559.1199f, -140.5058f, 391.1803f, 5.061456f },
{ 606.2297f, -136.7212f, 391.1803f, 4.537859f }
}

Definition at line 241 of file boss_razorscale.cpp.

◆ RazorFlightPosition

constexpr Position RazorFlightPosition = { 585.3610f, -173.5592f, 456.8430f, 1.526665f }
constexpr

Definition at line 289 of file boss_razorscale.cpp.

◆ RazorFlightPositionPhase2

constexpr Position RazorFlightPositionPhase2 = { 619.1450f, -238.0780f, 475.1800f, 1.423917f }
constexpr

Definition at line 290 of file boss_razorscale.cpp.

◆ RazorscaleGroundPosition

constexpr Position RazorscaleGroundPosition = { 585.4010f, -173.5430f, 391.6421f, 1.570796f }
constexpr

Definition at line 292 of file boss_razorscale.cpp.

◆ RazorscaleLand

constexpr Position RazorscaleLand = { 585.4010f, -173.5430f, 408.5080f, 1.570796f }
constexpr

Definition at line 291 of file boss_razorscale.cpp.

◆ RazorscalePath

G3D::Vector3 const RazorscalePath[]
Initial value:
=
{
{ 657.0227f, -361.1278f, 519.5406f },
{ 698.9319f, -340.9654f, 520.4857f },
{ 713.8673f, -290.2219f, 518.4573f },
{ 711.1782f, -259.6798f, 524.6802f },
{ 695.5101f, -234.6734f, 529.1528f },
{ 666.9619f, -220.7599f, 531.4860f },
{ 629.2765f, -219.7951f, 528.9301f },
{ 597.4018f, -233.7745f, 526.6508f },
{ 577.5307f, -275.4489f, 528.1241f },
{ 583.1092f, -319.5873f, 527.9302f },
{ 611.5800f, -353.1930f, 526.2653f }
}

Definition at line 274 of file boss_razorscale.cpp.

◆ SummonMinionsSpells

constexpr uint32 SummonMinionsSpells[4]
constexpr

◆ TrapperPosition

constexpr Position TrapperPosition[3]
constexpr
Initial value:
=
{
{ 574.9293f, -184.5150f, 391.8921f },
{ 539.7838f, -178.5337f, 391.3053f },
{ 627.1754f, -177.9638f, 391.5553f }
}

Definition at line 259 of file boss_razorscale.cpp.