This commit is contained in:
sevi committed 2018-05-03 19:18:29 +02:00
commit 5dad0f023c
2 files changed
+24 -11

No files matched your search

@@ -0,0 +1,9 @@
--
DELETE FROM `spell_group` WHERE `id`=1122;
INSERT INTO `spell_group` (`id`, `spell_id`) VALUES
(1122,588),
(1122,73413);
DELETE FROM `spell_group_stack_rules` WHERE `group_id`=1122;
INSERT INTO `spell_group_stack_rules` (`group_id`, `stack_rule`) VALUES
(1122,1);
@@ -281,7 +281,10 @@ class instance_ulduar : public InstanceMapScript
case NPC_SALVAGED_DEMOLISHER:
case NPC_SALVAGED_SIEGE_ENGINE:
case NPC_SALVAGED_CHOPPER:
LeviathanVehicleGUIDs.push_back(creature->GetGUID());
if (GetBossState(BOSS_LEVIATHAN) == DONE)
DespawnLeviatanVehicle(creature);
else
LeviathanVehicleGUIDs.push_back(creature->GetGUID());
break;
// XT-002 Deconstructor
@@ -1043,17 +1046,8 @@ class instance_ulduar : public InstanceMapScript
// Eject all players from vehicles and make them untargetable.
// They will be despawned after a while
for (auto const& vehicleGuid : LeviathanVehicleGUIDs)
{
if (Creature* vehicleCreature = instance->GetCreature(vehicleGuid))
{
if (Vehicle* vehicle = vehicleCreature->GetVehicleKit())
{
vehicle->RemoveAllPassengers();
vehicleCreature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
vehicleCreature->DespawnOrUnsummon(5 * MINUTE * IN_MILLISECONDS);
}
}
}
DespawnLeviatanVehicle(vehicleCreature);
break;
case EVENT_LEVIATHAN_BREAK_DOOR:
if (Creature* leviathan = GetCreature(BOSS_LEVIATHAN))
@@ -1065,6 +1059,16 @@ class instance_ulduar : public InstanceMapScript
}
}
void DespawnLeviatanVehicle(Creature* vehicleCreature)
{
if (Vehicle* vehicle = vehicleCreature->GetVehicleKit())
{
vehicle->RemoveAllPassengers();
vehicleCreature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
vehicleCreature->DespawnOrUnsummon(5 * MINUTE * IN_MILLISECONDS);
}
}
void UpdateDoorState(GameObject* door) override
{
// Leviathan doors are set to DOOR_TYPE_ROOM except the one it uses to enter the room