Gateway destinations (#21040)
* Gateway generation * Gateway stuff * gatewehs * mercenaries * play area * Range fixes and tweaks * weh * Gateway UI polish * Lots of fixes * Knock some items off * Fix dungeon spawning Realistically we should probably be using a salvage job. * wahwah * wehvs * expression * weh * eee * a * a * WEH * frfr * Gatwey * Fix gateway windows * Fix gateway windows * a * a * Better layer masking * a * a * Noise fixes * a * Fix fractal calculations * a * More fixes * Fixes * Add layers back in * Fixes * namespaces and ftl * Other TODO * Fix distance * Cleanup * Fix test
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using Content.Shared.Parallax.Biomes.Markers;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||
|
||||
namespace Content.Server.Gateway.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Generates gateway destinations at a regular interval.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class GatewayGeneratorComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Prototype to spawn on the generated map if applicable.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public EntProtoId? Proto = "Gateway";
|
||||
|
||||
/// <summary>
|
||||
/// Next time another seed unlocks.
|
||||
/// </summary>
|
||||
[DataField(customTypeSerializer:typeof(TimeOffsetSerializer))]
|
||||
public TimeSpan NextUnlock;
|
||||
|
||||
/// <summary>
|
||||
/// How long it takes to unlock another destination once one is taken.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public TimeSpan UnlockCooldown = TimeSpan.FromMinutes(45);
|
||||
|
||||
/// <summary>
|
||||
/// Maps we've generated.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<EntityUid> Generated = new();
|
||||
|
||||
[DataField]
|
||||
public int MobLayerCount = 1;
|
||||
|
||||
/// <summary>
|
||||
/// Mob layers to pick from.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<ProtoId<BiomeMarkerLayerPrototype>> MobLayers = new()
|
||||
{
|
||||
"Carps",
|
||||
"Xenos",
|
||||
};
|
||||
|
||||
[DataField]
|
||||
public int LootLayerCount = 3;
|
||||
|
||||
/// <summary>
|
||||
/// Loot layers to pick from.
|
||||
/// </summary>
|
||||
public List<ProtoId<BiomeMarkerLayerPrototype>> LootLayers = new()
|
||||
{
|
||||
"OreTin",
|
||||
"OreQuartz",
|
||||
"OreGold",
|
||||
"OreSilver",
|
||||
"OrePlasma",
|
||||
"OreUranium",
|
||||
"OreBananium",
|
||||
"OreArtifactFragment",
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user