Files
wwdpublic/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs
VMSolidus bfa8bba9d8 Bluespace And Normality Ores (#1042)
# Description

This PR adds new ores in the form of Bluespace and Normality ores, the
former being just as rare as artifact fragments, and the latter being
even rarer still. These ores can be mined by salvage, will generate on
asteroids or expeditions, and can be processed in an ore processor into
bluespace or normality crystals, which Epistemics can use to create
psionic related objects. Note that the two are currently
indistinguishable from the other until you actually mine them.

Yes this DOES infact make it easier to make glimmer drains and probers.
I need this as an excuse to make psionics even more dangerous.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/2c7b38a4-d700-43d6-ad47-a063839f0540)


![image](https://github.com/user-attachments/assets/5da73dff-acca-4395-855d-75a04f369ead)


![image](https://github.com/user-attachments/assets/269e231d-d702-4387-9c89-f8aec7854fb3)

</p>
</details>

# Changelog

🆑
- add: Added Bluespace and Normality ore as very rare ore types. Salvage
can occasionally find these ores on Asteroids or on Expedition planets.
Bluespace and Normality Ore can be smelted in an Ore Processor into
Bluespace and Normality Crystals. Make sure to bring these to Epistemics
so that they can do their job.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-10-19 13:45:27 +07:00

72 lines
1.7 KiB
C#

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, AutoGenerateComponentPause]
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))]
[AutoPausedField]
public TimeSpan NextUnlock;
/// <summary>
/// How long it takes to unlock another destination once one is taken.
/// </summary>
[DataField]
public TimeSpan UnlockCooldown = TimeSpan.FromMinutes(75);
/// <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()
{
"OreIron",
"OreQuartz",
"OreGold",
"OreSilver",
"OrePlasma",
"OreUranium",
"OreBananium",
"OreArtifactFragment",
"OreBluespace",
"OreNormality",
};
}