TrinityCore
boss_headless_horseman.cpp File Reference
#include "scarlet_monastery.h"
#include "Containers.h"
#include "CreatureTextMgr.h"
#include "GameObject.h"
#include "GameObjectAI.h"
#include "Group.h"
#include "InstanceScript.h"
#include "LFGMgr.h"
#include "Map.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptMgr.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellInfo.h"
+ Include dependency graph for boss_headless_horseman.cpp:

Go to the source code of this file.

Classes

struct  npc_headless_horseman_head
 
struct  boss_headless_horseman
 
struct  npc_pulsing_pumpkin
 
struct  npc_flame_bunny
 
struct  npc_sir_thomas
 
struct  go_loosely_turned_soil
 
struct  go_headless_horseman_pumpkin
 
class  spell_headless_horseman_yell_timer
 
class  spell_headless_horseman_maniacal_laugh
 
class  spell_headless_horseman_head_reposition
 
class  spell_headless_horseman_send_head
 
class  spell_headless_horseman_head_periodic
 
class  spell_headless_horseman_command_head_request_body
 
class  spell_headless_horseman_return_head
 
class  spell_summon_pumpkin_burst_delay
 
class  spell_headless_horseman_head_is_dead
 
class  spell_headless_horseman_summoning_rhyme_aura
 
class  spell_headless_horseman_sprouting
 
class  spell_headless_horseman_wisp_teleport
 

Enumerations

enum  HeadlessHorsemanSays {
  SAY_LOST_HEAD = 0 , SAY_REQUEST_BODY = 1 , SAY_PLAYER_RISE = 2 , SAY_PLAYER_TIME = 3 ,
  SAY_PLAYER_DEATH = 4 , SAY_PLAYER_DEMISE = 5 , SAY_HORSEMAN_ENTRANCE = 0 , SAY_REJOINED = 1 ,
  SAY_CONFLAGRATION = 2 , SAY_SPROUTING_PUMPKINS = 3 , SAY_DEATH = 4 , SAY_KILL_PLAYER = 5
}
 
enum  HeadlessHorsemanSpells {
  SPELL_HEADLESS_HORSEMAN_C_HEAD_VISUAL = 42413 , SPELL_HEADLESS_HORSEMAN_ONKILL_PROC = 43877 , SPELL_HEADLESS_HORSEMAN_YELL_TIMER = 42432 , SPELL_HEADLESS_HORSEMAN_MANIACAL_LAUGH = 43893 ,
  SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_1 = 42547 , SPELL_HEADLESS_HORSEMAN_CLEAVE = 42587 , SPELL_HEADLESS_HORSEMAN_C_COMMAND_HEAD_REPOSITIONS = 42410 , SPELL_HEADLESS_HORSEMAN_C_SEND_HEAD = 42399 ,
  SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_CONFUSE = 43105 , SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_IMMUNE = 42556 , SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_TRANSFORM = 42403 , SPELL_HEADLESS_HORSEMAN_C_HEAD_STUN = 42408 ,
  SPELL_HEADLESS_HORSEMAN_C_HEAD_PERIODIC = 42603 , SPELL_HEADLESS_HORSEMAN_C_HEAL_BODY = 43306 , SPELL_HEADLESS_HORSEMAN_C_RETURN_HEAD = 42401 , SPELL_HEADLESS_HORSEMAN_SPEAKS = 43129 ,
  SPELL_HEADLESS_HORSEMAN_C_COMMAND_REQUEST_BODY = 43101 , SPELL_HEADLESS_HORSEMAN_C_HEAD_PAUSE = 42504 , SPELL_HEADLESS_HORSEMAN_C_HEAD_IS_DEAD = 42428 , SPELL_RAIN_OF_TREATS = 43344 ,
  SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_2 = 42548 , SPELL_HORSEMANS_CONFLAGRATION_SOUND = 48149 , SPELL_HORSEMANS_CONFLAGRATION_SOUND_THROTTLE = 48148 , SPELL_CONFLAGRATION = 42380 ,
  SPELL_HEADLESS_HORSEMAN_C_HORSEMANS_WHIRLWIND = 43116 , SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_3 = 42549 , SPELL_SUMMON_PUMPKIN_BURST_DELAY = 52236 , SPELL_HEADLESS_HORSEMAN_C_BODY_DEATH = 42429 ,
  SPELL_HEADLESS_HORSEMAN_BURNING_COSMETIC = 42971 , SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_AURA = 42879 , SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_SHAKE_MEDIUM = 42909 , SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_SHAKE_SMALL = 42910 ,
  SPELL_PUMPKIN_LIFE_CYCLE = 42280 , SPELL_HEADLESS_HORSEMAN_PUMPKIN_AURA = 42294 , SPELL_SPROUTING = 42281 , SPELL_SPROUT_BODY = 42285 ,
  SPELL_SQUASH_SOUL = 42514 , SPELL_HEADLESS_HORSEMAN_BURNING_COSMETIC_BASE = 43184 , SPELL_HEADLESS_HORSEMAN_FIRE_SIZE_BIG = 43148 , SPELL_HEADLESS_HORSEMAN_WISP_INVIS = 42823 ,
  SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_MISSILE = 42821 , SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_PORT = 42818 , SPELL_HEADLESS_HORSEMAN_C_GHOST_VISUAL = 42575 , SPELL_HEADLESS_HORSEMAN_C_ENRAGED_VISUAL = 42438
}
 
