TrinityCore
Loading...
Searching...
No Matches
boss_icecrown_gunship_battle.cpp File Reference
#include "icecrown_citadel.h"
#include "CellImpl.h"
#include "Containers.h"
#include "CreatureTextMgr.h"
#include "GridNotifiersImpl.h"
#include "InstanceScript.h"
#include "Map.h"
#include "MotionMaster.h"
#include "MovementPackets.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptMgr.h"
#include "SpellAuraEffects.h"
#include "SpellHistory.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Transport.h"
#include "Vehicle.h"
#include <G3D/Vector3.h>
+ Include dependency graph for boss_icecrown_gunship_battle.cpp:

Go to the source code of this file.

Classes

struct  SlotInfo
 
class  PassengerController
 
class  DelayedMovementEvent
 
class  ResetEncounterEvent
 
class  BattleExperienceEvent
 
struct  gunship_npc_AI
 
class  npc_gunship
 
struct  npc_gunship::npc_gunshipAI
 
struct  npc_high_overlord_saurfang_igb
 
struct  npc_muradin_bronzebeard_igb
 
struct  npc_zafod_boombox
 
struct  npc_gunship_boarding_addAI
 
struct  npc_gunship_boarding_leader
 
class  npc_gunship_boarding_add
 
struct  npc_gunship_gunner
 
struct  npc_gunship_rocketeer
 
struct  npc_gunship_mage
 
struct  npc_gunship_cannon
 
class  spell_igb_rocket_pack
 
class  spell_igb_rocket_pack_useable
 
class  spell_igb_on_gunship_deck
 
class  spell_igb_periodic_trigger_with_power_cost
 
class  spell_igb_cannon_blast
 
class  spell_igb_incinerating_blast
 
class  spell_igb_overheat
 
class  spell_igb_below_zero
 
class  spell_igb_teleport_to_enemy_ship
 
class  spell_igb_burning_pitch_selector
 
class  spell_igb_burning_pitch
 
class  spell_igb_rocket_artillery
 
class  spell_igb_rocket_artillery_explosion
 
class  spell_igb_gunship_fall_teleport
 
class  spell_igb_check_for_players
 
class  spell_igb_teleport_players_on_victory
 
class  spell_igb_battle_experience_check
 
class  achievement_im_on_a_boat
 

Enumerations

enum  Texts {
  SAY_SAURFANG_INTRO_1 = 0 , SAY_SAURFANG_INTRO_2 = 1 , SAY_SAURFANG_INTRO_3 = 2 , SAY_SAURFANG_INTRO_4 = 3 ,
  SAY_SAURFANG_INTRO_5 = 4 , SAY_SAURFANG_INTRO_6 = 5 , SAY_SAURFANG_INTRO_A = 6 , SAY_SAURFANG_BOARD = 7 ,
  SAY_SAURFANG_ENTER_SKYBREAKER = 8 , SAY_SAURFANG_AXETHROWERS = 9 , SAY_SAURFANG_ROCKETEERS = 10 , SAY_SAURFANG_MAGES = 11 ,
  SAY_SAURFANG_VICTORY = 12 , SAY_SAURFANG_WIPE = 13 , SAY_MURADIN_INTRO_1 = 0 , SAY_MURADIN_INTRO_2 = 1 ,
  SAY_MURADIN_INTRO_3 = 2 , SAY_MURADIN_INTRO_4 = 3 , SAY_MURADIN_INTRO_5 = 4 , SAY_MURADIN_INTRO_6 = 5 ,
  SAY_MURADIN_INTRO_7 = 6 , SAY_MURADIN_INTRO_H = 7 , SAY_MURADIN_BOARD = 8 , SAY_MURADIN_ENTER_ORGRIMMS_HAMMER = 9 ,
  SAY_MURADIN_RIFLEMAN = 10 , SAY_MURADIN_MORTAR = 11 , SAY_MURADIN_SORCERERS = 12 , SAY_MURADIN_VICTORY = 13 ,
  SAY_MURADIN_WIPE = 14 , SAY_ZAFOD_ROCKET_PACK_ACTIVE = 0 , SAY_ZAFOD_ROCKET_PACK_DISABLED = 1 , SAY_OVERHEAT = 0
}
 
