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
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
{
|
||||
GRAND_WARLOCK_ALYTHESS = 25166,
|
||||
MOB_SHADOW_IMAGE = 25214,
|
||||
LADY_SACROLASH = 25165
|
||||
};
|
||||
|
||||
struct boss_sacrolashAI : public ScriptedAI
|
||||
{
|
||||
boss_sacrolashAI(Creature *c) : ScriptedAI(c)
|
||||
|
||||
@@ -79,16 +79,6 @@ enum Spells
|
||||
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
|
||||
{
|
||||
PHASE_NONE,
|
||||
|
||||
@@ -24,7 +24,7 @@ EndScriptData */
|
||||
#include "ScriptedPch.h"
|
||||
#include "sunwell_plateau.h"
|
||||
|
||||
enum Quotes
|
||||
enum Yells
|
||||
{
|
||||
//Kalecgos dragon form
|
||||
SAY_EVIL_AGGRO = -1580000,
|
||||
@@ -47,10 +47,10 @@ enum Quotes
|
||||
SAY_SATH_SPELL2 = -1580013,
|
||||
SAY_SATH_SLAY1 = -1580014,
|
||||
SAY_SATH_SLAY2 = -1580015,
|
||||
SAY_SATH_ENRAGE = -1580016
|
||||
SAY_SATH_ENRAGE = -1580016,
|
||||
};
|
||||
|
||||
enum SpellIds
|
||||
enum Spells
|
||||
{
|
||||
AURA_SUNWELL_RADIANCE = 45769,
|
||||
AURA_SPECTRAL_EXHAUSTION = 44867,
|
||||
@@ -76,16 +76,10 @@ enum SpellIds
|
||||
SPELL_REVITALIZE = 45027
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
{
|
||||
MOB_KALECGOS = 24850,
|
||||
MOB_KALEC = 24891,
|
||||
MOB_SATHROVARR = 24892
|
||||
};
|
||||
enum SWPActions
|
||||
{
|
||||
DO_ENRAGE = 1,
|
||||
DO_BANISH = 2
|
||||
DO_BANISH = 2,
|
||||
};
|
||||
|
||||
#define GO_FAILED "You are unable to use this currently."
|
||||
@@ -114,7 +108,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
pInstance = c->GetInstanceData();
|
||||
SathGUID = 0;
|
||||
DoorGUID = 0;
|
||||
JustReseted = false;
|
||||
bJustReset = false;
|
||||
me->setActive(true);
|
||||
SpellEntry *TempSpell = GET_SPELL(SPELL_SPECTRAL_BLAST);
|
||||
if (TempSpell)
|
||||
@@ -136,7 +130,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
bool isFriendly;
|
||||
bool isEnraged;
|
||||
bool isBanished;
|
||||
bool JustReseted;
|
||||
bool bJustReset;
|
||||
|
||||
uint64 SathGUID;
|
||||
uint64 DoorGUID;
|
||||
@@ -153,7 +147,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
Sath->AI()->EnterEvadeMode();
|
||||
|
||||
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->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
@@ -178,7 +172,7 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
|
||||
void EnterEvadeMode()
|
||||
{
|
||||
JustReseted = true;
|
||||
bJustReset = true;
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
|
||||
ScriptedAI::EnterEvadeMode();
|
||||
@@ -223,16 +217,16 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
}
|
||||
else
|
||||
{
|
||||
if (JustReseted)
|
||||
if (bJustReset)
|
||||
{
|
||||
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->SetVisibility(VISIBILITY_ON);
|
||||
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
||||
ResetTimer = 10000;
|
||||
JustReseted = false;
|
||||
bJustReset = false;
|
||||
} else ResetTimer -= diff;
|
||||
return;
|
||||
}
|
||||
@@ -325,17 +319,16 @@ struct boss_kalecgosAI : public ScriptedAI
|
||||
|
||||
void MoveInLineOfSight(Unit *who)
|
||||
{
|
||||
if (JustReseted)//boss is invisible, don't attack
|
||||
if (bJustReset)//boss is invisible, don't attack
|
||||
return;
|
||||
|
||||
if (!me->getVictim() && who->isTargetableForAttack() && (me->IsHostileTo(who)))
|
||||
{
|
||||
float attackRadius = me->GetAttackDistance(who);
|
||||
if (me->IsWithinDistInMap(who, attackRadius))
|
||||
{
|
||||
AttackStart(who);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
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{
|
||||
TIMER_DARKNESS = 0,
|
||||
TIMER_HUMANOIDES = 1,
|
||||
|
||||
@@ -6,32 +6,90 @@
|
||||
#define DEF_SUNWELLPLATEAU_H
|
||||
|
||||
/*** Encounters ***/
|
||||
#define DATA_KALECGOS_EVENT 1
|
||||
#define DATA_BRUTALLUS_EVENT 2
|
||||
#define DATA_FELMYST_EVENT 3
|
||||
#define DATA_EREDAR_TWINS_EVENT 4
|
||||
#define DATA_MURU_EVENT 5
|
||||
#define DATA_KILJAEDEN_EVENT 6
|
||||
enum Data
|
||||
{
|
||||
DATA_KALECGOS_EVENT,
|
||||
DATA_BRUTALLUS_EVENT,
|
||||
DATA_FELMYST_EVENT,
|
||||
DATA_EREDAR_TWINS_EVENT,
|
||||
DATA_MURU_EVENT,
|
||||
DATA_KILJAEDEN_EVENT,
|
||||
};
|
||||
|
||||
enum Data64
|
||||
{
|
||||
/*** Creatures ***/
|
||||
#define DATA_KALECGOS_DRAGON 7
|
||||
#define DATA_KALECGOS_HUMAN 8
|
||||
#define DATA_SATHROVARR 9
|
||||
#define DATA_BRUTALLUS 10
|
||||
#define DATA_MADRIGOSA 11
|
||||
#define DATA_FELMYST 12
|
||||
#define DATA_ALYTHESS 13
|
||||
#define DATA_SACROLASH 14
|
||||
#define DATA_MURU 15
|
||||
#define DATA_KILJAEDEN 16
|
||||
#define DATA_KILJAEDEN_CONTROLLER 17
|
||||
#define DATA_ANVEENA 18
|
||||
#define DATA_KALECGOS_KJ 19
|
||||
DATA_KALECGOS_DRAGON,
|
||||
DATA_KALECGOS_HUMAN,
|
||||
DATA_SATHROVARR,
|
||||
DATA_BRUTALLUS,
|
||||
DATA_MADRIGOSA,
|
||||
DATA_FELMYST,
|
||||
DATA_ALYTHESS,
|
||||
DATA_SACROLASH,
|
||||
DATA_MURU,
|
||||
DATA_KILJAEDEN,
|
||||
DATA_KILJAEDEN_CONTROLLER,
|
||||
DATA_ANVEENA,
|
||||
DATA_KALECGOS_KJ,
|
||||
|
||||
/*** 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 ***/
|
||||
#define DATA_PLAYER_GUID 21
|
||||
#endif
|
||||
DATA_PLAYER_GUID,
|
||||
};
|
||||
|
||||
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