enum  HeadlessEvents {
  EVENT_HORSEMAN_CLEAVE = 1 , EVENT_START_NEXT_HEADLESS_PHASE , EVENT_START_HEAD_DELAYED , EVENT_STOP_HEAD_PHASE ,
  EVENT_RAIN_OF_TREATS , EVENT_START_NEXT_PHASE_DELAYED , EVENT_CONFLAGRATE , EVENT_SUMMON_PUMPKIN ,
  EVENT_RANDOM_LAUGH
}
 
enum  HeadlessActions {
  ACTION_HEAD_START_HEAD_PHASE = 1 , ACTION_HEAD_HP_67 , ACTION_HEAD_HP_34 , ACTION_HEAD_IS_DEAD ,
  ACTION_HORSEMAN_REQUEST_BODY , ACTION_HEAD_RETURN_TO_BODY , ACTION_HEAD_PLAYER_TEXT , ACTION_PUMPKIN_SPROUTING_FINISHED ,
  ACTION_OTHER_OBJECT_ACTIVE
}
 
enum  HeadlessHorsemanMisc {
  PHASE_1 = 1 , PHASE_2 = 2 , PHASE_3 = 3 , PHASE_LAST = 4 ,
  PHASE_DEAD = 5 , POINT_HORSEMAN_FINISH_PATH = 1 , POINT_HEAD = 2 , LFG_DUNGEONID_THE_HEADLESS_HORSEMAN = 285 ,
  SOUNDID_MANIACAL_LAUGH = 11975 , SOUNDID_MANIACAL_LAUGH_2 = 11965 , SOUNDID_MANIACAL_LAUGH_3 = 11976 , QUEST_CALL_THE_HEADLESS_HORSEMAN = 11405
}
 

Functions

void AddSC_boss_headless_horseman ()
 

Variables

uint32 const HorsemanPathSize = 20
 
Position const HeadlessHorsemanFlightPoints [HorsemanPathSize]
 
std::vector< uint32HeadlessHorsemanRandomLaughSound = { SOUNDID_MANIACAL_LAUGH, SOUNDID_MANIACAL_LAUGH_2, SOUNDID_MANIACAL_LAUGH_3 }
 
Position const GOPumpkinSpawnPosition = { 1776.27f, 1348.74f, 20.4116f, 6.27281f }
 
QuaternionData const GOPumpkinSpawnQuat = QuaternionData(0.0f, 0.0f, 0.00518764f, -0.999987f)
 
Position const GOSoilSpawnPosition = { 1765.28f, 1347.46f, 17.5514f, 0.100363f }
 
QuaternionData const GOSoilSpawnQuat = QuaternionData(0.0f, 0.0f, 0.0501604f, -0.998741f)
 

Enumeration Type Documentation

◆ HeadlessActions

