AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_jarien_and_sothos.cpp File Reference
#include "CreatureScript.h"
#include "ScriptedCreature.h"
#include "TaskScheduler.h"
#include "stratholme.h"

Go to the source code of this file.

Classes

struct  boss_jarien
 
struct  boss_sothos
 

Enumerations

enum  Texts {
  SAY_SOTHOS_ON_SUMMON_0 = 0 ,
  SAY_SOTHOS_ON_SUMMON_1 = 1 ,
  EMOTE_SOTHOS_VENGEANCE = 2 ,
  SAY_JARIEN_ON_SUMMON_0 = 0 ,
  SAY_JARIEN_ON_SUMMON_1 = 1 ,
  SAY_JARIEN_ON_SUMMON_2 = 2 ,
  EMOTE_JARIEN_VENGEANCE = 3 ,
  SAY_SPIRIT_BOTH_DEAD = 0
}
 
enum  Spells {
  SPELL_MORTAL_STRIKE = 16856 ,
  SPELL_SHADOW_SHOCK = 22575 ,
  SPELL_CRIPPLE = 20812 ,
  SPELL_CLEAVE = 15284 ,
  SPELL_SHIELD_CHARGE = 15749 ,
  SPELL_SHIELD_SLAM = 15655 ,
  SPELL_SHIELD_BLOCK = 12169 ,
  SPELL_SHADOW_BOLT = 27646 ,
  SPELL_FEAR = 27641 ,
  SPELL_VENGEANCE = 27650
}
 
enum  Phases {
  PHASE_TALK = 0 ,
  PHASE_FIGHT
}
 
enum  Actions { ACTION_PARTNER_DEAD = 0 }
 

Functions

void HandleBothDead (Creature *creature, bool jarien, Unit *killer)
 
void AddSC_boss_jarien_and_sothos ()
 

Variables

const Position heirloomsPosition = { 3423.389893f, -3055.571045f, 136.49837f, 5.707379f }
 

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_PARTNER_DEAD 
66{
68};
@ ACTION_PARTNER_DEAD
Definition boss_jarien_and_sothos.cpp:67

◆ Phases

enum Phases
Enumerator
PHASE_TALK 
PHASE_FIGHT 
60{
61 PHASE_TALK = 0,
63};
@ PHASE_FIGHT
Definition boss_jarien_and_sothos.cpp:62
@ PHASE_TALK
Definition boss_jarien_and_sothos.cpp:61

◆ Spells

enum Spells
Enumerator
SPELL_MORTAL_STRIKE 
SPELL_SHADOW_SHOCK 
SPELL_CRIPPLE 
SPELL_CLEAVE 
SPELL_SHIELD_CHARGE 
SPELL_SHIELD_SLAM 
SPELL_SHIELD_BLOCK 
SPELL_SHADOW_BOLT 
SPELL_FEAR 
SPELL_VENGEANCE 
41{
42 // Jarien
43 SPELL_MORTAL_STRIKE = 16856,
44 SPELL_SHADOW_SHOCK = 22575,
45 SPELL_CRIPPLE = 20812,
46 SPELL_CLEAVE = 15284,
47
48 // Sothos
49 SPELL_SHIELD_CHARGE = 15749,
50 SPELL_SHIELD_SLAM = 15655,
51 SPELL_SHIELD_BLOCK = 12169,
52 SPELL_SHADOW_BOLT = 27646,
53 SPELL_FEAR = 27641,
54
55 // Both
56 SPELL_VENGEANCE = 27650
57};
@ SPELL_CLEAVE
Definition boss_jarien_and_sothos.cpp:46
@ SPELL_VENGEANCE
Definition boss_jarien_and_sothos.cpp:56
@ SPELL_CRIPPLE
Definition boss_jarien_and_sothos.cpp:45
@ SPELL_FEAR
Definition boss_jarien_and_sothos.cpp:53
@ SPELL_MORTAL_STRIKE
Definition boss_jarien_and_sothos.cpp:43
@ SPELL_SHIELD_CHARGE
Definition boss_jarien_and_sothos.cpp:49
@ SPELL_SHADOW_BOLT
Definition boss_jarien_and_sothos.cpp:52
@ SPELL_SHIELD_SLAM
Definition boss_jarien_and_sothos.cpp:50
@ SPELL_SHIELD_BLOCK
Definition boss_jarien_and_sothos.cpp:51
@ SPELL_SHADOW_SHOCK
Definition boss_jarien_and_sothos.cpp:44

◆ Texts