enum  Events {
  EVENT_INTRO_H_1 = 1 , EVENT_INTRO_H_2 = 2 , EVENT_INTRO_SUMMON_SKYBREAKER = 3 , EVENT_INTRO_H_3 = 4 ,
  EVENT_INTRO_H_4 = 5 , EVENT_INTRO_H_5 = 6 , EVENT_INTRO_H_6 = 7 , EVENT_INTRO_A_1 = 1 ,
  EVENT_INTRO_A_2 = 2 , EVENT_INTRO_SUMMON_ORGRIMS_HAMMER = 3 , EVENT_INTRO_A_3 = 4 , EVENT_INTRO_A_4 = 5 ,
  EVENT_INTRO_A_5 = 6 , EVENT_INTRO_A_6 = 7 , EVENT_INTRO_A_7 = 8 , EVENT_KEEP_PLAYER_IN_COMBAT = 9 ,
  EVENT_SUMMON_MAGE = 10 , EVENT_ADDS = 11 , EVENT_ADDS_BOARD_YELL = 12 , EVENT_CHECK_RIFLEMAN = 13 ,
  EVENT_CHECK_MORTAR = 14 , EVENT_CLEAVE = 15 , EVENT_BLADESTORM = 16 , EVENT_WOUNDING_STRIKE = 17
}
 
enum  Spells {
  SPELL_FRIENDLY_BOSS_DAMAGE_MOD = 70339 , SPELL_CHECK_FOR_PLAYERS = 70332 , SPELL_GUNSHIP_FALL_TELEPORT = 67335 , SPELL_TELEPORT_PLAYERS_ON_RESET_A = 70446 ,
  SPELL_TELEPORT_PLAYERS_ON_RESET_H = 71284 , SPELL_TELEPORT_PLAYERS_ON_VICTORY = 72340 , SPELL_ACHIEVEMENT = 72959 , SPELL_AWARD_REPUTATION_BOSS_KILL = 73843 ,
  SPELL_BATTLE_FURY = 69637 , SPELL_RENDING_THROW = 70309 , SPELL_CLEAVE = 15284 , SPELL_TASTE_OF_BLOOD = 69634 ,
  SPELL_MELEE_TARGETING_ON_SKYBREAKER = 70219 , SPELL_MELEE_TARGETING_ON_ORGRIMS_HAMMER = 70294 , SPELL_EXPLOSION_WIPE = 72134 , SPELL_EXPLOSION_VICTORY = 72137 ,
  SPELL_TELEPORT_TO_ENEMY_SHIP = 70104 , SPELL_BATTLE_EXPERIENCE = 71201 , SPELL_EXPERIENCED = 71188 , SPELL_VETERAN = 71193 ,
  SPELL_ELITE = 71195 , SPELL_ADDS_BERSERK = 72525 , SPELL_SHADOW_CHANNELING = 43897 , SPELL_BELOW_ZERO = 69705 ,
  SPELL_SHOOT = 70162 , SPELL_HURL_AXE = 70161 , SPELL_BURNING_PITCH_A = 70403 , SPELL_BURNING_PITCH_H = 70397 ,
  SPELL_BURNING_PITCH = 69660 , SPELL_ROCKET_ARTILLERY_A = 70609 , SPELL_ROCKET_ARTILLERY_H = 69678 , SPELL_BURNING_PITCH_DAMAGE_A = 70383 ,
  SPELL_BURNING_PITCH_DAMAGE_H = 70374 , SPELL_DESPERATE_RESOLVE = 69647 , SPELL_BLADESTORM = 69652 , SPELL_WOUNDING_STRIKE = 69651 ,
  SPELL_LOCK_PLAYERS_AND_TAP_CHEST = 72347 , SPELL_ON_SKYBREAKER_DECK = 70120 , SPELL_ON_ORGRIMS_HAMMER_DECK = 70121 , SPELL_ROCKET_PACK_DAMAGE = 69193 ,
  SPELL_ROCKET_BURST = 69192 , SPELL_ROCKET_PACK_USEABLE = 70348 , SPELL_OVERHEAT = 69487 , SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO = 68576 ,
  SPELL_EJECT_ALL_PASSENGERS_WIPE = 50630
}
 
enum  MiscData {
  ITEM_GOBLIN_ROCKET_PACK = 49278 , SPELL_CREATE_ROCKET_PACK = 70055 , PHASE_COMBAT = 0 , PHASE_INTRO = 1 ,
  MUSIC_ENCOUNTER = 17289
}
 
