mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Scripts/Deadmines: implement Helix Gearbreaker encounter
This commit is contained in:
63
sql/updates/world/4.3.4/custom_2018_02_17_00_world.sql
Normal file
63
sql/updates/world/4.3.4/custom_2018_02_17_00_world.sql
Normal file
@@ -0,0 +1,63 @@
|
||||
-- Template Updates
|
||||
-- Helix Gearbreaker
|
||||
UPDATE `creature_template` SET `scriptname`= 'boss_helix_gearbreaker', `flags_extra`= `flags_extra`|1 WHERE `entry`= 47296;
|
||||
-- Lumbering Oaf
|
||||
UPDATE `creature_template` SET `scriptname`= 'npc_helix_lumbering_oaf' WHERE `entry`= 47297;
|
||||
UPDATE `creature_template` SET `minlevel`= 87, `maxlevel`= 87 WHERE `entry`= 48939;
|
||||
-- Sticky Bomb
|
||||
UPDATE `creature_template` SET `difficulty_entry_1`= 49134, `scriptname`= 'npc_helix_sticky_bomb' WHERE `entry`= 47314;
|
||||
UPDATE `creature_template` SET `minlevel`= 85, `maxlevel`= 85, `faction`= 14, `unit_flags`= 33554432 WHERE `entry`= 49134;
|
||||
-- Helix' Crew
|
||||
UPDATE `creature_template` SET `scriptname`= 'npc_helix_crew' WHERE `entry`= 49139;
|
||||
|
||||
-- Texts
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` IN (47296, 47297, 49139);
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `Comment`) VALUES
|
||||
-- Helix Gearbreaker
|
||||
(47296, 0, 0, 'The mistress will pay me handsomely for your heads!', 14, 0, 100, 0, 0, 20849, 47474, 'Helix Gearbreaker - Aggro'),
|
||||
(47296, 1, 0, 'Bombs away!', 14, 0, 100, 0, 0, 20847, 47475, 'Helix Gearbreaker - Bomb'),
|
||||
(47296, 2, 0, 'Ready Oafie? Throw!', 14, 0, 100, 0, 0, 20848, 47476, 'Helix Gearbreaker - Throw Helix'),
|
||||
(47296, 3, 0, 'Helix attaches a bomb to $n''s chest!', 41, 0, 100, 0, 0, 0, 47544, 'Helix Gearbreaker - Announce Bomb'),
|
||||
(47296, 4, 0, 'I didn''t need him! Not when I''ve got YOU oafs!', 14, 0, 100, 0, 0, 20846, 47573, 'Helix Gearbreaker - Oaf Death'),
|
||||
(47296, 5, 0, 'Only ten copper? You''re not even worth killing!', 14, 0, 100, 0, 0, 20845, 47574, 'Helix Gearbreaker - Slay'),
|
||||
(47296, 6, 0, 'The scales...have...tipped...', 14, 0, 100, 0, 0, 20844, 47575, 'Helix Gearbreaker - Death'),
|
||||
(47297, 0, 1, 'No...NO!', 14, 0, 100, 0, 0, 20854, 47480, 'Lumbering Oaf to Helix Gearbreaker'),
|
||||
(47297, 1, 2, 'OAF SMASH!!', 14, 0, 100, 0, 0, 0, 48117, 'Lumbering Oaf to Helix Gearbreaker'),
|
||||
(49139, 0, 0, 'Blowin'' em'' to bits, boss!', 12, 0, 100, 0, 0, 0, 49191, 'Helix Crew - Throw Bomb');
|
||||
|
||||
-- Spells
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_helix_throw_bomb_targeting',
|
||||
'spell_helix_sticky_bomb_periodic_trigger',
|
||||
'spell_helix_explode',
|
||||
'spell_helix_oaf_grab_targeting',
|
||||
'spell_helix_force_player_to_ride_oaf',
|
||||
'spell_helix_oaf_smash',
|
||||
'spell_helix_ride_face_targeting',
|
||||
'spell_helix_ride_vehicle',
|
||||
'spell_helix_ride_face_timer_aura',
|
||||
'spell_helix_chest_bomb_emote',
|
||||
'spell_helix_chest_bomb');
|
||||
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(88268, 'spell_helix_throw_bomb_targeting'),
|
||||
(88329, 'spell_helix_sticky_bomb_periodic_trigger'),
|
||||
(88321, 'spell_helix_explode'),
|
||||
(91567, 'spell_helix_explode'),
|
||||
(88974, 'spell_helix_explode'),
|
||||
(91566, 'spell_helix_explode'),
|
||||
(88289, 'spell_helix_oaf_grab_targeting'),
|
||||
(88278, 'spell_helix_force_player_to_ride_oaf'),
|
||||
(88300, 'spell_helix_oaf_smash'),
|
||||
(91568, 'spell_helix_oaf_smash'),
|
||||
(88349, 'spell_helix_ride_face_targeting'),
|
||||
(88360, 'spell_helix_ride_vehicle'),
|
||||
(88351, 'spell_helix_ride_face_timer_aura'),
|
||||
(91572, 'spell_helix_chest_bomb_emote'),
|
||||
(88352, 'spell_helix_chest_bomb');
|
||||
|
||||
-- Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceEntry`= 88295 AND `SourceTypeOrReferenceId`= 13;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ScriptName`, `Comment`) VALUES
|
||||
(13, 1, 88295, 0, 0, 31, 0, 3, 45979, 0, 0, 0, '', 'Charge - Target General Purpose Bunny'),
|
||||
(13, 1, 88295, 0, 0, 35, 0, 1, 20, 3, 0, 0, '', 'Charge - Target Distance Must be Higher than 15 yards');
|
||||
@@ -4144,6 +4144,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(2); // Combat Range
|
||||
});
|
||||
|
||||
// Helix Gearbreaker 88295
|
||||
// Fists of Frost
|
||||
ApplySpellFix({ 88295 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_100_YARDS);
|
||||
});
|
||||
|
||||
// END OF DEADMINES SPELLS
|
||||
|
||||
//
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@ enum DMDataTypes
|
||||
{
|
||||
// Encounters
|
||||
DATA_GLUBTOK = 0,
|
||||
DATA_HELUX_GEARBREAKER = 1,
|
||||
DATA_HELIX_GEARBREAKER = 1,
|
||||
DATA_FOE_REAPER_5000 = 2,
|
||||
DATA_ADMIRAL_RIPSNARL = 3,
|
||||
DATA_CAPTAIN_COOKIE = 4,
|
||||
@@ -35,12 +35,14 @@ enum DMDataTypes
|
||||
|
||||
DATA_TEAM_IN_INSTANCE = 6,
|
||||
DATA_FIREWALL_PLATTER = 7,
|
||||
DATA_LUMBERING_OAF = 8
|
||||
};
|
||||
|
||||
enum DMCreatures
|
||||
{
|
||||
// Bosses
|
||||
BOSS_GLUBTOK = 47162,
|
||||
BOSS_HELIX_GEARBREAKER = 47296,
|
||||
|
||||
// Horde Creatures
|
||||
NPC_SLINKY_SHARPSHIV = 46906,
|
||||
@@ -68,6 +70,9 @@ enum DMCreatures
|
||||
NPC_GENERAL_PURPOSE_BUNNY_L2 = 47242,
|
||||
NPC_FIRE_BLOSSOM_BUNNY = 47282,
|
||||
NPC_FROST_BLOSSOM_BUNNY = 47284,
|
||||
NPC_LUMBERING_OAF = 47297,
|
||||
NPC_HELIX_CREW = 49139,
|
||||
NPC_STICKY_BOMB = 47314
|
||||
};
|
||||
|
||||
enum DMGameObjects
|
||||
@@ -76,7 +81,8 @@ enum DMGameObjects
|
||||
GO_IRONCLAD_DOOR = 16397,
|
||||
GO_DEFIAS_CANNON = 16398,
|
||||
GO_DOOR_LEVER = 101833,
|
||||
GO_MR_SMITE_CHEST = 144111
|
||||
GO_MAST_ROOM_DOOR = 16400,
|
||||
GO_HEAVY_DOOR = 17153
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,10 @@
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ BOSS_GLUBTOK, DATA_GLUBTOK },
|
||||
{ 0, 0 }, // END
|
||||
{ BOSS_GLUBTOK, DATA_GLUBTOK },
|
||||
{ BOSS_HELIX_GEARBREAKER, DATA_HELIX_GEARBREAKER },
|
||||
{ NPC_LUMBERING_OAF, DATA_LUMBERING_OAF },
|
||||
{ 0, 0 }, // END
|
||||
};
|
||||
|
||||
ObjectData const gameobjectData[] =
|
||||
@@ -35,8 +37,10 @@ ObjectData const gameobjectData[] =
|
||||
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
{ GO_FACTORY_DOOR, DATA_GLUBTOK, DOOR_TYPE_PASSAGE },
|
||||
{ 0, 0, DOOR_TYPE_ROOM }, // END
|
||||
{ GO_FACTORY_DOOR, DATA_GLUBTOK, DOOR_TYPE_PASSAGE },
|
||||
{ GO_MAST_ROOM_DOOR, DATA_HELIX_GEARBREAKER, DOOR_TYPE_PASSAGE },
|
||||
{ GO_HEAVY_DOOR, DATA_HELIX_GEARBREAKER, DOOR_TYPE_ROOM },
|
||||
{ 0, 0, DOOR_TYPE_ROOM }, // END
|
||||
};
|
||||
|
||||
class instance_deadmines : public InstanceMapScript
|
||||
@@ -94,6 +98,14 @@ class instance_deadmines : public InstanceMapScript
|
||||
if (Creature* glubtok = GetCreature(DATA_GLUBTOK))
|
||||
glubtok->AI()->JustSummoned(creature);
|
||||
break;
|
||||
case NPC_STICKY_BOMB:
|
||||
if (Creature* helix = GetCreature(DATA_HELIX_GEARBREAKER))
|
||||
helix->AI()->JustSummoned(creature);
|
||||
break;
|
||||
case NPC_LUMBERING_OAF:
|
||||
if (creature->isDead() && GetBossState(DATA_HELIX_GEARBREAKER) != DONE)
|
||||
creature->Respawn();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -135,7 +147,6 @@ class instance_deadmines : public InstanceMapScript
|
||||
|
||||
protected:
|
||||
uint32 _teamInInstance;
|
||||
GuidSet _arcaneBeamBunnyGUIDList;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ void AddSC_instance_blackwing_lair();
|
||||
void AddSC_deadmines(); //Deadmines
|
||||
void AddSC_instance_deadmines();
|
||||
void AddSC_boss_glubtok();
|
||||
void AddSC_boss_helix_gearbreaker();
|
||||
void AddSC_gilneas_c1(); //Gilneas
|
||||
void AddSC_gnomeregan(); //Gnomeregan
|
||||
void AddSC_instance_gnomeregan();
|
||||
@@ -272,6 +273,7 @@ void AddEasternKingdomsScripts()
|
||||
AddSC_deadmines(); //Deadmines
|
||||
AddSC_instance_deadmines();
|
||||
AddSC_boss_glubtok();
|
||||
AddSC_boss_helix_gearbreaker();
|
||||
AddSC_gilneas_c1(); //Gilneas
|
||||
AddSC_gnomeregan(); //Gnomeregan
|
||||
AddSC_instance_gnomeregan();
|
||||
|
||||
Reference in New Issue
Block a user