mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 13:37:47 +03:00
# Description Goddamn do I love Adderall. This PR lays the entire groundwork needed for the "Glacier Rework", and it does so by fixing every problem I could think of between FTL and StationBiome that was preventing it from being a reality. Essentially, I'm hitting several birds with one stone by refactoring both systems to be a LOT more flexible. You can technically say that this basically is also partly enabling Lavaland maps, since I conveniently included options in the StationBiomeComponent to generate dungeons. Technically a planet map should probably also have a RestrictedRangeComponent added to it so that players can't wander so far from the station that they generate a truly excessive number of entities. Yes, this does infact mean you can now run Nukie gamemodes on planet maps. <details><summary><h1>Media</h1></summary> <p> https://github.com/user-attachments/assets/7a3730af-c521-42d4-8abd-5aa5989c369c </p> </details> --- # Changelog 🆑 - add: Shuttles can now take off and land from planet surfaces. They however will still respect exclusion zone beacons set by stations. Maybe in the future there might be a special shuttle (drop pod) that is set to ignore these exclusion zones. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com> (cherry picked from commit fb4ca1af6a48eda92f15b5a70273e27c2c352f22)
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using Content.Server.Station.Systems;
|
|
using Content.Shared.Parallax.Biomes;
|
|
using Content.Shared.Parallax.Biomes.Markers;
|
|
using Content.Shared.Procedural;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Server.Station.Components;
|
|
|
|
/// <summary>
|
|
/// Runs EnsurePlanet against the largest grid on Mapinit.
|
|
/// </summary>
|
|
[RegisterComponent, Access(typeof(StationBiomeSystem))]
|
|
public sealed partial class StationBiomeComponent : Component
|
|
{
|
|
[DataField(required: true)]
|
|
public ProtoId<BiomeTemplatePrototype> Biome = "Grasslands";
|
|
|
|
/// <summary>
|
|
/// Adds a list of biome marker layers after creating the planet. Useful if you wish to make your planet station also have ores to mine.
|
|
/// </summary>
|
|
[DataField]
|
|
public List<ProtoId<BiomeMarkerLayerPrototype>> BiomeLayers;
|
|
|
|
/// <summary>
|
|
/// Whether your station comes with one or more complimentary dungeons somewhere in the world.
|
|
/// </summary>
|
|
[DataField]
|
|
public List<DungeonConfigPrototype> Dungeons;
|
|
|
|
[DataField]
|
|
public float DungeonMinDistance = 100f;
|
|
|
|
[DataField]
|
|
public float DungeonMaxDistance = 500f;
|
|
|
|
// If null, its random
|
|
[DataField]
|
|
public int? Seed = null;
|
|
|
|
[DataField]
|
|
public Color MapLightColor = Color.Black;
|
|
}
|