Skip to content
Merged
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
7 changes: 5 additions & 2 deletions Content.Client/Atmos/EntitySystems/AtmosPipeLayersSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,13 @@ private void OnAppearanceChange(Entity<AtmosPipeLayersComponent> ent, ref Appear
_sprite.SetBaseRsi((ent, sprite), resource.RSI);
}

if (_appearance.TryGetData<Dictionary<string, string>>(ent, AtmosPipeLayerVisuals.SpriteLayers, out var pipeState))
if (_appearance.TryGetData<AtmosPipeLayerSpriteLayerData>(ent, AtmosPipeLayerVisuals.SpriteLayers, out var pipeState))
{
foreach (var (layerKey, rsiPath) in pipeState)
foreach (var layer in pipeState.Layers)
{
var layerKey = layer.LayerKey;
var rsiPath = layer.RsiPath;

if (TryParseKey(layerKey, out var @enum))
_sprite.LayerSetRsi((ent, sprite), @enum, new ResPath(rsiPath));
else
Expand Down
39 changes: 39 additions & 0 deletions Content.Shared/Atmos/Components/AtmosPipeLayersComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using System;

namespace Content.Shared.Atmos.Components;

Expand Down Expand Up @@ -113,6 +114,44 @@ public enum AtmosPipeLayerVisuals
DrawDepth,
}

[Serializable, NetSerializable]
public sealed class AtmosPipeLayerSpriteLayerData : ICloneable
{
public readonly AtmosPipeLayerSpriteLayerEntry[] Layers;

public AtmosPipeLayerSpriteLayerData()
{
Layers = Array.Empty<AtmosPipeLayerSpriteLayerEntry>();
}

public AtmosPipeLayerSpriteLayerData(AtmosPipeLayerSpriteLayerEntry[] layers)
{
Layers = layers;
}

public object Clone()
{
return this;
}
}

[Serializable, NetSerializable]
public sealed class AtmosPipeLayerSpriteLayerEntry
{
public string LayerKey = string.Empty;
public string RsiPath = string.Empty;

public AtmosPipeLayerSpriteLayerEntry()
{
}

public AtmosPipeLayerSpriteLayerEntry(string layerKey, string rsiPath)
{
LayerKey = layerKey;
RsiPath = rsiPath;
}
}

[Serializable, NetSerializable]
public enum AtmosPipeLayer
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,15 +200,15 @@ public virtual void SetPipeLayer(Entity<AtmosPipeLayersComponent> ent, AtmosPipe

if (ent.Comp.SpriteLayersRsiPaths.Count > 0)
{
var data = new Dictionary<string, string>();
var data = new List<AtmosPipeLayerSpriteLayerEntry>();

foreach (var (layerKey, rsiPaths) in ent.Comp.SpriteLayersRsiPaths)
{
if (rsiPaths.TryGetValue(ent.Comp.CurrentPipeLayer, out path))
data.TryAdd(layerKey, path);
data.Add(new AtmosPipeLayerSpriteLayerEntry(layerKey, path));
}

_appearance.SetData(ent, AtmosPipeLayerVisuals.SpriteLayers, data, appearance);
_appearance.SetData(ent, AtmosPipeLayerVisuals.SpriteLayers, new AtmosPipeLayerSpriteLayerData(data.ToArray()), appearance);
}
}

Expand Down
135,597 changes: 135,597 additions & 0 deletions Resources/Maps/ColCommRHB6b.yml

Large diffs are not rendered by default.

88 changes: 88 additions & 0 deletions Resources/Prototypes/_HL/Entities/Objects/Misc/symbols.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
- type: entity
parent: BaseItem
id: brainicon
name: brain
description: a synthetic brain
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: brain

- type: entity
parent: BaseItem
id: protoicon
name: proto
description: a proto
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: proto

- type: entity
parent: BaseItem
id: brandicon
name: brandquad
description: a branded quad
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: brandquad

- type: entity
parent: BaseItem
id: quadicon
name: a quad
description: a quad
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: quad

- type: entity
parent: BaseItem
id: synthicon
name: synth
description: a synthetic
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: synth

- type: entity
parent: BaseItem
id: ipcicon
name: ipc
description: an ipc
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: ipc

- type: entity
parent: BaseItem
id: quadborgicon
name: quadborg
description: a quadborg
components:
- type: Sprite
noRot: true
drawdepth: Effects #it needs to draw over stuff.
sprite: _HL/Logo/symbols.rsi
state: quadborg





41 changes: 41 additions & 0 deletions Resources/ServerInfo/Guidebook/borgsandu.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<Document>
# AI and me
an infodoc about the standard rules and regulations/expectations of employees and visitors in regards to artificial life

## Generally Positronic patterns fit one of 2 categories
- Free Thinking Sophont (FTS) <GuideEntityEmbed Entity="quadicon"/>

- Colonial* Property (Branded) <GuideEntityEmbed Entity="brandquad"/>

### *occassionally the brand belongs to another company or LLC, not just CC so don't always assume!

## Examples of FTS patterns:
- Synths <GuideEntityEmbed Entity="synthicon"/>
- IPC <GuideEntityEmbed Entity="ipcicon"/>
- Protos <GuideEntityEmbed Entity="protoicon"/>
- Unbranded Borgs <GuideEntityEmbed Entity="quadicon"/>

<Box>FTS patterned borgs are NOT the property of CC and therefore should be handled as individuals responsible for their own actions with their own set of rights as a sophont</Box>

##Examples of Owned (Branded) borgs:
- Station AI <GuideEntityEmbed Entity="synthicon"/>
- Specialized Role borgs/prefabs <GuideEntityEmbed Entity="brandquad"/>
- Company owned models <GuideEntityEmbed Entity="BorgChassisGeneric"/>

<Box>
<GuideEntityEmbed Entity="quadborgicon" Caption="the boi"/>
</Box>

<Box> Branded borgs are the property of CC or the asset of another legal body (company/llc) and therefore their minds should be protected at all costs,
while the bodies are expendable and can be more or less easily replaced, the minds are specialized tools which very likely cost more than you do if lost.</Box>

<Box>
<GuideEntityEmbed Entity="brainicon" Caption="Worth more than yours"/>
</Box>

## Faq
<Box>"but what about Xenoborgs, do those count as people or not"</Box>
<Box>Xenoborgs used to BE people, they're brains and patterns built from sophonts whom were integrated into the collective. if you're having to ask if being a victim makes them a person or not I think perhaps we may have some other issues we need to be addressing instead.</Box>

<GuideEntityEmbed Entity="MMIFilled" Caption="Are you people?"/>
</Document>
Binary file added Resources/Textures/_HL/Logo/symbols.rsi/brain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/Textures/_HL/Logo/symbols.rsi/ipc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions Resources/Textures/_HL/Logo/symbols.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by Fenndragon, discord ID: 190763499276861440",
"size": {
"x": 64,
"y": 64
},
"states": [
{
"name": "brain"
},
{
"name": "brandquad"
},
{
"name": "ipc"
},
{
"name": "quad"
},
{
"name": "proto"
},
{
"name": "quadborg"
},
{
"name": "synth"
}
]
}
Binary file added Resources/Textures/_HL/Logo/symbols.rsi/proto.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/Textures/_HL/Logo/symbols.rsi/quad.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/Textures/_HL/Logo/symbols.rsi/synth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading