Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System.ComponentModel;
using Robus.Shared.Gamestates;
/// <summary>
/// Marks an entity as a capturable point.
/// Stores the permanent ownership state of the grid.
/// </summary>
namespace Content.Shared._Mono.SectorCapture.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class CapturableGridComponent : Component
{
[Datafield]
[AutoNetworkedField]
public string? Owner;
[Datafield]
[AutoNetworkedField]
public bool IsBeingCaptured;
[Datafield]
[AutoNetworkedField]
public string? CaptureState;
[DataField]
[AutoNetworkedField]
public float CaptureProgress;
[DataField]
public string? Class ;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Content.Shared._Mono.Company;
using Content.Shared.Containers.ItemSlots;

namespace Content.Shared._Mono.SectorCapture.Components;
[RegisterComponent, NetworkedComponent]
public sealed partial class CaptureTerminalComponent : Component
{
/// <summary>
/// sets the current owner of the terminal
/// </summary>
[DataField]
public string? Owner ;
/// <summary>
/// sets what class of POI terminal (ergo what class of POI) the terminal is assigned to: either Economy or Research
/// </summary>
[DataField]
public string? Class ;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Content.Shared._Mono.Company;

namespace Content.Shared._Mono.SectorCapture.Components;
[RegisterComponent, NetworkedComponent]
public sealed partial class ControlKeyComponent : Component
{
/// <summary>
/// This component takes the company (or faction) of the source Control terminal and keeps it in memory to imprint onto Capture Terminals
/// </summary>
[Datafield]
[AutoNetworkedField]
public string? Owner;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Content.Shared._Mono.Company;
using Content.Shared.Containers.ItemSlots;

namespace Content.Shared._Mono.SectorCapture.Components;
[RegisterComponent, NetworkedComponent]
public sealed partial class ControlTerminalComponent : Component
{
/// <summary>
/// sets the owner of the Control terminal, will not get changed in gameplay
/// </summary>
[DataField]
public string? Owner ;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Robust.Shared.Components;
using Content.Shared.Research;

namespace Content.Shared._Mono.SectorCapture.Components;
[RegisterComponent, NetworkedComponent]
public sealed partial class TransmissionAntennaComponent : Component
{
///<summary>
///sets the default transmission rate of the antenna (by how much the normal, aligned antenna would transmit)
/// </summary>
[DataField]
public float TransmissionRate = 0f;
/// <summary>
/// defines the degree of alignment the antenna has, from 0 to 360, value chosen for alignment will vary depending on position of the receiver in space (yes this will be hell)
/// </summary>
[DataField]
public float AlignmentParameter = 1f;
}
22 changes: 22 additions & 0 deletions Content.Shared/_Mono/SectorCapture/SectorCaptureSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using Content.Shared._Mono.SectorCapture.Components;
using Content.Shared._Mono.SectorCapture.Prototypes;
using Content.Shared._Mono.Company;
using Content.Shared.Containers.ItemSlots;
using Content.Server.Radio.EntitySystems;
using Content.Shared.Popups;

namespace Content.Shared._Mono.SectorCapture;
public abstract partial class SectorCaptureSystem : EntitySystem
{
[Dependency] private readonly IPrototypeManager PrototypeManager = default!;

[Dependency] private ItemSlotsSystem _itemSlotsSystem = default!;

public override void Initialize()
{
base.Initialize();
}



}
8 changes: 8 additions & 0 deletions Content.Shared/_Mono/SectorCapture/SectorControlSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
using Content.Shared.Research;
using Content.Shared._NF.Bank;
using Content.Server.Radio.EntitySystems;
using Content.Shared._Mono.SectorCapture.Components;
using Content.Shared._Mono.SectorCapture.Prototypes;
using Content.Shared._Mono.Company;

namespace Content.Shared._Mono.SectorControl;
5 changes: 4 additions & 1 deletion Resources/Prototypes/_Mono/DeviceLinking/sink_ports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,7 @@
- type: sinkPort
id: SpaceArtilleryLoad
name: signal-port-name-space-artillery-load
description: signal-port-description-space-artillery-load
description: signal-port-description-space-artillery-load

- type: sinkPort #it's here so i remind later i want a multitool adjacent thing to link capture computers to sector control computers of the controlling faction
id: ResearchPOITransmitterReceive
5 changes: 4 additions & 1 deletion Resources/Prototypes/_Mono/DeviceLinking/source_ports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
- type: sourcePort
id: AmmoLoaderLoad
name: signal-port-name-ammo-loader-load
description: signal-port-description-ammo-loader-load
description: signal-port-description-ammo-loader-load

- type: sourcePort #it's here so i remind later i want a multitool adjacent thing to link capture computers to sector control computers of the controlling faction
id: ResearchPOITransmitterEmit
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#TODO
- type: entity
parent: BaseItem
id: SectorControlCaptureKey
suffix: DEBUG
name: Capture Key
description: Debug item

- type: entity
parent: SectorControlCaptureKey
suffix: Empty
id: SectorControlCaptureKeyNone
name: Unafilliated capture key
description: A small electronic key containing a data package specifically designed to target a station's systems and take control of them. This one has no data on it.
components:
- type: Sprite
sprite:
state:
- type: ControlKey
owner: None

- type: entity
parent: SectorControlCaptureKey
suffix: TSF
id: SectorControlCaptureKeyTSF
name: Tsf encrypted capture key
description: A small electronic key containing a data package specifically designed to target a station's systems and take control of them. This one has a Trans solarian data package on it.
components:
- type: Sprite
sprite:
state:
- type: ControlKey
owner: TSF

- type: entity
parent: SectorControlCaptureKey
suffix: Empty
id: SectorControlCaptureKeyPDV
name: Pdv encrypted capture key
description: A small electronic key containing a data package specifically designed to target a station's systems and take control of them. This one has an Imperial data package on it.
components:
- type: Sprite
sprite:
state:
- type: ControlKey
owner: PDV
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
- type: entity
parent: BaseComputer
id: SectorControlComputer
suffix: Sector Control, Neutral
name: Unafilliated sector control terminal
description: A console designed to overwatch all data feeds coming from successfully infiltrated stations.
components:
- type: Sprite
sprite:
state:
- type: Computer
board: SectorControlComputerCircuitBoard
- type: ControlTerminal
owner: None

- type: entity #will be used for testing before factionizing the thing
parent: BaseComputerCircuitboard
id: SectorControlComputerCircuitBoard
suffix: DEBUG, unaffiliated
name: unaffiliated sector control computer circuit board #what a mouthful
desciption: A circuit board used to make an unaffiliated sector control terminal
components:
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: SectorControlComputer



- type: entity
parent: BaseComputer
id: SectorCaptureComputerBase
suffix: POI Capture, Neutral
name: base capture point terminal
desciption: the place where you insert ur key and capture the thingiemabob
components:

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#TODO
Loading