enum  EncounterActions {
  ACTION_SPAWN_MAGE = 1 , ACTION_SPAWN_ALL_ADDS = 2 , ACTION_CLEAR_SLOT = 3 , ACTION_SET_SLOT = 4 ,
  ACTION_SHIP_VISITS = 5
}
 
enum  PassengerSlots {
  SLOT_FREEZE_MAGE = 0 , SLOT_MAGE_1 = 1 , SLOT_MAGE_2 = 2 , SLOT_RIFLEMAN_1 = 3 ,
  SLOT_RIFLEMAN_2 = 4 , SLOT_RIFLEMAN_3 = 5 , SLOT_RIFLEMAN_4 = 6 , SLOT_RIFLEMAN_5 = 7 ,
  SLOT_RIFLEMAN_6 = 8 , SLOT_RIFLEMAN_7 = 9 , SLOT_RIFLEMAN_8 = 10 , SLOT_MORTAR_1 = 11 ,
  SLOT_MORTAR_2 = 12 , SLOT_MORTAR_3 = 13 , SLOT_MORTAR_4 = 14 , SLOT_MARINE_1 = 15 ,
  SLOT_MARINE_2 = 16 , SLOT_MARINE_3 = 17 , SLOT_MARINE_4 = 18 , SLOT_SERGEANT_1 = 19 ,
  SLOT_SERGEANT_2 = 20 , MAX_SLOTS
}
 

Functions

void AddSC_boss_icecrown_gunship_battle ()
 

Variables

Position const SkybreakerAddsSpawnPos = { 15.91131f, 0.0f, 20.4628f, float(M_PI) }
 
Position const OrgrimsHammerAddsSpawnPos = { 60.728395f, 0.0f, 38.93467f, float(M_PI) }
 
Position const SkybreakerTeleportPortal = { 6.666975f, 0.013001f, 20.87888f, 0.0f }
 
Position const OrgrimsHammerTeleportExit = { 7.461699f, 0.158853f, 35.72989f, 0.0f }
 
Position const OrgrimsHammerTeleportPortal = { 47.550990f, -0.101778f, 37.61111f, 0.0f }
 
Position const SkybreakerTeleportExit = { -17.55738f, -0.090421f, 21.18366f, 0.0f }
 
G3D::Vector3 const MuradinExitPath []
 
G3D::Vector3 const SaurfangExitPath []
 
SlotInfo const SkybreakerSlotInfo [MAX_SLOTS]
 
SlotInfo const OrgrimsHammerSlotInfo [MAX_SLOTS]
 

Enumeration Type Documentation

◆ EncounterActions

Enumerator
ACTION_SPAWN_MAGE 
ACTION_SPAWN_ALL_ADDS 
ACTION_CLEAR_SLOT 
ACTION_SET_SLOT 
ACTION_SHIP_VISITS 

Definition at line 208 of file boss_icecrown_gunship_battle.cpp.

◆ Events

enum Events
Enumerator
EVENT_INTRO_H_1 
EVENT_INTRO_H_2 
EVENT_INTRO_SUMMON_SKYBREAKER 
EVENT_INTRO_H_3 
EVENT_INTRO_H_4 
EVENT_INTRO_H_5 
EVENT_INTRO_H_6 
EVENT_INTRO_A_1 
EVENT_INTRO_A_2 
EVENT_INTRO_SUMMON_ORGRIMS_HAMMER 
EVENT_INTRO_A_3 
EVENT_INTRO_A_4 
EVENT_INTRO_A_5 
EVENT_INTRO_A_6 
EVENT_INTRO_A_7 
EVENT_KEEP_PLAYER_IN_COMBAT 
EVENT_SUMMON_MAGE 
EVENT_ADDS 
EVENT_ADDS_BOARD_YELL 
EVENT_CHECK_RIFLEMAN 
EVENT_CHECK_MORTAR 
EVENT_CLEAVE 
EVENT_BLADESTORM 
EVENT_WOUNDING_STRIKE 

Definition at line 83 of file boss_icecrown_gunship_battle.cpp.

◆ MiscData

enum MiscData
Enumerator
ITEM_GOBLIN_ROCKET_PACK 
SPELL_CREATE_ROCKET_PACK 
PHASE_COMBAT 
PHASE_INTRO 
MUSIC_ENCOUNTER 

Definition at line 197 of file boss_icecrown_gunship_battle.cpp.

◆ PassengerSlots