Enumerator
ACTION_HEAD_START_HEAD_PHASE 
ACTION_HEAD_HP_67 
ACTION_HEAD_HP_34 
ACTION_HEAD_IS_DEAD 
ACTION_HORSEMAN_REQUEST_BODY 
ACTION_HEAD_RETURN_TO_BODY 
ACTION_HEAD_PLAYER_TEXT 
ACTION_PUMPKIN_SPROUTING_FINISHED 
ACTION_OTHER_OBJECT_ACTIVE 

Definition at line 126 of file boss_headless_horseman.cpp.

◆ HeadlessEvents

Enumerator
EVENT_HORSEMAN_CLEAVE 
EVENT_START_NEXT_HEADLESS_PHASE 
EVENT_START_HEAD_DELAYED 
EVENT_STOP_HEAD_PHASE 
EVENT_RAIN_OF_TREATS 
EVENT_START_NEXT_PHASE_DELAYED 
EVENT_CONFLAGRATE 
EVENT_SUMMON_PUMPKIN 
EVENT_RANDOM_LAUGH 

Definition at line 113 of file boss_headless_horseman.cpp.

◆ HeadlessHorsemanMisc

Enumerator
PHASE_1 
PHASE_2 
PHASE_3 
PHASE_LAST 
PHASE_DEAD 
POINT_HORSEMAN_FINISH_PATH 
POINT_HEAD 
LFG_DUNGEONID_THE_HEADLESS_HORSEMAN 
SOUNDID_MANIACAL_LAUGH 
SOUNDID_MANIACAL_LAUGH_2 
SOUNDID_MANIACAL_LAUGH_3 
QUEST_CALL_THE_HEADLESS_HORSEMAN 

Definition at line 139 of file boss_headless_horseman.cpp.

◆ HeadlessHorsemanSays

Enumerator
SAY_LOST_HEAD 
SAY_REQUEST_BODY 
SAY_PLAYER_RISE 
SAY_PLAYER_TIME 
SAY_PLAYER_DEATH 
SAY_PLAYER_DEMISE 
SAY_HORSEMAN_ENTRANCE 
SAY_REJOINED 
SAY_CONFLAGRATION 
SAY_SPROUTING_PUMPKINS 
SAY_DEATH 
SAY_KILL_PLAYER 

Definition at line 38 of file boss_headless_horseman.cpp.

◆ HeadlessHorsemanSpells

Enumerator
SPELL_HEADLESS_HORSEMAN_C_HEAD_VISUAL 
SPELL_HEADLESS_HORSEMAN_ONKILL_PROC 
SPELL_HEADLESS_HORSEMAN_YELL_TIMER 
SPELL_HEADLESS_HORSEMAN_MANIACAL_LAUGH 
SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_1 
SPELL_HEADLESS_HORSEMAN_CLEAVE 
SPELL_HEADLESS_HORSEMAN_C_COMMAND_HEAD_REPOSITIONS 
SPELL_HEADLESS_HORSEMAN_C_SEND_HEAD 
SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_CONFUSE 
SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_IMMUNE 
SPELL_HEADLESS_HORSEMAN_C_BODY_REGEN_TRANSFORM 
SPELL_HEADLESS_HORSEMAN_C_HEAD_STUN 
SPELL_HEADLESS_HORSEMAN_C_HEAD_PERIODIC 
SPELL_HEADLESS_HORSEMAN_C_HEAL_BODY 
SPELL_HEADLESS_HORSEMAN_C_RETURN_HEAD 
SPELL_HEADLESS_HORSEMAN_SPEAKS 
SPELL_HEADLESS_HORSEMAN_C_COMMAND_REQUEST_BODY 
SPELL_HEADLESS_HORSEMAN_C_HEAD_PAUSE 
SPELL_HEADLESS_HORSEMAN_C_HEAD_IS_DEAD 
SPELL_RAIN_OF_TREATS 
SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_2 
SPELL_HORSEMANS_CONFLAGRATION_SOUND 
SPELL_HORSEMANS_CONFLAGRATION_SOUND_THROTTLE 
SPELL_CONFLAGRATION 
SPELL_HEADLESS_HORSEMAN_C_HORSEMANS_WHIRLWIND 
SPELL_HEADLESS_HORSEMAN_C_BODY_STAGE_3 
SPELL_SUMMON_PUMPKIN_BURST_DELAY 
SPELL_HEADLESS_HORSEMAN_C_BODY_DEATH 
SPELL_HEADLESS_HORSEMAN_BURNING_COSMETIC 
SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_AURA 
SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_SHAKE_MEDIUM 
SPELL_HEADLESS_HORSEMAN_C_SUMMONING_RHYME_SHAKE_SMALL 
SPELL_PUMPKIN_LIFE_CYCLE 
SPELL_HEADLESS_HORSEMAN_PUMPKIN_AURA 
SPELL_SPROUTING 
SPELL_SPROUT_BODY 
SPELL_SQUASH_SOUL 
SPELL_HEADLESS_HORSEMAN_BURNING_COSMETIC_BASE 
SPELL_HEADLESS_HORSEMAN_FIRE_SIZE_BIG 
SPELL_HEADLESS_HORSEMAN_WISP_INVIS 
SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_MISSILE 
SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_PORT 
SPELL_HEADLESS_HORSEMAN_C_GHOST_VISUAL 
SPELL_HEADLESS_HORSEMAN_C_ENRAGED_VISUAL 

