Scripts/Mardum: Implement Quest "Enter the Illidari: Coilskar" (#29345)

This commit is contained in:
Naddley
2023-10-02 18:52:34 +02:00
committed by GitHub
parent 9c0bfc7c8c
commit 4537b37738
2 changed files with 217 additions and 0 deletions
@@ -0,0 +1,139 @@
SET @CGUID := 6000139;
SET @NPCTEXTID := 560007;
-- Creature
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+1;
INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `PhaseId`, `PhaseGroup`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `unit_flags2`, `unit_flags3`, `VerifiedBuild`) VALUES
(@CGUID+0, 99917, 1481, 7705, 7740, '0', 5464, 0, 0, 1, 756.76739501953125, 2401.420166015625, -60.9138259887695312, 1.067818880081176757, 120, 0, 0, 27954, 0, 0, NULL, NULL, NULL, NULL, 51536), -- Sevis Brightflame (Area: Molten Shore - Difficulty: 0) CreateObject1
(@CGUID+1, 99914, 1481, 7705, 7740, '0', 5461, 0, 0, 0, 758.97222900390625, 2403.007080078125, -60.9143829345703125, 1.19526827335357666, 120, 0, 0, 2485, 3801, 0, NULL, NULL, NULL, NULL, 51536); -- Ashtongue Mystic (Area: Molten Shore - Difficulty: 0) CreateObject1
DELETE FROM `creature_addon` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+1;
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvpFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(@CGUID+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); -- Sevis Brightflame
-- Creature Template
UPDATE `creature_template` SET `ScriptName` = 'npc_sevis_brightflame_coilskar_gateway_private' WHERE `entry` = 99917;
-- Creature Template Addon
DELETE FROM `creature_template_addon` WHERE `entry` = 99914;
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvpFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(99914, 0, 0, 8, 0, 0, 1, 0, 0, 0, 0, 0, 0, ''); -- Ashtongue Mystic
-- Creature text
DELETE FROM `creature_text` WHERE `CreatureID` = 99917;
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `SoundPlayType`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(99917, 0, 0, '$n, hurry! You don\'t have much time.', 12, 0, 100, 3, 0, 55345, 0, 101658, 5, 'Sevis Brightflame to Player'),
(99917, 1, 0, 'Sevis looks down at the dying broken mystic.', 16, 0, 100, 3, 0, 55345, 0, 101659, 5, 'Sevis Brightflame to Player'),
(99917, 2, 0, 'I will see you at the final gateway.', 12, 0, 100, 1, 0, 55347, 1, 101662, 0, 'Sevis Brightflame to Player');
-- Creature Movement
DELETE FROM `creature_template_movement` WHERE `CreatureId` = 99914;
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES
(99914, 0, 0, 1, 1, 0, 0, NULL);
-- Objective completion effect
DELETE FROM `quest_objectives_completion_effect` WHERE `ObjectiveID` = 280770;
INSERT INTO `quest_objectives_completion_effect` (`ObjectiveID`, `GameEventID`, `SpellID`, `ConversationID`, `UpdatePhaseShift`, `UpdateZoneAuras`) VALUES
(280770, NULL, NULL, NULL, 1, 0);
-- Gossip & text
DELETE FROM `npc_text` WHERE `ID` = @NPCTEXTID+0;
INSERT INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES
(@NPCTEXTID+0, 1, 0, 0, 0, 0, 0, 0, 0, 101660, 0, 0, 0, 0, 0, 0, 0, 51536); -- 99917 (Sevis Brightflame)
DELETE FROM `gossip_menu` WHERE (`MenuID`=19017 AND `TextID`=@NPCTEXTID+0);
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
(19017, @NPCTEXTID+0, 51536); -- 99917 (Sevis Brightflame)
-- Scene
DELETE FROM `scene_template` WHERE `SceneId`=1077;
INSERT INTO `scene_template` (`SceneId`, `Flags`, `ScriptPackageID`, `Encrypted`) VALUES
(1077, 20, 1468, 0);
Update `scene_template` SET `ScriptName` = 'scene_enter_the_illidari_coilskar' WHERE `SceneId` = 1077;
-- Serverside Spell
DELETE FROM `serverside_spell` WHERE `Id` = 184562;
INSERT INTO `serverside_spell` (`Id`, `DifficultyID`, `CategoryId`, `Dispel`, `Mechanic`, `Attributes`, `AttributesEx`, `AttributesEx2`, `AttributesEx3`, `AttributesEx4`, `AttributesEx5`, `AttributesEx6`, `AttributesEx7`, `AttributesEx8`, `AttributesEx9`, `AttributesEx10`, `AttributesEx11`, `AttributesEx12`, `AttributesEx13`, `AttributesEx14`, `Stances`, `StancesNot`, `Targets`, `TargetCreatureType`, `RequiresSpellFocus`, `FacingCasterFlags`, `CasterAuraState`, `TargetAuraState`, `ExcludeCasterAuraState`, `ExcludeTargetAuraState`, `CasterAuraSpell`, `TargetAuraSpell`, `ExcludeCasterAuraSpell`, `ExcludeTargetAuraSpell`, `CasterAuraType`, `TargetAuraType`, `ExcludeCasterAuraType`, `ExcludeTargetAuraType`, `CastingTimeIndex`, `RecoveryTime`, `CategoryRecoveryTime`, `StartRecoveryCategory`, `StartRecoveryTime`, `InterruptFlags`, `AuraInterruptFlags1`, `AuraInterruptFlags2`, `ChannelInterruptFlags1`, `ChannelInterruptFlags2`, `ProcFlags`, `ProcFlags2`, `ProcChance`, `ProcCharges`, `ProcCooldown`, `ProcBasePPM`, `MaxLevel`, `BaseLevel`, `SpellLevel`, `DurationIndex`, `RangeIndex`, `Speed`, `LaunchDelay`, `StackAmount`, `EquippedItemClass`, `EquippedItemSubClassMask`, `EquippedItemInventoryTypeMask`, `ContentTuningId`, `SpellName`, `ConeAngle`, `ConeWidth`, `MaxTargetLevel`, `MaxAffectedTargets`, `SpellFamilyName`, `SpellFamilyFlags1`, `SpellFamilyFlags2`, `SpellFamilyFlags3`, `SpellFamilyFlags4`, `DmgClass`, `PreventionType`, `AreaGroupId`, `SchoolMask`, `ChargeCategoryId`) VALUES
(184562, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 'Enter the Illidari: Coilskar - Legion Gateway Kill Credit', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
DELETE FROM `serverside_spell_effect` WHERE `SpellID` = 184562 AND `EffectIndex` IN (0, 1);
INSERT INTO `serverside_spell_effect` (`SpellID`, `EffectIndex`, `DifficultyID`, `Effect`, `EffectAura`, `EffectAmplitude`, `EffectAttributes`, `EffectAuraPeriod`, `EffectBonusCoefficient`, `EffectChainAmplitude`, `EffectChainTargets`, `EffectItemType`, `EffectMechanic`, `EffectPointsPerResource`, `EffectPosFacing`, `EffectRealPointsPerLevel`, `EffectTriggerSpell`, `BonusCoefficientFromAP`, `PvpMultiplier`, `Coefficient`, `Variance`, `ResourceCoefficient`, `GroupSizeBasePointsCoefficient`, `EffectBasePoints`, `EffectMiscValue1`, `EffectMiscValue2`, `EffectRadiusIndex1`, `EffectRadiusIndex2`, `EffectSpellClassMask1`, `EffectSpellClassMask2`, `EffectSpellClassMask3`, `EffectSpellClassMask4`, `ImplicitTarget1`, `ImplicitTarget2`) VALUES
(184562, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94406, 0, 0, 0, 0, 0, 0, 0, 1, 0),
(184562, 1, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0);
-- Phasing
DELETE FROM `phase_area` WHERE `PhaseId` IN (5464, 5461) AND `AreaId` = 7705;
INSERT INTO `phase_area` (`AreaId`, `PhaseId`, `Comment`) VALUES
(7705, 5464, 'Sevis Brightflame at Coilskar Gateway'),
(7705, 5461, 'Ashtongue Mystic (for sacrifice) at Coilskar Gateway');
-- Condition
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=14 AND `SourceGroup` = 19015 AND `SourceEntry` = 27769); -- Ashtongue Mystic text after sacrifice
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(14, 19015, 27769, 0, 0, 48, 0, 280770, 0, 1, 0, 0, 0, '', 'Show gossip text if player has quest objective done: Soul sacrificed');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=15 AND `SourceGroup` = 19015 AND `SourceEntry` = 0); -- Ashtongue Mystic gossip menu option
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(15, 19015, 0, 0, 0, 48, 0, 280770, 0, 1, 1, 0, 0, '', 'Show gossip menu option if player has not quest objective done: Soul sacrificed');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=14 AND `SourceGroup` = 19017 AND `SourceEntry` = 27773); -- Sevis Brightflame text after sacrifice
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(14, 19017, 27773, 0, 0, 48, 0, 280770, 0, 1, 0, 0, 0, '', 'Show gossip text if player has quest objective done: Soul sacrificed');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=13 AND `SourceGroup` = 1 AND `SourceEntry` = 191664);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 191664, 0, 0, 31, 0, 3, 24021, 0, 0, 0, 0, '', 'Spell: Enter the Illidari: Shivarra - Soul Missiles 02 - can only hit "ELM general purpose bunny"');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=26 AND `SourceGroup` = 5464 AND `SourceEntry` = 0); -- Sevis Brightflame
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUES
(26, 5464, 0, 0, 0, 47, 0, 40379, 8, 0, 0, 'Apply Phase 5464 if Quest 40379 is in progress'),
(26, 5464, 0, 0, 0, 48, 0, 280771, 0, 1, 1, 'Apply Phase 5464 if Questobjective 280771 (Coilskar forces) is not rewarded');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=26 AND `SourceGroup` = 5461 AND `SourceEntry` = 0); -- Ashtongue Mystic
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUES
(26, 5461, 0, 0, 0, 47, 0, 40379, 2|8|64, 0, 0, 'Apply Phase 5461 if Quest 40379 is complete | in progress | rewarded'),
(26, 5461, 0, 0, 0, 48, 0, 280770, 0, 1, 1, 'Apply Phase 5461 if Questobjective 280770 (Soul sacrificed) is not rewarded');
-- Ashtongue Mystic smart ai
SET @ENTRY := 99914;
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @ENTRY;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 62, 0, 100, 0, 19015, 0, 0, 0, 86, 196724, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On gossip action Mystic, thank you for you... (0) from menu 19015 selected - Gossip player: Cast spell 196724 at Self'),
(@ENTRY, 0, 1, 0, 62, 0, 100, 0, 19015, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On gossip action Mystic, thank you for you... (0) from menu 19015 selected - Gossip player: Close gossip'),
(@ENTRY, 0, 2, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, 9991400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On just summoned - Self: Start timed action list id #Ashtongue Mystic #0 (9991400) (update out of combat)');
-- Timed list 9991400 smart ai
SET @ENTRY := 9991400;
DELETE FROM `smart_scripts` WHERE `source_type` = 9 AND `entryOrGuid` = @ENTRY;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 137, 25111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'After 0 seconds - Self: Plays SpellVisual with SpellVisualKitId: 25111, KitType: 0 for 0 ms'),
(@ENTRY, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 128, 9256, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'After 0 seconds - Self: Plays Anim with ID 9256'),
(@ENTRY, 9, 2, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 85, 159474, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'After 1 seconds - Self: Cast spell 159474 on self'),
(@ENTRY, 9, 3, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 11, 191664, 0, 0, 0, 0, 0, 10, 7000364, 24021, 0, 0, 0, 0, 0, 'After 1 seconds - cast: (Enter the Illidari: Shivarra - Soul Missiles 02) - to Entry/Guid'),
(@ENTRY, 9, 4, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 11, 191664, 0, 0, 0, 0, 0, 10, 7000364, 24021, 0, 0, 0, 0, 0, 'After 2 seconds - cast: (Enter the Illidari: Shivarra - Soul Missiles 02) - to Entry/Guid'),
(@ENTRY, 9, 5, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 11, 191664, 0, 0, 0, 0, 0, 10, 7000364, 24021, 0, 0, 0, 0, 0, 'After 1 seconds - cast: (Enter the Illidari: Shivarra - Soul Missiles 02) - to Entry/Guid');
-- SendEvent: 47548
SET @EVENTID := 47548;
DELETE FROM `event_script_names` WHERE `Id` = @EVENTID;
INSERT INTO `event_script_names` (`Id`, `ScriptName`) VALUES
(@EVENTID, 'SmartEventTrigger');
DELETE FROM `smart_scripts` WHERE `source_type` = 3 AND `entryOrGuid` = @EVENTID;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@EVENTID, 3, 0, 0, 87, 0, 100, 0, 0, 0, 0, 0, 33, 99914, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On SendEvent: 47548 - reward QuestObjective "Soul sacrificed" - to Invoker'),
(@EVENTID, 3, 1, 0, 87, 0, 100, 0, 0, 0, 0, 0, 12, 99914, 3, 60000, 0, 1, 0, 8, 0, 0, 0, 758.9722, 2403.0070, -60.91438, 1.1952, 'On SendEvent: 47548 - spawn Ashtongue Mystic - to position');
-- Path for Sevis Brightflame Coilskar Gateway
SET @ENTRY := 99917;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_data` WHERE `id`= @PATH;
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`) VALUES
(@PATH, 0, 768.1684, 2414.826, -60.3881, NULL, 0, 1),
(@PATH, 1, 795.434, 2450.884, -58.21667, NULL, 0, 1),
(@PATH, 2, 806.4601, 2463.714, -58.40237, NULL, 0, 1),
(@PATH, 3, 818.092, 2477.028, -59.66295, NULL, 0, 1);
@@ -854,6 +854,82 @@ struct at_enter_the_illidari_ashtongue_allari_killcredit : AreaTriggerAI
}
};
enum ETICoilskarIntroData
{
NPC_SEVIS_BRIGHTFLAME_COILSKAR = 99917,
SAY_SEVIS_SAY_MEET_AT_LAST_GATEWAY = 2,
PATH_SEVIS_BRIGHTFLAME_COILSKAR = 9991700
};
// 1077 - Enter the Illidari: Coilskar
class scene_enter_the_illidari_coilskar : public SceneScript
{
public:
scene_enter_the_illidari_coilskar() : SceneScript("scene_enter_the_illidari_coilskar") { }
void OnSceneStart(Player* player, uint32 /*sceneInstanceID*/, SceneTemplate const* /*sceneTemplate*/) override
{
PhasingHandler::OnConditionChange(player);
Creature* sevisObject = GetClosestCreatureWithOptions(player, 30.0f, { .CreatureId = NPC_SEVIS_BRIGHTFLAME_COILSKAR, .IgnorePhases = true });
if (!sevisObject)
return;
sevisObject->SummonPersonalClone(sevisObject->GetPosition(), TEMPSUMMON_MANUAL_DESPAWN, 0s, 0, 0, player);
}
};
// 99917 - Sevis Brightflame (Coilskar Gateway)
struct npc_sevis_brightflame_coilskar_gateway_private : public ScriptedAI
{
npc_sevis_brightflame_coilskar_gateway_private(Creature* creature) : ScriptedAI(creature) { }
void JustAppeared() override
{
TempSummon* summon = me->ToTempSummon();
if (!summon)
return;
Unit* summoner = summon->GetSummonerUnit();
if (!summoner)
return;
me->SetFacingToObject(summoner);
me->DespawnOrUnsummon(14s);
_scheduler.Schedule(1s, [this](TaskContext task)
{
Talk(SAY_SEVIS_SAY_MEET_AT_LAST_GATEWAY, me);
task.Schedule(2s, [this](TaskContext task)
{
me->SendPlaySpellVisualKit(SPELL_VISUAL_KIT_SEVIS_MOUNT, 0, 0);
me->SetMountDisplayId(DISPLAY_ID_SEVIS_MOUNT);
task.Schedule(3s, [this](TaskContext /*task*/)
{
me->GetMotionMaster()->MovePath(PATH_SEVIS_BRIGHTFLAME_COILSKAR, false);
});
});
});
}
void UpdateAI(uint32 diff) override
{
_scheduler.Update(diff);
}
private:
TaskScheduler _scheduler;
};
CreatureAI* SevisBrightflameCoilskarGatewayAISelector(Creature* creature)
{
if (creature->IsPrivateObject())
return new npc_sevis_brightflame_coilskar_gateway_private(creature);
return new NullCreatureAI(creature);
};
void AddSC_zone_mardum()
{
// Creature
@@ -868,6 +944,7 @@ void AddSC_zone_mardum()
// AISelector
new FactoryCreatureScript<CreatureAI, &KaynSunfuryNearLegionBannerAISelector>("npc_kayn_sunfury_ashtongue_intro");
new FactoryCreatureScript<CreatureAI, &SevisBrightflameAshtongueGatewayAISelector>("npc_sevis_brightflame_ashtongue_gateway_private");
new FactoryCreatureScript<CreatureAI, &SevisBrightflameCoilskarGatewayAISelector>("npc_sevis_brightflame_coilskar_gateway_private");
// AreaTrigger
RegisterAreaTriggerAI(at_enter_the_illidari_ashtongue_allari_killcredit);
@@ -878,6 +955,7 @@ void AddSC_zone_mardum()
// Scene
new scene_demonhunter_intro();
new scene_enter_the_illidari_ashtongue();
new scene_enter_the_illidari_coilskar();
// Spells
RegisterSpellScript(spell_demon_hunter_intro_aura);