fix(Scripts/Ulduar): Flame Leviathan reset and visibility (#26379)
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
--
|
||||||
|
-- 62375 Gathering Speed is not removed by Evade
|
||||||
|
-- SPELL_ATTR0_CU_IGNORE_EVADE = 0x00000800
|
||||||
|
DELETE FROM `spell_custom_attr` WHERE `spell_id` = 62375;
|
||||||
|
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES (62375, 0x800);
|
||||||
|
|
||||||
|
-- Flame Leviathan
|
||||||
|
UPDATE `creature_template_addon` SET `visibilityDistanceType` = 4 WHERE (`entry` IN (33113, 33114, 33139, 34003, 34111, 33143));
|
||||||
|
|
||||||
|
-- Ulduar Colossus
|
||||||
|
UPDATE `creature_addon` SET `visibilityDistanceType`=4 WHERE `guid` IN (137476, 137477, 137478, 137479, 137480)
|
||||||
@@ -121,7 +121,6 @@ enum Events
|
|||||||
EVENT_MIMIRONS_INFERNO = 8,
|
EVENT_MIMIRONS_INFERNO = 8,
|
||||||
EVENT_THORIMS_HAMMER = 9,
|
EVENT_THORIMS_HAMMER = 9,
|
||||||
EVENT_SOUND_BEGINNING = 10,
|
EVENT_SOUND_BEGINNING = 10,
|
||||||
EVENT_POSITION_CHECK = 11,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Texts
|
enum Texts
|
||||||
@@ -209,13 +208,13 @@ struct boss_flame_leviathan : public BossAI
|
|||||||
void ScheduleEvents();
|
void ScheduleEvents();
|
||||||
void SummonTowerHelpers(uint8 towerId);
|
void SummonTowerHelpers(uint8 towerId);
|
||||||
|
|
||||||
// Original
|
|
||||||
void JustReachedHome() override
|
void JustReachedHome() override
|
||||||
{
|
{
|
||||||
_JustReachedHome();
|
_JustReachedHome();
|
||||||
// For achievement
|
// For achievement
|
||||||
instance->StorePersistentData(PERSISTENT_DATA_UNBROKEN, 0);
|
instance->StorePersistentData(PERSISTENT_DATA_UNBROKEN, 0);
|
||||||
me->setActive(false);
|
me->setActive(false);
|
||||||
|
me->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveInLineOfSight(Unit*) override {}
|
void MoveInLineOfSight(Unit*) override {}
|
||||||
@@ -380,14 +379,6 @@ struct boss_flame_leviathan : public BossAI
|
|||||||
|
|
||||||
switch (events.ExecuteEvent())
|
switch (events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
case EVENT_POSITION_CHECK:
|
|
||||||
if (me->GetPositionX() > 450 || me->GetPositionX() < 120)
|
|
||||||
{
|
|
||||||
EnterEvadeMode();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
events.Repeat(5s);
|
|
||||||
break;
|
|
||||||
case EVENT_PURSUE:
|
case EVENT_PURSUE:
|
||||||
Talk(FLAME_LEVIATHAN_SAY_PURSUE);
|
Talk(FLAME_LEVIATHAN_SAY_PURSUE);
|
||||||
me->CastSpell(me, SPELL_PURSUED, false);
|
me->CastSpell(me, SPELL_PURSUED, false);
|
||||||
@@ -577,7 +568,6 @@ void boss_flame_leviathan::ScheduleEvents()
|
|||||||
events.RescheduleEvent(EVENT_VENT, 20s);
|
events.RescheduleEvent(EVENT_VENT, 20s);
|
||||||
events.RescheduleEvent(EVENT_SPEED, 15s);
|
events.RescheduleEvent(EVENT_SPEED, 15s);
|
||||||
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10s);
|
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10s);
|
||||||
events.RescheduleEvent(EVENT_POSITION_CHECK, 5s);
|
|
||||||
|
|
||||||
events.RescheduleEvent(EVENT_PURSUE, 0ms);
|
events.RescheduleEvent(EVENT_PURSUE, 0ms);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -164,6 +164,11 @@ ObjectData const gameobjectData[] =
|
|||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
BossBoundaryData const boundaries =
|
||||||
|
{
|
||||||
|
{ BOSS_LEVIATHAN, new RectangleBoundary(130.0f, 450.0f, -170.0f, 110.0f) },
|
||||||
|
};
|
||||||
|
|
||||||
class instance_ulduar : public InstanceMapScript
|
class instance_ulduar : public InstanceMapScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -183,6 +188,7 @@ public:
|
|||||||
SetPersistentDataCount(MAX_PERSISTENT_DATA);
|
SetPersistentDataCount(MAX_PERSISTENT_DATA);
|
||||||
LoadDoorData(doorData);
|
LoadDoorData(doorData);
|
||||||
LoadObjectData(creatureData, gameobjectData);
|
LoadObjectData(creatureData, gameobjectData);
|
||||||
|
LoadBossBoundaries(boundaries);
|
||||||
Initialize();
|
Initialize();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user