Migrate random shuttle events to load dynamically (#40326)

This commit is contained in:
Hannah Giovanna Dawson
2025-12-29 11:39:35 -06:00
committed by Vanessa
parent ab8deb4839
commit eeaf32a410
3 changed files with 38 additions and 132 deletions
@@ -34,7 +34,11 @@ public sealed partial class LoadMapRuleComponent : Component
/// <summary>
/// A <see cref="PreloadedGridPrototype"/> to move to a new map.
/// If there are no instances left nothing is done.
/// <para>
/// This is deprecated. Do not create new content that uses this field,
/// and migrate existing content to be loaded dynamically during the round.
/// </para>
/// </summary>
[DataField]
[DataField, Obsolete("Do not pre-load grids. This causes the server to have to keep that grid loaded in memory during the entire round, even if that grid is never summoned to the playspace.")]
public ProtoId<PreloadedGridPrototype>? PreloadedGrid;
}
@@ -51,7 +51,7 @@
weight: 5 # DeltaV - was 10, all of these kinda suck
reoccurrenceDelay: 30
duration: 1
maxOccurrences: 1 # should be the same as [copies] in shuttle_incoming_event.yml
maxOccurrences: 1
- type: RuleGrids
- type: LoadMapRule
@@ -60,11 +60,11 @@
id: UnknownShuttleCargoLost
components:
- type: StationEvent
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
maxOccurrences: 2
- type: PrecognitionResult # DeltaV - Precogniton
message: psionic-power-precognition-unknown-shuttle-cargo-lost-result-message
- type: LoadMapRule
preloadedGrid: ShuttleCargoLost
gridPath: /Maps/Shuttles/ShuttleEvent/lost_cargo.yml
- type: entity
parent: BaseUnknownShuttleRule
@@ -72,11 +72,11 @@
components:
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
maxOccurrences: 2
- type: PrecognitionResult # DeltaV - Precogniton
message: psionic-power-precognition-unknown-shuttle-traveling-cuisine-result-message
- type: LoadMapRule
preloadedGrid: TravelingCuisine
gridPath: /Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml
- type: entity
parent: BaseUnknownShuttleRule
@@ -84,20 +84,22 @@
components:
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming
maxOccurrences: 3 # should be the same as [copies] in shuttle_incoming_event.yml
maxOccurrences: 3
- type: PrecognitionResult # DeltaV - Precogniton
message: psionic-power-precognition-unknown-shuttle-disaster-evac-pod-result-message
- type: LoadMapRule
preloadedGrid: DisasterEvacPod
gridPath: /Maps/Shuttles/ShuttleEvent/disaster_evacpod.yml
# - type: entity # DeltaV - Remove Clown Shuttle
# parent: BaseUnknownShuttleRule
# id: UnknownShuttleHonki
# components:
# - type: StationEvent
# weight: 2
# - type: LoadMapRule
# preloadedGrid: Honki
# The power of 3 clowns proved too strong for the players and may need to be 1984'ed. Replace this with a more engaging clown shuttle.
- type: entity
parent: BaseUnknownShuttleRule
id: UnknownShuttleHonki
components:
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
weight: 2
- type: LoadMapRule
gridPath: /Maps/Shuttles/ShuttleEvent/honki.yml
- type: entity
parent: BaseUnknownShuttleRule
@@ -106,9 +108,9 @@
- type: StationEvent
startAnnouncement: null # It should be silent.
weight: 5 # lower because weird freelance roles
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
maxOccurrences: 2
- type: LoadMapRule
preloadedGrid: SyndieEvacPod
gridPath: /Maps/Shuttles/ShuttleEvent/syndie_evacpod.yml
- type: entity
id: UnknownShuttleNTQuark
@@ -120,7 +122,7 @@
earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly.
minimumPlayers: 25
- type: LoadMapRule
preloadedGrid: NTQuark
gridPath: /Maps/Shuttles/ShuttleEvent/quark.yml
- type: entity
id: UnknownShuttleCruiser
@@ -130,7 +132,7 @@
startAnnouncement: station-event-unknown-shuttle-incoming #!!
weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
- type: LoadMapRule
preloadedGrid: Cruiser
gridPath: /Maps/Shuttles/ShuttleEvent/cruiser.yml
- type: entity
id: UnknownShuttleCryptid
@@ -139,7 +141,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Cryptid
gridPath: /Maps/Shuttles/ShuttleEvent/cryptid.yml
- type: entity
id: UnknownShuttleEternal
@@ -148,7 +150,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Eternal
gridPath: /Maps/Shuttles/ShuttleEvent/eternal.yml
- type: entity
id: UnknownShuttleFlatline
@@ -157,7 +159,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Flatline
gridPath: /Maps/Shuttles/ShuttleEvent/flatline.yml
- type: entity
id: UnknownShuttleGym
@@ -167,7 +169,7 @@
startAnnouncement: station-event-unknown-shuttle-incoming #!!
weight: 5 # Its just a big ship, so it needs to be rarer to be interesting.
- type: LoadMapRule
preloadedGrid: Gym
gridPath: /Maps/Shuttles/ShuttleEvent/gym.yml
- type: entity
id: UnknownShuttleNTIncorporation
@@ -178,7 +180,7 @@
weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly. (5-6)
- type: LoadMapRule
preloadedGrid: NTIncorporation
gridPath: /Maps/Shuttles/ShuttleEvent/incorporation.yml
- type: entity
id: UnknownShuttleInstigator
@@ -189,7 +191,7 @@
weight: 1 # lower because antags.
earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly (3) and because antags
- type: LoadMapRule
preloadedGrid: Instigator
gridPath: /Maps/Shuttles/ShuttleEvent/instigator.yml
- type: entity
id: UnknownShuttleJoe
@@ -198,7 +200,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Joe
gridPath: /Maps/Shuttles/ShuttleEvent/joe.yml
- type: entity
id: UnknownShuttleLambordeere
@@ -207,7 +209,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Lambordeere
gridPath: /Maps/Shuttles/ShuttleEvent/lambordeere.yml
- type: entity
id: UnknownShuttleManOWar
@@ -218,7 +220,7 @@
weight: 1 # lower because antags
earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly. (4) & antags
- type: LoadMapRule
preloadedGrid: ManOWar
gridPath: /Maps/Shuttles/ShuttleEvent/manowar.yml
- type: entity
id: UnknownShuttleMeatZone
@@ -227,7 +229,7 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Meatzone
gridPath: /Maps/Shuttles/ShuttleEvent/meatzone.yml
- type: entity
id: UnknownShuttleMicroshuttle
@@ -238,7 +240,7 @@
weight: 11 # this is higher because its just a little generic personal shuttle
maxOccurrences: 4
- type: LoadMapRule
preloadedGrid: Microshuttle
gridPath: /Maps/Shuttles/ShuttleEvent/microshuttle.yml
- type: entity
id: UnknownShuttleSpacebus
@@ -247,5 +249,5 @@
- type: StationEvent
startAnnouncement: station-event-unknown-shuttle-incoming #!!
- type: LoadMapRule
preloadedGrid: Spacebus
gridPath: /Maps/Shuttles/ShuttleEvent/spacebus.yml
@@ -1,100 +0,0 @@
- type: preloadedGrid
id: ShuttleCargoLost
path: /Maps/_DV/Shuttles/Event/lost_cargo_dv.yml # DeltaV - DV custom lost cargo shuttle, was /Maps/Shuttles/ShuttleEvent/lost_cargo.yml
copies: 2
- type: preloadedGrid
id: TravelingCuisine
path: /Maps/_DV/Shuttles/Event/traveling_cuisines_dv.yml # DeltaV - DV custom traveling cuisines shuttle, was /Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml
copies: 2
- type: preloadedGrid
id: DisasterEvacPod
path: /Maps/Shuttles/ShuttleEvent/disaster_evacpod.yml
copies: 3
# The power of 3 clowns has proved too strong for the players and may need to be 1984ed.
- type: preloadedGrid
id: Honki
path: /Maps/Shuttles/ShuttleEvent/honki.yml
copies: 1
- type: preloadedGrid
id: SyndieEvacPod
path: /Maps/_DV/Shuttles/Event/syndie_evacpod.yml # DeltaV - Switched to our version, was /Maps/Shuttles/ShuttleEvent/syndie_evacpod.yml
copies: 2
- type: preloadedGrid
id: NTQuark
path: /Maps/Shuttles/ShuttleEvent/quark.yml
copies: 1
- type: preloadedGrid
id: MeatZone
path: /Maps/Shuttles/ShuttleEvent/meatzone.yml
copies: 1
- type: preloadedGrid
id: Cruiser
path: /Maps/Shuttles/ShuttleEvent/cruiser.yml
copies: 1
- type: preloadedGrid
id: Cryptid
path: /Maps/Shuttles/ShuttleEvent/cryptid.yml
copies: 1
- type: preloadedGrid
id: Eternal
path: /Maps/Shuttles/ShuttleEvent/eternal.yml
copies: 1
- type: preloadedGrid
id: Flatline
path: /Maps/Shuttles/ShuttleEvent/flatline.yml
copies: 1
- type: preloadedGrid
id: Gym
path: /Maps/Shuttles/ShuttleEvent/gym.yml
copies: 1
- type: preloadedGrid
id: NTIncorporation
path: /Maps/Shuttles/ShuttleEvent/incorporation.yml
copies: 1
- type: preloadedGrid
id: Instigator
path: /Maps/Shuttles/ShuttleEvent/instigator.yml
copies: 1
- type: preloadedGrid
id: Joe
path: /Maps/Shuttles/ShuttleEvent/joe.yml
copies: 1
- type: preloadedGrid
id: Lambordeere
path: /Maps/Shuttles/ShuttleEvent/lambordeere.yml
copies: 1
- type: preloadedGrid
id: ManOWar
path: /Maps/Shuttles/ShuttleEvent/manowar.yml
copies: 1
- type: preloadedGrid
id: Meatzone
path: /Maps/Shuttles/ShuttleEvent/meatzone.yml
copies: 1
- type: preloadedGrid
id: Microshuttle
path: /Maps/Shuttles/ShuttleEvent/microshuttle.yml
copies: 4
- type: preloadedGrid
id: Spacebus
path: /Maps/Shuttles/ShuttleEvent/spacebus.yml
copies: 1