fix(DB/Creature): Rework Mechanolift 304-A spawns and waypoints. (#24959)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -90,7 +90,6 @@ enum GosNpcs
|
|||||||
{
|
{
|
||||||
NPC_FLAME_LEVIATHAN_TURRET = 33139,
|
NPC_FLAME_LEVIATHAN_TURRET = 33139,
|
||||||
NPC_SEAT = 33114,
|
NPC_SEAT = 33114,
|
||||||
NPC_MECHANOLIFT = 33214,
|
|
||||||
NPC_LIQUID = 33189,
|
NPC_LIQUID = 33189,
|
||||||
|
|
||||||
// Starting event
|
// Starting event
|
||||||
@@ -116,14 +115,13 @@ enum Events
|
|||||||
EVENT_MISSILE = 2,
|
EVENT_MISSILE = 2,
|
||||||
EVENT_VENT = 3,
|
EVENT_VENT = 3,
|
||||||
EVENT_SPEED = 4,
|
EVENT_SPEED = 4,
|
||||||
EVENT_SUMMON = 5,
|
EVENT_REINSTALL = 5,
|
||||||
EVENT_REINSTALL = 6,
|
EVENT_HODIRS_FURY = 6,
|
||||||
EVENT_HODIRS_FURY = 7,
|
EVENT_FREYA = 7,
|
||||||
EVENT_FREYA = 8,
|
EVENT_MIMIRONS_INFERNO = 8,
|
||||||
EVENT_MIMIRONS_INFERNO = 9,
|
EVENT_THORIMS_HAMMER = 9,
|
||||||
EVENT_THORIMS_HAMMER = 10,
|
EVENT_SOUND_BEGINNING = 10,
|
||||||
EVENT_SOUND_BEGINNING = 11,
|
EVENT_POSITION_CHECK = 11,
|
||||||
EVENT_POSITION_CHECK = 12,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Texts
|
enum Texts
|
||||||
@@ -413,13 +411,6 @@ struct boss_flame_leviathan : public BossAI
|
|||||||
me->CastSpell(me, SPELL_FLAME_VENTS, false);
|
me->CastSpell(me, SPELL_FLAME_VENTS, false);
|
||||||
events.Repeat(20s);
|
events.Repeat(20s);
|
||||||
return;
|
return;
|
||||||
case EVENT_SUMMON:
|
|
||||||
if (summons.size() < 20)
|
|
||||||
if (Creature* lift = DoSummonFlyer(NPC_MECHANOLIFT, me, 30.0f, 50.0f, 0))
|
|
||||||
lift->GetMotionMaster()->MoveRandom(100);
|
|
||||||
|
|
||||||
events.Repeat(4s);
|
|
||||||
return;
|
|
||||||
case EVENT_SOUND_BEGINNING:
|
case EVENT_SOUND_BEGINNING:
|
||||||
if (_towersCount)
|
if (_towersCount)
|
||||||
Talk(FLAME_LEVIATHAN_SAY_HARDMODE);
|
Talk(FLAME_LEVIATHAN_SAY_HARDMODE);
|
||||||
@@ -591,7 +582,6 @@ void boss_flame_leviathan::ScheduleEvents()
|
|||||||
events.RescheduleEvent(EVENT_MISSILE, 5s);
|
events.RescheduleEvent(EVENT_MISSILE, 5s);
|
||||||
events.RescheduleEvent(EVENT_VENT, 20s);
|
events.RescheduleEvent(EVENT_VENT, 20s);
|
||||||
events.RescheduleEvent(EVENT_SPEED, 15s);
|
events.RescheduleEvent(EVENT_SPEED, 15s);
|
||||||
events.RescheduleEvent(EVENT_SUMMON, 10s);
|
|
||||||
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10s);
|
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10s);
|
||||||
events.RescheduleEvent(EVENT_POSITION_CHECK, 5s);
|
events.RescheduleEvent(EVENT_POSITION_CHECK, 5s);
|
||||||
|
|
||||||
@@ -1240,43 +1230,6 @@ struct boss_flame_leviathan_safety_container : public NullCreatureAI
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct npc_mechanolift : public NullCreatureAI
|
|
||||||
{
|
|
||||||
npc_mechanolift(Creature* c) : NullCreatureAI(c)
|
|
||||||
{
|
|
||||||
me->SetSpeed(MOVE_RUN, rand_norm() + 0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
int32 _startTimer;
|
|
||||||
uint32 _evadeTimer;
|
|
||||||
|
|
||||||
void Reset() override
|
|
||||||
{
|
|
||||||
_startTimer = urand(1, 5000);
|
|
||||||
_evadeTimer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
|
||||||
{
|
|
||||||
if (_startTimer)
|
|
||||||
{
|
|
||||||
_startTimer -= diff;
|
|
||||||
if (_startTimer <= 0)
|
|
||||||
{
|
|
||||||
me->GetMotionMaster()->MoveWaypoint(3000000 + urand(0, 11), true);
|
|
||||||
_startTimer = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_evadeTimer += diff;
|
|
||||||
if (_evadeTimer >= 10000)
|
|
||||||
{
|
|
||||||
_EnterEvadeMode();
|
|
||||||
_evadeTimer = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class go_ulduar_tower : public GameObjectScript
|
class go_ulduar_tower : public GameObjectScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -1880,7 +1833,6 @@ void AddSC_boss_flame_leviathan()
|
|||||||
RegisterUlduarCreatureAI(npc_brann_radio);
|
RegisterUlduarCreatureAI(npc_brann_radio);
|
||||||
RegisterUlduarCreatureAI(npc_storm_beacon_spawn);
|
RegisterUlduarCreatureAI(npc_storm_beacon_spawn);
|
||||||
RegisterUlduarCreatureAI(boss_flame_leviathan_safety_container);
|
RegisterUlduarCreatureAI(boss_flame_leviathan_safety_container);
|
||||||
RegisterUlduarCreatureAI(npc_mechanolift);
|
|
||||||
|
|
||||||
// GOs
|
// GOs
|
||||||
new go_ulduar_tower();
|
new go_ulduar_tower();
|
||||||
|
|||||||
Reference in New Issue
Block a user