mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 10:05:32 +01:00
Scripts/BoT: initial work on Theralion and Valiona
Todo: *Valiona's Deep Breath mechanic and phase switch *Twilight Realm hostiles *Heroic abilities
This commit is contained in:
122
sql/updates/WIP/theralion_and_valiona.sql
Normal file
122
sql/updates/WIP/theralion_and_valiona.sql
Normal file
@@ -0,0 +1,122 @@
|
||||
-- Template Updates
|
||||
-- Theralion
|
||||
UPDATE `creature_template` SET `ScriptName`= 'boss_theralion', `flags_extra`= 512 WHERE `entry`= 45993;
|
||||
UPDATE `creature_template` SET `DamageModifier`= 80, `flags_extra`= 512 WHERE `entry` IN (45993);
|
||||
-- Valiona
|
||||
UPDATE `creature_template` SET `ScriptName`= 'boss_valiona', `flags_extra`= 512 WHERE `entry`= 45992;
|
||||
UPDATE `creature_template` SET `DamageModifier`= 80, `flags_extra`= 512 WHERE `entry` IN (45992);
|
||||
-- Valiona (Fire Dummy)
|
||||
UPDATE `creature_template` SET `flags_extra`= 128 WHERE `entry`= 46147;
|
||||
-- Theralion Flight Target Stalker
|
||||
UPDATE `creature_template` SET `InhabitType`= 4, `flags_extra`= 128 WHERE `entry`= 46364;
|
||||
-- Convective Flames
|
||||
UPDATE `creature_template` SET `unit_flags`= 33554432, `flags_extra`= 128, `InhabitType`= 13 WHERE `entry`= 46588;
|
||||
-- Dazzling Destruction Stalker
|
||||
UPDATE `creature_template` SET `unit_flags`= 33554432, `flags_extra`= 128, `InhabitType`= 13 WHERE `entry`= 46374;
|
||||
-- Fabolous Flames
|
||||
UPDATE `creature_template` SET `unit_flags`= 33554432, `flags_extra`= 128, `InhabitType`= 13 WHERE `entry`= 46448;
|
||||
|
||||
-- Template Addon
|
||||
DELETE FROM `creature_template_addon` WHERE `entry` IN (46374, 46448);
|
||||
INSERT INTO `creature_template_addon` (`entry`, `auras`) VALUES
|
||||
(46374, '86383'),
|
||||
(46448, '86506');
|
||||
|
||||
-- Areatriggers
|
||||
DELETE FROM `areatrigger_scripts` WHERE `entry`= 6442;
|
||||
INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES
|
||||
(6442, 'at_theralion_and_valiona_intro');
|
||||
|
||||
-- Correct Phasing for Theralion and Valiona
|
||||
UPDATE `creature` SET `PhaseId`= 0, `PhaseGroup`= 525 WHERE `id` IN (45992, 45993);
|
||||
|
||||
-- Creature Texts
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` IN (43324, 45992, 45993);
|
||||
-- Cho'Gall
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `comment`) VALUES
|
||||
(43324, 0, 0, 'Valiona, Theralion, put them in their place.', 14, 0, 100, 0, 0, 22063, 47518, 'Cho''gall - Theralion and Valiona Intro'),
|
||||
(43324, 1, 0, '(Come closer, closer. Let us see your faces. All will be humbled before his power.)', 14, 0, 100, 0, 0, 22064, 47538, 'Cho''gall - Theralion and Valiona Death'),
|
||||
-- Valiona
|
||||
(45992, 0, 0, 'Do as the master commands, Theralion! Kill them!', 14, 0, 100, 0, 0, 21894, 47523, 'Valiona - Intro 1'),
|
||||
(45992, 1, 0, 'You are worthless, Theralion!', 14, 0, 100, 0, 0, 21895, 47524, 'Valiona - Intro 2'),
|
||||
(45992, 2, 0, '|TInterface\\Icons\\spell_fire_twilightnova.blp:20|t%s casts |cFFFF0000|Hspell:86788|h[Blackout]|h|r!', 41, 0, 100, 0, 0, 0, 47624, 'Valiona'),
|
||||
(45992, 3, 0, '|TInterface\\Icons\\spell_fire_twilightfire.blp:20|t%s takes a |cFFFF0000|Hspell:86059|h[Deep Breath]|h|r!', 41, 0, 100, 0, 0, 21898, 46712, 'Valiona to Breath Flight Target Stalker'),
|
||||
(45992, 4, 0, 'Theralion, I will engulf the hallway. Cover their escape!', 14, 0, 100, 0, 0, 21898, 47961, 'Valiona to Breath Flight Target Stalker'),
|
||||
(45992, 5, 0, 'At least... Theralion dies with me...', 14, 0, 100, 0, 0, 21897, 47960, 'Valiona to Player'),
|
||||
-- Theralion
|
||||
(45993, 0, 0, 'The master was clearly speaking to you, Valiona. I am far too busy to attack ANYONE.', 14, 0, 100, 0, 0, 20300, 47521, 'Theralion - Intro 1'),
|
||||
(45993, 1, 0, 'How dare you call me worthless! You will see why I am mother''s favored child!', 14, 0, 100, 0, 0, 20301, 47522, 'Theralion - Intro 2'),
|
||||
(45993, 2, 0, 'You are not the boss of me, Valiona! I will engulf as I please!', 14, 0, 100, 0, 0, 20304, 47911, 'Theralion to Theralion Flight Target Stalker'),
|
||||
(45993, 3, 0, '|TInterface\\Icons\\spell_fire_twilightpyroblast.blp:20|t%s begins to cast |cFF00EEFF|Hspell:86408|h[Dazzling Destruction]|h|r!', 41, 0, 100, 0, 0, 0, 46714, 'Theralion to Theralion Flight Target Stalker'),
|
||||
(45993, 4, 0, '|TInterface\\Icons\\spell_holy_consumemagic.blp:20|t%s begins to cast |cFF00EEFF|Hspell:86622|h[Engulfing Magic]|h|r!', 41, 0, 100, 0, 0, 0, 46713, 'Theralion'),
|
||||
(45993, 5, 0, 'WRITHE IN AGONY!', 14, 0, 100, 0, 0, 20306, 47913, 'Theralion to Valiona');
|
||||
|
||||
-- Spells
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_valiona_blackout_dummy',
|
||||
'spell_valiona_blackout',
|
||||
'spell_valiona_devouring_flames_targeting',
|
||||
'spell_valiona_devouring_flames',
|
||||
'spell_valiona_twilight_meteorite_targeting',
|
||||
'spell_theralion_dazzling_destruction_targeting',
|
||||
'spell_theralion_dazzling_destruction_dummy',
|
||||
'spell_theralion_dazzling_destruction',
|
||||
'spell_theralion_dazzling_destruction_twilight_realm',
|
||||
'spell_theralion_twilight_shift',
|
||||
'spell_theralion_fabulous_flames_targeting',
|
||||
'spell_theralion_engulfing_magic_targeting',
|
||||
'spell_theralion_engulfing_magic');
|
||||
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(86673, 'spell_valiona_blackout_dummy'),
|
||||
(86788, 'spell_valiona_blackout'),
|
||||
(92876, 'spell_valiona_blackout'),
|
||||
(92877, 'spell_valiona_blackout'),
|
||||
(92878, 'spell_valiona_blackout'),
|
||||
(86832, 'spell_valiona_devouring_flames_targeting'),
|
||||
(86844, 'spell_valiona_devouring_flames'),
|
||||
(92872, 'spell_valiona_devouring_flames'),
|
||||
(92873, 'spell_valiona_devouring_flames'),
|
||||
(92874, 'spell_valiona_devouring_flames'),
|
||||
(88518, 'spell_valiona_twilight_meteorite_targeting'),
|
||||
(86380, 'spell_theralion_dazzling_destruction_targeting'),
|
||||
(92923, 'spell_theralion_dazzling_destruction_targeting'),
|
||||
(92924, 'spell_theralion_dazzling_destruction_targeting'),
|
||||
(92925, 'spell_theralion_dazzling_destruction_targeting'),
|
||||
(86408, 'spell_theralion_dazzling_destruction_dummy'),
|
||||
(86406, 'spell_theralion_dazzling_destruction'),
|
||||
(92926, 'spell_theralion_dazzling_destruction'),
|
||||
(92927, 'spell_theralion_dazzling_destruction'),
|
||||
(92928, 'spell_theralion_dazzling_destruction'),
|
||||
(93063, 'spell_theralion_dazzling_destruction_twilight_realm'),
|
||||
(88436, 'spell_theralion_twilight_shift'),
|
||||
(92892, 'spell_theralion_twilight_shift'),
|
||||
(92893, 'spell_theralion_twilight_shift'),
|
||||
(92894, 'spell_theralion_twilight_shift'),
|
||||
(86495, 'spell_theralion_fabulous_flames_targeting'),
|
||||
(86607, 'spell_theralion_engulfing_magic_targeting'),
|
||||
(92912, 'spell_theralion_engulfing_magic_targeting'),
|
||||
(92913, 'spell_theralion_engulfing_magic_targeting'),
|
||||
(92914, 'spell_theralion_engulfing_magic_targeting'),
|
||||
(86622, 'spell_theralion_engulfing_magic'),
|
||||
(95639, 'spell_theralion_engulfing_magic'),
|
||||
(95640, 'spell_theralion_engulfing_magic'),
|
||||
(95641, 'spell_theralion_engulfing_magic');
|
||||
|
||||
-- Conditions
|
||||
DELETE FROM `conditions` WHERE `SourceEntry` IN (90346, 90345, 86840, 86379, 86408, 86406, 92926, 92927, 92928) AND `SourceTypeOrReferenceId`= 13;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ScriptName`, `Comment`) VALUES
|
||||
(13, 1, 90346, 0, 0, 31, 0, 3, 45992, 0, 0, 0, '', 'Share Health - Target Valiona'),
|
||||
(13, 1, 90345, 0, 0, 31, 0, 3, 45993, 0, 0, 0, '', 'Share Health - Target Theralion'),
|
||||
(13, 1, 86840, 0, 0, 31, 0, 3, 46588, 0, 0, 0, '', 'Devouring Flames - Target Convective Flames'),
|
||||
(13, 1, 86379, 0, 0, 31, 0, 3, 46364, 0, 0, 0, '', 'Dazzling Destruction - Target Theralion Flight Target Stalker'),
|
||||
(13, 1, 86408, 0, 0, 31, 0, 3, 46374, 0, 0, 0, '', 'Dazzling Destruction - Target Dazzling Destruction Stalker'),
|
||||
(13, 2, 86406, 0, 0, 31, 0, 3, 46374, 0, 0, 0, '', 'Dazzling Destruction - Target Dazzling Destruction Stalker'),
|
||||
(13, 2, 92926, 0, 0, 31, 0, 3, 46374, 0, 0, 0, '', 'Dazzling Destruction - Target Dazzling Destruction Stalker'),
|
||||
(13, 2, 92927, 0, 0, 31, 0, 3, 46374, 0, 0, 0, '', 'Dazzling Destruction - Target Dazzling Destruction Stalker'),
|
||||
(13, 2, 92928, 0, 0, 31, 0, 3, 46374, 0, 0, 0, '', 'Dazzling Destruction - Target Dazzling Destruction Stalker');
|
||||
|
||||
-- Spell Procs
|
||||
DELETE FROM `spell_proc` WHERE `SpellId`= -86622;
|
||||
INSERT INTO `spell_proc` (`SpellId`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`) VALUES
|
||||
(-86622, 0x00055554, 1 | 2, 2, 0, 32);
|
||||
@@ -1671,10 +1671,6 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
|
||||
if (z < ground_z)
|
||||
z = ground_z;
|
||||
}
|
||||
|
||||
// Creatures that are simulating flight effects or actual flight should use HoverHeight
|
||||
if ((ToUnit() && (ToUnit()->IsFlying() || ToUnit()->IsHovering() || ToUnit()->IsLevitating())) && !ToUnit()->IsUnderWater())
|
||||
z += GetFloatValue(UNIT_FIELD_HOVERHEIGHT);
|
||||
break;
|
||||
}
|
||||
case TYPEID_PLAYER:
|
||||
|
||||
@@ -4185,6 +4185,34 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
|
||||
// ENDOF THE VORTEX PINNACLE SPELLS
|
||||
|
||||
//
|
||||
// BASTION OF TWILIGHT SPELLS
|
||||
//
|
||||
// Theralion and Valiona
|
||||
// Blackout
|
||||
ApplySpellFix({
|
||||
86825,
|
||||
92879,
|
||||
92880,
|
||||
92881
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SHARE_DAMAGE;
|
||||
});
|
||||
|
||||
// Twilight Meteorite
|
||||
ApplySpellFix({
|
||||
86013,
|
||||
92859,
|
||||
92860,
|
||||
92861
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SHARE_DAMAGE;
|
||||
});
|
||||
|
||||
// ENDOF BASTION OF TWILIGHT
|
||||
|
||||
//
|
||||
// DEADMINES SPELLS
|
||||
//
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2018 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ObjectMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "GameObject.h"
|
||||
#include "GameObjectAI.h"
|
||||
#include "Player.h"
|
||||
#include "bastion_of_twilight.h"
|
||||
|
||||
class at_theralion_and_valiona_intro : public AreaTriggerScript
|
||||
{
|
||||
public:
|
||||
at_theralion_and_valiona_intro() : AreaTriggerScript("at_theralion_and_valiona_intro") { }
|
||||
|
||||
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
instance->SetData(DATA_AT_THERALION_AND_VALIONA_INTRO, IN_PROGRESS);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_bastion_of_twilight()
|
||||
{
|
||||
new at_theralion_and_valiona_intro();
|
||||
}
|
||||
@@ -27,31 +27,37 @@ uint32 const EncounterCountHeroic = 5;
|
||||
enum BoTDataTypes
|
||||
{
|
||||
// Encounter Types
|
||||
DATA_HALFUS_WYRMBREAKER = 0,
|
||||
DATA_THERALION_AND_VALIONA = 1,
|
||||
DATA_ASCENDANT_COUNCIL = 2,
|
||||
DATA_CHOGALL = 3,
|
||||
DATA_SINESTRA = 4,
|
||||
DATA_HALFUS_WYRMBREAKER = 0,
|
||||
DATA_THERALION_AND_VALIONA = 1,
|
||||
DATA_ASCENDANT_COUNCIL = 2,
|
||||
DATA_CHOGALL = 3,
|
||||
DATA_SINESTRA = 4,
|
||||
|
||||
// Creature Types
|
||||
DATA_PROTO_BEHEMOTH = 5,
|
||||
DATA_THERALION = 6,
|
||||
DATA_VALIONA = 7,
|
||||
DATA_IGNACIOUS = 8,
|
||||
DATA_FELUDIUS = 9,
|
||||
DATA_TERRASTRA = 10,
|
||||
DATA_ARION = 11,
|
||||
DATA_ELEMENTIUM_MONSTROSITY = 12,
|
||||
DATA_PROTO_BEHEMOTH = 5,
|
||||
DATA_THERALION = 6,
|
||||
DATA_VALIONA = 7,
|
||||
DATA_IGNACIOUS = 8,
|
||||
DATA_FELUDIUS = 9,
|
||||
DATA_TERRASTRA = 10,
|
||||
DATA_ARION = 11,
|
||||
DATA_ELEMENTIUM_MONSTROSITY = 12,
|
||||
|
||||
// GameObject Types
|
||||
DATA_WHELP_CAGE = 13,
|
||||
DATA_WHELP_CAGE = 13,
|
||||
|
||||
// Areatriggers
|
||||
DATA_AT_HALFUS_INTRO = 14,
|
||||
DATA_AT_THERALION_AND_VALIONA_INTRO = 15,
|
||||
|
||||
// Encounter Related
|
||||
/*Halfus Wyrmbreaker*/
|
||||
DATA_UNRESPONSIVE_DRAGON_FIRST,
|
||||
DATA_UNRESPONSIVE_DRAGON_SECOND,
|
||||
DATA_CAST_DRAGON_BUFFS,
|
||||
DATA_OPEN_ORPHANED_EMERALD_WHELP_CAGE
|
||||
DATA_OPEN_ORPHANED_EMERALD_WHELP_CAGE,
|
||||
|
||||
/*Theralion and Valiona*/
|
||||
};
|
||||
|
||||
enum BoTDataStates
|
||||
@@ -60,36 +66,48 @@ enum BoTDataStates
|
||||
DRAGON_BUFFS_PROTO_BEHEMOTH,
|
||||
};
|
||||
|
||||
enum BoTAreatriggerIndex
|
||||
{
|
||||
AT_INDEX_HALFUS_WYRMBREAKER_INTRO = 1,
|
||||
AT_INDEX_THERALION_AND_VALIONA_INTRO = 2
|
||||
};
|
||||
|
||||
enum BoTCreatures
|
||||
{
|
||||
// Bosses
|
||||
BOSS_HALFUS_WYRMBREAKER = 44600,
|
||||
BOSS_THERALION = 45993,
|
||||
BOSS_VALIONA = 45992,
|
||||
BOSS_IGNACIOUS = 43686,
|
||||
BOSS_FELUDIUS = 43687,
|
||||
BOSS_TERRASTRA = 43689,
|
||||
BOSS_ARION = 43688,
|
||||
BOSS_ELEMENTIUM_MONSTROSITY = 43735,
|
||||
BOSS_CHOGALL = 43324,
|
||||
BOSS_SINESTRA = 45213,
|
||||
BOSS_HALFUS_WYRMBREAKER = 44600,
|
||||
BOSS_THERALION = 45993,
|
||||
BOSS_VALIONA = 45992,
|
||||
BOSS_IGNACIOUS = 43686,
|
||||
BOSS_FELUDIUS = 43687,
|
||||
BOSS_TERRASTRA = 43689,
|
||||
BOSS_ARION = 43688,
|
||||
BOSS_ELEMENTIUM_MONSTROSITY = 43735,
|
||||
BOSS_CHOGALL = 43324,
|
||||
BOSS_SINESTRA = 45213,
|
||||
|
||||
// Encounter related
|
||||
/*Halfus Wyrmbreaker*/
|
||||
NPC_PROTO_BEHEMOTH = 44687,
|
||||
NPC_NETHER_SCION = 44645,
|
||||
NPC_NETHER_SCION_ENCOUNTER = 44828,
|
||||
NPC_SLATE_DRAGON = 44652,
|
||||
NPC_SLATE_DRAGON_ENCOUNTER = 44829,
|
||||
NPC_STORM_RIDER = 44650,
|
||||
NPC_STORM_RIDER_ENCOUNTER = 44826,
|
||||
NPC_TIME_WARDEN = 44797,
|
||||
NPC_TIME_WARDEN_ENCOUNTER = 44653,
|
||||
NPC_ORPHANED_EMERALD_WELP = 44641,
|
||||
NPC_SPIKE = 44765,
|
||||
NPC_PROTO_BEHEMOTH = 44687,
|
||||
NPC_NETHER_SCION = 44645,
|
||||
NPC_NETHER_SCION_ENCOUNTER = 44828,
|
||||
NPC_SLATE_DRAGON = 44652,
|
||||
NPC_SLATE_DRAGON_ENCOUNTER = 44829,
|
||||
NPC_STORM_RIDER = 44650,
|
||||
NPC_STORM_RIDER_ENCOUNTER = 44826,
|
||||
NPC_TIME_WARDEN = 44797,
|
||||
NPC_TIME_WARDEN_ENCOUNTER = 44653,
|
||||
NPC_ORPHANED_EMERALD_WELP = 44641,
|
||||
NPC_SPIKE = 44765,
|
||||
|
||||
/*Theralion and Valiona*/
|
||||
NPC_THERALION_FLIGHT_TARGET_STALKER = 46364,
|
||||
NPC_CONVECTIVE_FLAMES = 46588,
|
||||
NPC_DAZZLING_DESTRUCTION_STALKER = 46374,
|
||||
NPC_FABULOUS_FLAMES = 46448,
|
||||
|
||||
// Generic Creatures
|
||||
NPC_INVISIBLE_STALKER = 42098
|
||||
NPC_INVISIBLE_STALKER = 42098
|
||||
};
|
||||
|
||||
enum BoTGameObjects
|
||||
@@ -106,13 +124,23 @@ enum BoTGameObjects
|
||||
|
||||
enum BoTActions
|
||||
{
|
||||
ACTION_ENABLE_MALEVOLENT_STRIKES = 1,
|
||||
ACTION_ENABLE_FRENZIED_ASSAULT = 2,
|
||||
ACTION_ENABLE_SHADOW_NOVA = 3,
|
||||
ACTION_ENABLE_FIREBALL_BARRAGE = 1,
|
||||
ACTION_ENABLE_SCORCHING_BREATH = 2,
|
||||
ACTION_CAST_DRAGONS_VENGEANCE = 3,
|
||||
ACTION_MOVE_OUT_OF_CAGE = 4
|
||||
// Halfus Wyrmbreaker
|
||||
ACTION_ENABLE_MALEVOLENT_STRIKES = 1,
|
||||
ACTION_ENABLE_FRENZIED_ASSAULT = 2,
|
||||
ACTION_ENABLE_SHADOW_NOVA = 3,
|
||||
ACTION_ENABLE_FIREBALL_BARRAGE = 1,
|
||||
ACTION_ENABLE_SCORCHING_BREATH = 2,
|
||||
ACTION_CAST_DRAGONS_VENGEANCE = 3,
|
||||
ACTION_MOVE_OUT_OF_CAGE = 4,
|
||||
|
||||
// Theralion and Valiona
|
||||
ACTION_START_ARGUMENT_INTRO = 1,
|
||||
|
||||
// Cho'Gall (Non-Boss version)
|
||||
ACTION_TALK_INTRO_HALFUS_WYRMBREAKER = 1,
|
||||
|
||||
// Cho'Gall (Boss)
|
||||
ACTION_TALK_INTRO_THERALION_AND_VALIONA = 1
|
||||
};
|
||||
|
||||
enum BoTEvents
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -69,6 +69,8 @@ uint32 HalfusDragonEntries[] =
|
||||
NPC_ORPHANED_EMERALD_WELP
|
||||
};
|
||||
|
||||
Position const BreathFlightTargetStalkerSortPos = { -740.677f, -592.328f, 859.455f };
|
||||
|
||||
class instance_bastion_of_twilight : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -126,6 +128,15 @@ class instance_bastion_of_twilight : public InstanceMapScript
|
||||
if (creature->GetPositionZ() < 850.0f)
|
||||
_dancingFlamesInvisibleStalkerGUIDs.insert(creature->GetGUID());
|
||||
break;
|
||||
case NPC_CONVECTIVE_FLAMES:
|
||||
if (Creature* valiona = GetCreature(DATA_VALIONA))
|
||||
valiona->AI()->JustSummoned(creature);
|
||||
break;
|
||||
case NPC_DAZZLING_DESTRUCTION_STALKER:
|
||||
case NPC_FABULOUS_FLAMES:
|
||||
if (Creature* theralion = GetCreature(DATA_THERALION))
|
||||
theralion->AI()->JustSummoned(creature);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -286,6 +297,29 @@ class instance_bastion_of_twilight : public InstanceMapScript
|
||||
if (orphanedEmeraldWhelp->GetEntry() == NPC_ORPHANED_EMERALD_WELP)
|
||||
orphanedEmeraldWhelp->AI()->DoAction(ACTION_MOVE_OUT_OF_CAGE);
|
||||
break;
|
||||
case DATA_AT_HALFUS_INTRO:
|
||||
if (_lastAreatriggerIndex < AT_INDEX_HALFUS_WYRMBREAKER_INTRO)
|
||||
{
|
||||
_lastAreatriggerIndex = AT_INDEX_HALFUS_WYRMBREAKER_INTRO;
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
case DATA_AT_THERALION_AND_VALIONA_INTRO:
|
||||
if (_lastAreatriggerIndex < AT_INDEX_THERALION_AND_VALIONA_INTRO)
|
||||
{
|
||||
if (Creature* chogall = GetCreature(DATA_CHOGALL))
|
||||
chogall->AI()->DoAction(ACTION_TALK_INTRO_THERALION_AND_VALIONA);
|
||||
|
||||
if (Creature* theralion = GetCreature(DATA_THERALION))
|
||||
theralion->AI()->DoAction(ACTION_START_ARGUMENT_INTRO);
|
||||
|
||||
if (Creature* valiona = GetCreature(DATA_VALIONA))
|
||||
valiona->AI()->DoAction(ACTION_START_ARGUMENT_INTRO);
|
||||
|
||||
_lastAreatriggerIndex = AT_INDEX_THERALION_AND_VALIONA_INTRO;
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@ void AddSC_boss_alizabal(); //Baradin Hold
|
||||
void AddSC_boss_occuthar();
|
||||
void AddSC_boss_pit_lord_argaloth();
|
||||
void AddSC_instance_baradin_hold();
|
||||
void AddSC_boss_halfus_wyrmbreaker(); //Bastion of Twilight
|
||||
void AddSC_bastion_of_twilight(); //Bastion of Twilight
|
||||
void AddSC_boss_halfus_wyrmbreaker();
|
||||
void AddSC_boss_theralion_and_valiona();
|
||||
void AddSC_instance_bastion_of_twilight();
|
||||
void AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
|
||||
void AddSC_boss_corla();
|
||||
@@ -235,7 +237,9 @@ void AddEasternKingdomsScripts()
|
||||
AddSC_boss_occuthar();
|
||||
AddSC_boss_pit_lord_argaloth();
|
||||
AddSC_instance_baradin_hold();
|
||||
AddSC_boss_halfus_wyrmbreaker(); //Bastion of Twilight
|
||||
AddSC_bastion_of_twilight(); //Bastion of Twilight
|
||||
AddSC_boss_halfus_wyrmbreaker();
|
||||
AddSC_boss_theralion_and_valiona();
|
||||
AddSC_instance_bastion_of_twilight();
|
||||
AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
|
||||
AddSC_boss_corla();
|
||||
|
||||
Reference in New Issue
Block a user