enum Texts
Enumerator
SAY_SOTHOS_ON_SUMMON_0 
SAY_SOTHOS_ON_SUMMON_1 
EMOTE_SOTHOS_VENGEANCE 
SAY_JARIEN_ON_SUMMON_0 
SAY_JARIEN_ON_SUMMON_1 
SAY_JARIEN_ON_SUMMON_2 
EMOTE_JARIEN_VENGEANCE 
SAY_SPIRIT_BOTH_DEAD 
24{
25 // Sothos
29
30 // Jarien
35
36 // Spirit
38};
@ SAY_JARIEN_ON_SUMMON_2
Definition boss_jarien_and_sothos.cpp:33
@ SAY_SOTHOS_ON_SUMMON_1
Definition boss_jarien_and_sothos.cpp:27
@ SAY_SPIRIT_BOTH_DEAD
Definition boss_jarien_and_sothos.cpp:37
@ EMOTE_SOTHOS_VENGEANCE
Definition boss_jarien_and_sothos.cpp:28
@ SAY_SOTHOS_ON_SUMMON_0
Definition boss_jarien_and_sothos.cpp:26
@ SAY_JARIEN_ON_SUMMON_1
Definition boss_jarien_and_sothos.cpp:32
@ SAY_JARIEN_ON_SUMMON_0
Definition boss_jarien_and_sothos.cpp:31
@ EMOTE_JARIEN_VENGEANCE
Definition boss_jarien_and_sothos.cpp:34

Function Documentation

◆ AddSC_boss_jarien_and_sothos()

void AddSC_boss_jarien_and_sothos ( )
361{
364}
#define RegisterStratholmeCreatureAI(ai_name)
Definition stratholme.h:114
Definition boss_jarien_and_sothos.cpp:105
Definition boss_jarien_and_sothos.cpp:230

References RegisterStratholmeCreatureAI.

Referenced by AddEasternKingdomsScripts().

◆ HandleBothDead()

void HandleBothDead ( Creature creature,
bool  jarien,
Unit killer 
)
73{
74 // Spirit talk
75 if (jarien)
76 {
77 if (Creature* spirit = creature->FindNearestCreature(NPC_SPIRIT_OF_JARIEN, 100.f))
78 {
79 spirit->AttackStop();
80 spirit->SetReactState(REACT_PASSIVE);
81 spirit->AI()->Talk(SAY_SPIRIT_BOTH_DEAD);
82 }
83 }
84 else
85 {
86 if (Creature* spirit = creature->FindNearestCreature(NPC_SPIRIT_OF_SOTHOS, 100.f))
87 {
88 spirit->AttackStop();
89 spirit->SetReactState(REACT_PASSIVE);
90 spirit->AI()->Talk(SAY_SPIRIT_BOTH_DEAD);
91 }
92 }
93
94 // chest spawn
96 {
97 chest->setActive(true);
98 chest->SetGoState(GO_STATE_READY);
99 chest->SetLootState(GO_READY);
100 chest->SetUInt32Value(GAMEOBJECT_FACTION, 35);
101 }
102}
@ GO_STATE_READY
Definition GameObjectData.h:690
@ GO_READY
Definition GameObject.h:111
@ REACT_PASSIVE
Definition Unit.h:548
@ GAMEOBJECT_FACTION
Definition UpdateFields.h:402
const Position heirloomsPosition
Definition boss_jarien_and_sothos.cpp:70
Definition Creature.h:43
Definition GameObject.h:120
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition Object.cpp:2459
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime, bool checkTransport=true, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
Definition Object.cpp:2382
@ NPC_SPIRIT_OF_JARIEN
Definition stratholme.h:55
@ NPC_SPIRIT_OF_SOTHOS
Definition stratholme.h:56
@ GO_JARIEN_AND_SOTHOS_HEIRLOOMS
Definition stratholme.h:79
float GetPositionZ() const
Definition Position.h:123
float GetOrientation() const
Definition Position.h:124
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122

References WorldObject::FindNearestCreature(), GAMEOBJECT_FACTION, Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), GO_JARIEN_AND_SOTHOS_HEIRLOOMS, GO_READY, GO_STATE_READY, heirloomsPosition, NPC_SPIRIT_OF_JARIEN, NPC_SPIRIT_OF_SOTHOS, REACT_PASSIVE, SAY_SPIRIT_BOTH_DEAD, and WorldObject::SummonGameObject().

Referenced by boss_jarien::JustDied(), and boss_sothos::JustDied().

Variable Documentation

◆ heirloomsPosition

const Position heirloomsPosition = { 3423.389893f, -3055.571045f, 136.49837f, 5.707379f }
70{ 3423.389893f, -3055.571045f, 136.49837f, 5.707379f };

Referenced by HandleBothDead().