Enumerator
SLOT_FREEZE_MAGE 
SLOT_MAGE_1 
SLOT_MAGE_2 
SLOT_RIFLEMAN_1 
SLOT_RIFLEMAN_2 
SLOT_RIFLEMAN_3 
SLOT_RIFLEMAN_4 
SLOT_RIFLEMAN_5 
SLOT_RIFLEMAN_6 
SLOT_RIFLEMAN_7 
SLOT_RIFLEMAN_8 
SLOT_MORTAR_1 
SLOT_MORTAR_2 
SLOT_MORTAR_3 
SLOT_MORTAR_4 
SLOT_MARINE_1 
SLOT_MARINE_2 
SLOT_MARINE_3 
SLOT_MARINE_4 
SLOT_SERGEANT_1 
SLOT_SERGEANT_2 
MAX_SLOTS 

Definition at line 259 of file boss_icecrown_gunship_battle.cpp.

◆ Spells

enum Spells
Enumerator
SPELL_FRIENDLY_BOSS_DAMAGE_MOD 
SPELL_CHECK_FOR_PLAYERS 
SPELL_GUNSHIP_FALL_TELEPORT 
SPELL_TELEPORT_PLAYERS_ON_RESET_A 
SPELL_TELEPORT_PLAYERS_ON_RESET_H 
SPELL_TELEPORT_PLAYERS_ON_VICTORY 
SPELL_ACHIEVEMENT 
SPELL_AWARD_REPUTATION_BOSS_KILL 
SPELL_BATTLE_FURY 
SPELL_RENDING_THROW 
SPELL_CLEAVE 
SPELL_TASTE_OF_BLOOD 
SPELL_MELEE_TARGETING_ON_SKYBREAKER 
SPELL_MELEE_TARGETING_ON_ORGRIMS_HAMMER 
SPELL_EXPLOSION_WIPE 
SPELL_EXPLOSION_VICTORY 
SPELL_TELEPORT_TO_ENEMY_SHIP 
SPELL_BATTLE_EXPERIENCE 
SPELL_EXPERIENCED 
SPELL_VETERAN 
SPELL_ELITE 
SPELL_ADDS_BERSERK 
SPELL_SHADOW_CHANNELING 
SPELL_BELOW_ZERO 
SPELL_SHOOT 
SPELL_HURL_AXE 
SPELL_BURNING_PITCH_A 
SPELL_BURNING_PITCH_H 
SPELL_BURNING_PITCH 
SPELL_ROCKET_ARTILLERY_A 
SPELL_ROCKET_ARTILLERY_H 
SPELL_BURNING_PITCH_DAMAGE_A 
SPELL_BURNING_PITCH_DAMAGE_H 
SPELL_DESPERATE_RESOLVE 
SPELL_BLADESTORM 
SPELL_WOUNDING_STRIKE 
SPELL_LOCK_PLAYERS_AND_TAP_CHEST 
SPELL_ON_SKYBREAKER_DECK 
SPELL_ON_ORGRIMS_HAMMER_DECK 
SPELL_ROCKET_PACK_DAMAGE 
SPELL_ROCKET_BURST 
SPELL_ROCKET_PACK_USEABLE 
SPELL_OVERHEAT 
SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO 
SPELL_EJECT_ALL_PASSENGERS_WIPE 

Definition at line 116 of file boss_icecrown_gunship_battle.cpp.

◆ Texts

enum Texts
Enumerator
SAY_SAURFANG_INTRO_1 
SAY_SAURFANG_INTRO_2 
SAY_SAURFANG_INTRO_3 
SAY_SAURFANG_INTRO_4 
SAY_SAURFANG_INTRO_5 
SAY_SAURFANG_INTRO_6 
SAY_SAURFANG_INTRO_A 
SAY_SAURFANG_BOARD 
SAY_SAURFANG_ENTER_SKYBREAKER 
SAY_SAURFANG_AXETHROWERS 
SAY_SAURFANG_ROCKETEERS 
SAY_SAURFANG_MAGES 
SAY_SAURFANG_VICTORY 
SAY_SAURFANG_WIPE 
SAY_MURADIN_INTRO_1 
SAY_MURADIN_INTRO_2 
SAY_MURADIN_INTRO_3 
SAY_MURADIN_INTRO_4 
SAY_MURADIN_INTRO_5 
SAY_MURADIN_INTRO_6 
SAY_MURADIN_INTRO_7 
SAY_MURADIN_INTRO_H 
SAY_MURADIN_BOARD 
SAY_MURADIN_ENTER_ORGRIMMS_HAMMER 
SAY_MURADIN_RIFLEMAN 
SAY_MURADIN_MORTAR 
SAY_MURADIN_SORCERERS 
SAY_MURADIN_VICTORY 
SAY_MURADIN_WIPE 
SAY_ZAFOD_ROCKET_PACK_ACTIVE 
SAY_ZAFOD_ROCKET_PACK_DISABLED 
SAY_OVERHEAT 