Definition at line 57 of file boss_headless_horseman.cpp.

Function Documentation

◆ AddSC_boss_headless_horseman()

void AddSC_boss_headless_horseman ( )

Definition at line 1020 of file boss_headless_horseman.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ GOPumpkinSpawnPosition

Position const GOPumpkinSpawnPosition = { 1776.27f, 1348.74f, 20.4116f, 6.27281f }

Definition at line 181 of file boss_headless_horseman.cpp.

◆ GOPumpkinSpawnQuat

QuaternionData const GOPumpkinSpawnQuat = QuaternionData(0.0f, 0.0f, 0.00518764f, -0.999987f)

Definition at line 182 of file boss_headless_horseman.cpp.

◆ GOSoilSpawnPosition

Position const GOSoilSpawnPosition = { 1765.28f, 1347.46f, 17.5514f, 0.100363f }

Definition at line 183 of file boss_headless_horseman.cpp.

◆ GOSoilSpawnQuat

QuaternionData const GOSoilSpawnQuat = QuaternionData(0.0f, 0.0f, 0.0501604f, -0.998741f)

Definition at line 184 of file boss_headless_horseman.cpp.

◆ HeadlessHorsemanFlightPoints

Position const HeadlessHorsemanFlightPoints[HorsemanPathSize]
Initial value:
=
{
{ 1765.00f, 1347.00f, 19.00f },
{ 1784.00f, 1346.80f, 25.40f },
{ 1803.30f, 1347.60f, 33.00f },
{ 1824.00f, 1350.00f, 42.60f },
{ 1838.80f, 1353.20f, 49.80f },
{ 1852.00f, 1357.60f, 55.70f },
{ 1861.30f, 1364.00f, 59.40f },
{ 1866.30f, 1374.80f, 61.70f },
{ 1864.00f, 1387.30f, 63.20f },
{ 1854.80f, 1399.40f, 64.10f },
{ 1844.00f, 1406.90f, 64.10f },
{ 1824.30f, 1411.40f, 63.30f },
{ 1801.00f, 1412.30f, 60.40f },
{ 1782.00f, 1410.10f, 55.50f },
{ 1770.50f, 1405.20f, 50.30f },
{ 1765.20f, 1400.70f, 46.60f },
{ 1761.40f, 1393.40f, 41.70f },
{ 1759.10f, 1386.70f, 36.60f },
{ 1757.80f, 1378.20f, 29.00f },
{ 1758.00f, 1367.00f, 19.51f }
}

Definition at line 156 of file boss_headless_horseman.cpp.

◆ HeadlessHorsemanRandomLaughSound

std::vector<uint32> HeadlessHorsemanRandomLaughSound = { SOUNDID_MANIACAL_LAUGH, SOUNDID_MANIACAL_LAUGH_2, SOUNDID_MANIACAL_LAUGH_3 }

Definition at line 180 of file boss_headless_horseman.cpp.

◆ HorsemanPathSize

uint32 const HorsemanPathSize = 20

Definition at line 155 of file boss_headless_horseman.cpp.