Scripts/TheEye: Update Kael'thas Sunstrider's script

Closes #4180
Closes #4181
Closes #8479
Updates #1885

(cherry picked from commit fe07614916)

# Conflicts:
#	src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
This commit is contained in:
Nyeriah
2015-08-21 22:57:29 -03:00
committed by MitchesD
parent 59742469fb
commit 07c10ded2e
4 changed files with 713 additions and 843 deletions

View File

@@ -0,0 +1,10 @@
DELETE FROM `spell_script_names` WHERE `spell_id` = 35941 AND `ScriptName` = 'spell_kael_gravity_lapse';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (35941, 'spell_kael_gravity_lapse');
UPDATE `gameobject_template` SET `flags` = `flags`|33 WHERE `entry` = 184069;
UPDATE `creature` SET `spawntimesecs` = 604800 WHERE `guid` IN (12567, 12568, 12569, 12570);
DELETE FROM `creature_text` WHERE `entry` = 19622 AND `groupid` = 14;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(19622, 14, 0, '%s begins to cast Pyroblast!', 41, 0, 100, 0, 0, 0, 20775, 0, 'kaelthas EMOTE_PYROBLAST');

File diff suppressed because it is too large Load Diff

View File

@@ -34,6 +34,21 @@ EndScriptData */
3 - Void Reaver event
*/
DoorData const doorData[] =
{
{ GO_ARCANE_DOOR_LEFT, DATA_KAELTHAS, DOOR_TYPE_ROOM, BOUNDARY_SW },
{ GO_ARCANE_DOOR_RIGHT, DATA_KAELTHAS, DOOR_TYPE_ROOM, BOUNDARY_SE },
{ 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
};
ObjectData const gameObjectData[] =
{
{ GO_KAEL_STATUE_RIGHT, DATA_KAEL_STATUE_RIGHT },
{ GO_KAEL_STATUE_LEFT, DATA_KAEL_STATUE_LEFT },
{ GO_TEMPEST_BRIDDGE_WINDOW, DATA_TEMPEST_BRIDGE_WINDOW },
{ 0, 0 } // END
};
class instance_the_eye : public InstanceMapScript
{
public:
@@ -45,8 +60,8 @@ class instance_the_eye : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
KaelthasEventPhase = 0;
LoadDoorData(doorData);
LoadObjectData(nullptr, gameObjectData);
}
ObjectGuid ThaladredTheDarkener;
@@ -56,7 +71,6 @@ class instance_the_eye : public InstanceMapScript
ObjectGuid Kaelthas;
ObjectGuid Astromancer;
ObjectGuid Alar;
uint8 KaelthasEventPhase;
void OnCreatureCreate(Creature* creature) override
{
@@ -102,28 +116,6 @@ class instance_the_eye : public InstanceMapScript
}
return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
{
switch (type)
{
case DATA_KAELTHASEVENT:
KaelthasEventPhase = data;
break;
default:
break;
}
}
uint32 GetData(uint32 type) const override
{
switch (type)
{
case DATA_KAELTHASEVENT:
return KaelthasEventPhase;
}
return 0;
}
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -33,10 +33,14 @@ enum DataTypes
DATA_ASTROMANCER = 4,
DATA_GRANDASTROMANCERCAPERNIAN = 5,
DATA_KAELTHASEVENT = 6,
DATA_LORDSANGUINAR = 7,
DATA_MASTERENGINEERTELONICUS = 8,
DATA_THALADREDTHEDARKENER = 9
DATA_LORDSANGUINAR = 6,
DATA_MASTERENGINEERTELONICUS = 7,
DATA_THALADREDTHEDARKENER = 8,
// Additional Data
DATA_KAEL_STATUE_LEFT = 9,
DATA_KAEL_STATUE_RIGHT = 10,
DATA_TEMPEST_BRIDGE_WINDOW = 11
};
enum CreatureIds
@@ -50,4 +54,13 @@ enum CreatureIds
NPC_ALAR = 19514
};
enum GameObjectIds
{
GO_TEMPEST_BRIDDGE_WINDOW = 184069,
GO_KAEL_STATUE_RIGHT = 184596,
GO_KAEL_STATUE_LEFT = 184597,
GO_ARCANE_DOOR_LEFT = 184324,
GO_ARCANE_DOOR_RIGHT = 184325
};
#endif