Definition at line 42 of file boss_icecrown_gunship_battle.cpp.

Function Documentation

◆ AddSC_boss_icecrown_gunship_battle()

void AddSC_boss_icecrown_gunship_battle ( )

Definition at line 2194 of file boss_icecrown_gunship_battle.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ MuradinExitPath

G3D::Vector3 const MuradinExitPath[]
Initial value:
=
{
{ 8.130936f, -0.2699585f, 20.31728f },
{ 6.380936f, -0.2699585f, 20.31728f },
{ 3.507703f, 0.02986573f, 20.78463f },
{ -2.767633f, 3.743143f, 20.37663f },
{ -4.017633f, 4.493143f, 20.12663f },
{ -7.242224f, 6.856013f, 20.03468f },
{ -7.742224f, 8.606013f, 20.78468f },
{ -7.992224f, 9.856013f, 21.28468f },
{ -12.24222f, 23.10601f, 21.28468f },
{ -14.88477f, 25.20844f, 21.59985f },
}

Definition at line 228 of file boss_icecrown_gunship_battle.cpp.

◆ OrgrimsHammerAddsSpawnPos

Position const OrgrimsHammerAddsSpawnPos = { 60.728395f, 0.0f, 38.93467f, float(M_PI) }

Definition at line 218 of file boss_icecrown_gunship_battle.cpp.

◆ OrgrimsHammerSlotInfo

SlotInfo const OrgrimsHammerSlotInfo[MAX_SLOTS]

Definition at line 346 of file boss_icecrown_gunship_battle.cpp.

◆ OrgrimsHammerTeleportExit

Position const OrgrimsHammerTeleportExit = { 7.461699f, 0.158853f, 35.72989f, 0.0f }

Definition at line 222 of file boss_icecrown_gunship_battle.cpp.

◆ OrgrimsHammerTeleportPortal

Position const OrgrimsHammerTeleportPortal = { 47.550990f, -0.101778f, 37.61111f, 0.0f }

Definition at line 225 of file boss_icecrown_gunship_battle.cpp.

◆ SaurfangExitPath

G3D::Vector3 const SaurfangExitPath[]
Initial value:
=
{
{ 30.43987f, 0.1475817f, 36.10674f },
{ 21.36141f, -3.056458f, 35.42970f },
{ 19.11141f, -3.806458f, 35.42970f },
{ 19.01736f, -3.299440f, 35.39428f },
{ 18.6747f, -5.862823f, 35.66611f },
{ 18.6747f, -7.862823f, 35.66611f },
{ 18.1747f, -17.36282f, 35.66611f },
{ 18.1747f, -22.61282f, 35.66611f },
{ 17.9247f, -24.36282f, 35.41611f },
{ 17.9247f, -26.61282f, 35.66611f },
{ 17.9247f, -27.86282f, 35.66611f },
{ 17.9247f, -29.36282f, 35.66611f },
{ 15.33203f, -30.42621f, 35.93796f }
}

Definition at line 242 of file boss_icecrown_gunship_battle.cpp.

◆ SkybreakerAddsSpawnPos

Position const SkybreakerAddsSpawnPos = { 15.91131f, 0.0f, 20.4628f, float(M_PI) }

Definition at line 217 of file boss_icecrown_gunship_battle.cpp.

◆ SkybreakerSlotInfo

SlotInfo const SkybreakerSlotInfo[MAX_SLOTS]

Definition at line 312 of file boss_icecrown_gunship_battle.cpp.

◆ SkybreakerTeleportExit

Position const SkybreakerTeleportExit = { -17.55738f, -0.090421f, 21.18366f, 0.0f }

Definition at line 226 of file boss_icecrown_gunship_battle.cpp.

◆ SkybreakerTeleportPortal

Position const SkybreakerTeleportPortal = { 6.666975f, 0.013001f, 20.87888f, 0.0f }

Definition at line 221 of file boss_icecrown_gunship_battle.cpp.