Update Script Sunwell/Kil Jaeden.
Fixes issue #291. Thanks Ille000. Code layout. Please also check the SQL proposed in comment 19 of issue #291. --HG-- branch : trunk
This commit is contained in:
@@ -84,13 +84,6 @@ enum Spells
|
|||||||
SPELL_BLAZE_BURN = 45246
|
SPELL_BLAZE_BURN = 45246
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
|
||||||
{
|
|
||||||
GRAND_WARLOCK_ALYTHESS = 25166,
|
|
||||||
MOB_SHADOW_IMAGE = 25214,
|
|
||||||
LADY_SACROLASH = 25165
|
|
||||||
};
|
|
||||||
|
|
||||||
struct boss_sacrolashAI : public ScriptedAI
|
struct boss_sacrolashAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
boss_sacrolashAI(Creature *c) : ScriptedAI(c)
|
boss_sacrolashAI(Creature *c) : ScriptedAI(c)
|
||||||
|
|||||||
@@ -79,16 +79,6 @@ enum Spells
|
|||||||
SPELL_CLOUD_SUMMON = 45884,
|
SPELL_CLOUD_SUMMON = 45884,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
|
||||||
{
|
|
||||||
MOB_DEAD = 25268,
|
|
||||||
MOB_FLIGHT_LEFT = 25357,
|
|
||||||
MOB_FLIGHT_RIGHT = 25358,
|
|
||||||
MOB_DEATH_CLOUD = 25703,
|
|
||||||
MOB_VAPOR = 25265,
|
|
||||||
MOB_VAPOR_TRAIL = 25267,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum PhaseFelmyst
|
enum PhaseFelmyst
|
||||||
{
|
{
|
||||||
PHASE_NONE,
|
PHASE_NONE,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ EndScriptData */
|
|||||||
#include "ScriptedPch.h"
|
#include "ScriptedPch.h"
|
||||||
#include "sunwell_plateau.h"
|
#include "sunwell_plateau.h"
|
||||||
|
|
||||||
enum Quotes
|
enum Yells
|
||||||
{
|
{
|
||||||
//Kalecgos dragon form
|
//Kalecgos dragon form
|
||||||
SAY_EVIL_AGGRO = -1580000,
|
SAY_EVIL_AGGRO = -1580000,
|
||||||
@@ -47,10 +47,10 @@ enum Quotes
|
|||||||
SAY_SATH_SPELL2 = -1580013,
|
SAY_SATH_SPELL2 = -1580013,
|
||||||
SAY_SATH_SLAY1 = -1580014,
|
SAY_SATH_SLAY1 = -1580014,
|
||||||
SAY_SATH_SLAY2 = -1580015,
|
SAY_SATH_SLAY2 = -1580015,
|
||||||
SAY_SATH_ENRAGE = -1580016
|
SAY_SATH_ENRAGE = -1580016,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellIds
|
enum Spells
|
||||||
{
|
{
|
||||||
AURA_SUNWELL_RADIANCE = 45769,
|
AURA_SUNWELL_RADIANCE = 45769,
|
||||||
AURA_SPECTRAL_EXHAUSTION = 44867,
|
AURA_SPECTRAL_EXHAUSTION = 44867,
|
||||||
@@ -76,16 +76,10 @@ enum SpellIds
|
|||||||
SPELL_REVITALIZE = 45027
|
SPELL_REVITALIZE = 45027
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
|
||||||
{
|
|
||||||
MOB_KALECGOS = 24850,
|
|
||||||
MOB_KALEC = 24891,
|
|
||||||
MOB_SATHROVARR = 24892
|
|
||||||
};
|
|
||||||
enum SWPActions
|
enum SWPActions
|
||||||
{
|
{
|
||||||
DO_ENRAGE = 1,
|
DO_ENRAGE = 1,
|
||||||
DO_BANISH = 2
|
DO_BANISH = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GO_FAILED "You are unable to use this currently."
|
#define GO_FAILED "You are unable to use this currently."
|
||||||
@@ -114,7 +108,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
SathGUID = 0;
|
SathGUID = 0;
|
||||||
DoorGUID = 0;
|
DoorGUID = 0;
|
||||||
JustReseted = false;
|
bJustReset = false;
|
||||||
me->setActive(true);
|
me->setActive(true);
|
||||||
SpellEntry *TempSpell = GET_SPELL(SPELL_SPECTRAL_BLAST);
|
SpellEntry *TempSpell = GET_SPELL(SPELL_SPECTRAL_BLAST);
|
||||||
if (TempSpell)
|
if (TempSpell)
|
||||||
@@ -136,7 +130,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
bool isFriendly;
|
bool isFriendly;
|
||||||
bool isEnraged;
|
bool isEnraged;
|
||||||
bool isBanished;
|
bool isBanished;
|
||||||
bool JustReseted;
|
bool bJustReset;
|
||||||
|
|
||||||
uint64 SathGUID;
|
uint64 SathGUID;
|
||||||
uint64 DoorGUID;
|
uint64 DoorGUID;
|
||||||
@@ -153,7 +147,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
Sath->AI()->EnterEvadeMode();
|
Sath->AI()->EnterEvadeMode();
|
||||||
|
|
||||||
me->setFaction(14);
|
me->setFaction(14);
|
||||||
if (!JustReseted)//first reset at create
|
if (!bJustReset) //first reset at create
|
||||||
{
|
{
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
||||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||||
@@ -178,7 +172,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
|
|
||||||
void EnterEvadeMode()
|
void EnterEvadeMode()
|
||||||
{
|
{
|
||||||
JustReseted = true;
|
bJustReset = true;
|
||||||
me->SetVisibility(VISIBILITY_OFF);
|
me->SetVisibility(VISIBILITY_OFF);
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
||||||
ScriptedAI::EnterEvadeMode();
|
ScriptedAI::EnterEvadeMode();
|
||||||
@@ -223,16 +217,16 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (JustReseted)
|
if (bJustReset)
|
||||||
{
|
{
|
||||||
if (ResetTimer <= diff)
|
if (ResetTimer <= diff)
|
||||||
{
|
{
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
|
||||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||||
me->SetVisibility(VISIBILITY_ON);
|
me->SetVisibility(VISIBILITY_ON);
|
||||||
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
||||||
ResetTimer = 10000;
|
ResetTimer = 10000;
|
||||||
JustReseted = false;
|
bJustReset = false;
|
||||||
} else ResetTimer -= diff;
|
} else ResetTimer -= diff;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -325,17 +319,16 @@ struct boss_kalecgosAI : public ScriptedAI
|
|||||||
|
|
||||||
void MoveInLineOfSight(Unit *who)
|
void MoveInLineOfSight(Unit *who)
|
||||||
{
|
{
|
||||||
if (JustReseted)//boss is invisible, don't attack
|
if (bJustReset)//boss is invisible, don't attack
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!me->getVictim() && who->isTargetableForAttack() && (me->IsHostileTo(who)))
|
if (!me->getVictim() && who->isTargetableForAttack() && (me->IsHostileTo(who)))
|
||||||
{
|
{
|
||||||
float attackRadius = me->GetAttackDistance(who);
|
float attackRadius = me->GetAttackDistance(who);
|
||||||
if (me->IsWithinDistInMap(who, attackRadius))
|
if (me->IsWithinDistInMap(who, attackRadius))
|
||||||
{
|
|
||||||
AttackStart(who);
|
AttackStart(who);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void DamageTaken(Unit *done_by, uint32 &damage)
|
void DamageTaken(Unit *done_by, uint32 &damage)
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -70,19 +70,6 @@ enum Spells
|
|||||||
SPELL_BLACKHOLE_GROW = 46228
|
SPELL_BLACKHOLE_GROW = 46228
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
|
||||||
{
|
|
||||||
CREATURE_DARKNESS = 25879,
|
|
||||||
CREATURE_DARK_FIENDS = 25744,
|
|
||||||
CREATURE_BERSERKER = 25798,
|
|
||||||
CREATURE_FURY_MAGE = 25799,
|
|
||||||
CREATURE_VOID_SENTINEL = 25772,
|
|
||||||
CREATURE_VOID_SPAWN = 25824,
|
|
||||||
CREATURE_BLACK_HOLE = 25855,
|
|
||||||
BOSS_MURU = 25741,
|
|
||||||
BOSS_ENTROPIUS = 25840
|
|
||||||
};
|
|
||||||
|
|
||||||
enum BossTimers{
|
enum BossTimers{
|
||||||
TIMER_DARKNESS = 0,
|
TIMER_DARKNESS = 0,
|
||||||
TIMER_HUMANOIDES = 1,
|
TIMER_HUMANOIDES = 1,
|
||||||
|
|||||||
@@ -6,32 +6,90 @@
|
|||||||
#define DEF_SUNWELLPLATEAU_H
|
#define DEF_SUNWELLPLATEAU_H
|
||||||
|
|
||||||
/*** Encounters ***/
|
/*** Encounters ***/
|
||||||
#define DATA_KALECGOS_EVENT 1
|
enum Data
|
||||||
#define DATA_BRUTALLUS_EVENT 2
|
{
|
||||||
#define DATA_FELMYST_EVENT 3
|
DATA_KALECGOS_EVENT,
|
||||||
#define DATA_EREDAR_TWINS_EVENT 4
|
DATA_BRUTALLUS_EVENT,
|
||||||
#define DATA_MURU_EVENT 5
|
DATA_FELMYST_EVENT,
|
||||||
#define DATA_KILJAEDEN_EVENT 6
|
DATA_EREDAR_TWINS_EVENT,
|
||||||
|
DATA_MURU_EVENT,
|
||||||
|
DATA_KILJAEDEN_EVENT,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum Data64
|
||||||
|
{
|
||||||
/*** Creatures ***/
|
/*** Creatures ***/
|
||||||
#define DATA_KALECGOS_DRAGON 7
|
DATA_KALECGOS_DRAGON,
|
||||||
#define DATA_KALECGOS_HUMAN 8
|
DATA_KALECGOS_HUMAN,
|
||||||
#define DATA_SATHROVARR 9
|
DATA_SATHROVARR,
|
||||||
#define DATA_BRUTALLUS 10
|
DATA_BRUTALLUS,
|
||||||
#define DATA_MADRIGOSA 11
|
DATA_MADRIGOSA,
|
||||||
#define DATA_FELMYST 12
|
DATA_FELMYST,
|
||||||
#define DATA_ALYTHESS 13
|
DATA_ALYTHESS,
|
||||||
#define DATA_SACROLASH 14
|
DATA_SACROLASH,
|
||||||
#define DATA_MURU 15
|
DATA_MURU,
|
||||||
#define DATA_KILJAEDEN 16
|
DATA_KILJAEDEN,
|
||||||
#define DATA_KILJAEDEN_CONTROLLER 17
|
DATA_KILJAEDEN_CONTROLLER,
|
||||||
#define DATA_ANVEENA 18
|
DATA_ANVEENA,
|
||||||
#define DATA_KALECGOS_KJ 19
|
DATA_KALECGOS_KJ,
|
||||||
|
|
||||||
/*** GameObjects ***/
|
/*** GameObjects ***/
|
||||||
#define DATA_GO_FORCEFIELD 20
|
DATA_GO_FORCEFIELD,
|
||||||
|
DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1,
|
||||||
|
DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2,
|
||||||
|
DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3,
|
||||||
|
DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4,
|
||||||
|
|
||||||
/*** Misc ***/
|
/*** Misc ***/
|
||||||
#define DATA_PLAYER_GUID 21
|
DATA_PLAYER_GUID,
|
||||||
#endif
|
};
|
||||||
|
|
||||||
|
enum Creatures
|
||||||
|
{
|
||||||
|
BOSS_MURU = 25741,
|
||||||
|
BOSS_ENTROPIUS = 25840,
|
||||||
|
MOB_KALECGOS = 24850,
|
||||||
|
MOB_KALEC = 24891,
|
||||||
|
MOB_SATHROVARR = 24892,
|
||||||
|
|
||||||
|
MOB_DEAD = 25268,
|
||||||
|
MOB_FLIGHT_LEFT = 25357,
|
||||||
|
MOB_FLIGHT_RIGHT = 25358,
|
||||||
|
MOB_DEATH_CLOUD = 25703,
|
||||||
|
MOB_VAPOR = 25265,
|
||||||
|
MOB_VAPOR_TRAIL = 25267,
|
||||||
|
|
||||||
|
MOB_GRAND_WARLOCK_ALYTHESS = 25166,
|
||||||
|
MOB_SHADOW_IMAGE = 25214,
|
||||||
|
MOB_LADY_SACROLASH = 25165,
|
||||||
|
|
||||||
|
CREATURE_ANVEENA = 26046, // Embodiment of the Sunwell
|
||||||
|
CREATURE_KALECGOS = 25319, // Helps the raid throughout the fight
|
||||||
|
CREATURE_PROPHET = 26246, // Outro
|
||||||
|
CREATURE_KILJAEDEN = 25315, // Give it to 'em KJ!
|
||||||
|
CREATURE_HAND_OF_THE_DECEIVER = 25588, // Adds found before KJ emerges
|
||||||
|
CREATURE_FELFIRE_PORTAL = 25603, // Portal spawned be Hand of the Deceivers
|
||||||
|
CREATURE_VOLATILE_FELFIRE_FIEND = 25598, // Fiends spawned by the above portal
|
||||||
|
CREATURE_ARMAGEDDON_TARGET = 25735, // This mob casts meteor on itself.. I think
|
||||||
|
CREATURE_SHIELD_ORB = 25502, // Shield orbs circle the room raining shadow bolts on raid
|
||||||
|
CREATURE_THE_CORE_OF_ENTROPIUS = 26262, // Used in the ending cinematic?
|
||||||
|
CREATURE_POWER_OF_THE_BLUE_DRAGONFLIGHT = 25653, // NPC that players possess when using the Orb of the Blue Dragonflight
|
||||||
|
CREATURE_SPIKE_TARGET1 = 30598, // Should summon these under Shadow Spike Channel on targets place
|
||||||
|
CREATURE_SPIKE_TARGET2 = 30614,
|
||||||
|
CREATURE_SINISTER_REFLECTION = 25708, // Sinister Relection spawnd on Phase swichtes
|
||||||
|
|
||||||
|
CREATURE_DARKNESS = 25879,
|
||||||
|
CREATURE_DARK_FIENDS = 25744,
|
||||||
|
CREATURE_BERSERKER = 25798,
|
||||||
|
CREATURE_FURY_MAGE = 25799,
|
||||||
|
CREATURE_VOID_SENTINEL = 25772,
|
||||||
|
CREATURE_VOID_SPAWN = 25824,
|
||||||
|
CREATURE_BLACK_HOLE = 25855,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum GameObjects
|
||||||
|
{
|
||||||
|
GAMEOBJECT_ORB_OF_THE_BLUE_DRAGONFLIGHT = 188415,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user