mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-29 23:57:29 +00:00
* init * port hostiles to hordes, fakeout horde * cleaning, docs * i may be blind sometimes * i may be even blinder * remove friendly announcements * fuck it * i love microbalancing * review * review * review p2 * Update Resources/Prototypes/GameRules/pests.yml Co-authored-by: SnappingOpossum <snappingopossum@outlook.com> * review + powercreep * lower the times to account for the gamerule delay * review * review * fuck this return actually * fial --------- Co-authored-by: SnappingOpossum <snappingopossum@outlook.com> # Conflicts: # Resources/Prototypes/GameRules/pests.yml
27 lines
907 B
C#
27 lines
907 B
C#
using Content.Server.StationEvents.Events;
|
|
using Content.Shared.EntityTable.EntitySelectors;
|
|
|
|
namespace Content.Server.StationEvents.Components;
|
|
|
|
/// <summary>
|
|
/// Component used for the vent horde gamerule.
|
|
/// Picks a random entity with <see cref="VentCritterSpawnLocationComponent"/>
|
|
/// and spawns entities picked from the <see cref="Table"/> on it after a delay.
|
|
/// </summary>
|
|
[RegisterComponent, Access(typeof(VentHordeRule))]
|
|
public sealed partial class VentHordeRuleComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// The table of possible mobs to spawn from the vent.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public EntityTableSelector Table = default!;
|
|
|
|
/// <summary>
|
|
/// The vent that has been chosen to spawn the entities.
|
|
/// Spawning logic is handled by <see cref="VentHordeSpawnerComponent"/>
|
|
/// </summary>
|
|
[DataField]
|
|
public EntityUid? ChosenVent;
|
|
}
|