Power cell culling (#8814)

This commit is contained in:
metalgearsloth
2022-06-16 18:37:07 +10:00
committed by GitHub
parent 2ad62a01f1
commit a18ba5c2b5
136 changed files with 234 additions and 977 deletions

View File

@@ -1,7 +1,38 @@
using Content.Shared.PowerCell; using Content.Shared.PowerCell;
using JetBrains.Annotations; using JetBrains.Annotations;
using Robust.Client.GameObjects;
namespace Content.Client.PowerCell; namespace Content.Client.PowerCell;
[UsedImplicitly] [UsedImplicitly]
public sealed class PowerCellSystem : SharedPowerCellSystem { } public sealed class PowerCellSystem : SharedPowerCellSystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PowerCellVisualsComponent, AppearanceChangeEvent>(OnPowerCellVisualsChange);
}
private void OnPowerCellVisualsChange(EntityUid uid, PowerCellVisualsComponent component, ref AppearanceChangeEvent args)
{
if (args.Sprite == null) return;
if (args.Component.TryGetData(PowerCellVisuals.ChargeLevel, out byte level))
{
if (level == 0)
{
args.Sprite.LayerSetVisible(PowerCellVisualLayers.Unshaded, false);
return;
}
args.Sprite.LayerSetVisible(PowerCellVisualLayers.Unshaded, true);
args.Sprite.LayerSetState(PowerCellVisualLayers.Unshaded, $"o{level}");
}
}
private enum PowerCellVisualLayers : byte
{
Base,
Unshaded,
}
}

View File

@@ -1,46 +0,0 @@
using Content.Shared.PowerCell;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.PowerCell
{
[UsedImplicitly]
public sealed class PowerCellVisualizer : AppearanceVisualizer
{
[DataField("prefix")]
private string? _prefix;
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(entity);
if (_prefix != null)
{
sprite.LayerMapSet(Layers.Charge, sprite.AddLayerState($"{_prefix}_100"));
sprite.LayerSetShader(Layers.Charge, "unshaded");
}
}
public override void OnChangeData(AppearanceComponent component)
{
base.OnChangeData(component);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(component.Owner);
if (component.TryGetData(PowerCellVisuals.ChargeLevel, out byte level))
{
var adjustedLevel = level * 25;
sprite.LayerSetState(Layers.Charge, $"{_prefix}_{adjustedLevel}");
}
}
private enum Layers : byte
{
Charge
}
}
}

View File

@@ -0,0 +1,4 @@
namespace Content.Client.PowerCell;
[RegisterComponent]
public sealed class PowerCellVisualsComponent : Component {}

View File

@@ -25,6 +25,7 @@ namespace Content.Server.Entry
"HandheldGPS", "HandheldGPS",
"SpentAmmoVisuals", "SpentAmmoVisuals",
"MagazineVisuals", "MagazineVisuals",
"PowerCellVisuals",
"ToggleableLightVisuals", "ToggleableLightVisuals",
"CableVisualizer", "CableVisualizer",
"PotencyVisuals", "PotencyVisuals",

View File

@@ -1,6 +1,7 @@
using Content.Server.Actions; using Content.Server.Actions;
using Content.Server.Light.Components; using Content.Server.Light.Components;
using Content.Server.Popups; using Content.Server.Popups;
using Content.Server.Power.Components;
using Content.Server.PowerCell; using Content.Server.PowerCell;
using Content.Shared.Actions; using Content.Shared.Actions;
using Content.Shared.Actions.ActionTypes; using Content.Shared.Actions.ActionTypes;
@@ -220,7 +221,8 @@ namespace Content.Server.Light.EntitySystems
{ {
if (component.Activated) return false; if (component.Activated) return false;
if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery)) if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery) &&
!TryComp(component.Owner, out battery))
{ {
SoundSystem.Play(component.TurnOnFailSound.GetSound(), Filter.Pvs(component.Owner, entityManager: EntityManager), component.Owner); SoundSystem.Play(component.TurnOnFailSound.GetSound(), Filter.Pvs(component.Owner, entityManager: EntityManager), component.Owner);
_popup.PopupEntity(Loc.GetString("handheld-light-component-cell-missing-message"), component.Owner, Filter.Entities(user)); _popup.PopupEntity(Loc.GetString("handheld-light-component-cell-missing-message"), component.Owner, Filter.Entities(user));
@@ -253,7 +255,8 @@ namespace Content.Server.Light.EntitySystems
public void TryUpdate(HandheldLightComponent component, float frameTime) public void TryUpdate(HandheldLightComponent component, float frameTime)
{ {
if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery)) if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery) &&
!TryComp(component.Owner, out battery))
{ {
TurnOff(component, false); TurnOff(component, false);
return; return;

View File

@@ -12,25 +12,15 @@ namespace Content.Shared.PowerCell;
public sealed class PowerCellComponent : Component public sealed class PowerCellComponent : Component
{ {
public const string SolutionName = "powerCell"; public const string SolutionName = "powerCell";
public const int PowerCellVisualsLevels = 4; public const int PowerCellVisualsLevels = 2;
[DataField("cellSize")]
public PowerCellSize CellSize = PowerCellSize.Small;
// Not networked to clients // Not networked to clients
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]
public bool IsRigged { get; set; } public bool IsRigged { get; set; }
} }
public enum PowerCellSize
{
Small = 0,
Medium = 1,
Large = 2
}
[Serializable, NetSerializable] [Serializable, NetSerializable]
public enum PowerCellVisuals public enum PowerCellVisuals : byte
{ {
ChargeLevel ChargeLevel
} }

View File

@@ -5,13 +5,6 @@ namespace Content.Shared.PowerCell.Components;
[RegisterComponent] [RegisterComponent]
public sealed class PowerCellSlotComponent : Component public sealed class PowerCellSlotComponent : Component
{ {
/// <summary>
/// What size of cell fits into this component.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("slotSize")]
public PowerCellSize SlotSize { get; set; } = PowerCellSize.Small;
/// <summary> /// <summary>
/// The actual item-slot that contains the cell. Allows all the interaction logic to be handled by <see cref="ItemSlotsSystem"/>. /// The actual item-slot that contains the cell. Allows all the interaction logic to be handled by <see cref="ItemSlotsSystem"/>.
/// </summary> /// </summary>

View File

@@ -18,8 +18,6 @@ public abstract class SharedPowerCellSystem : EntitySystem
SubscribeLocalEvent<PowerCellSlotComponent, ComponentInit>(OnCellSlotInit); SubscribeLocalEvent<PowerCellSlotComponent, ComponentInit>(OnCellSlotInit);
SubscribeLocalEvent<PowerCellSlotComponent, ComponentRemove>(OnCellSlotRemove); SubscribeLocalEvent<PowerCellSlotComponent, ComponentRemove>(OnCellSlotRemove);
SubscribeLocalEvent<PowerCellSlotComponent, ExaminedEvent>(OnSlotExamined);
SubscribeLocalEvent<PowerCellSlotComponent, EntInsertedIntoContainerMessage>(OnCellInserted); SubscribeLocalEvent<PowerCellSlotComponent, EntInsertedIntoContainerMessage>(OnCellInserted);
SubscribeLocalEvent<PowerCellSlotComponent, EntRemovedFromContainerMessage>(OnCellRemoved); SubscribeLocalEvent<PowerCellSlotComponent, EntRemovedFromContainerMessage>(OnCellRemoved);
SubscribeLocalEvent<PowerCellSlotComponent, ContainerIsInsertingAttemptEvent>(OnCellInsertAttempt); SubscribeLocalEvent<PowerCellSlotComponent, ContainerIsInsertingAttemptEvent>(OnCellInsertAttempt);
@@ -33,7 +31,7 @@ public abstract class SharedPowerCellSystem : EntitySystem
if (args.Container.ID != component.CellSlot.ID) if (args.Container.ID != component.CellSlot.ID)
return; return;
if (!TryComp(args.EntityUid, out PowerCellComponent? cell) || cell.CellSize != component.SlotSize) if (!HasComp<PowerCellComponent>(args.EntityUid))
{ {
args.Cancel(); args.Cancel();
} }
@@ -67,41 +65,10 @@ public abstract class SharedPowerCellSystem : EntitySystem
{ {
component.CellSlot.Name = component.SlotName; component.CellSlot.Name = component.SlotName;
} }
if (component.StartEmpty)
return;
if (!string.IsNullOrWhiteSpace(component.CellSlot.StartingItem))
return;
// set default starting cell based on cell-type
component.CellSlot.StartingItem = component.SlotSize switch
{
PowerCellSize.Small => "PowerCellSmallStandard",
PowerCellSize.Medium => "PowerCellMediumStandard",
PowerCellSize.Large => "PowerCellLargeStandard",
_ => throw new ArgumentOutOfRangeException()
};
} }
private void OnCellSlotRemove(EntityUid uid, PowerCellSlotComponent component, ComponentRemove args) private void OnCellSlotRemove(EntityUid uid, PowerCellSlotComponent component, ComponentRemove args)
{ {
_itemSlotsSystem.RemoveItemSlot(uid, component.CellSlot); _itemSlotsSystem.RemoveItemSlot(uid, component.CellSlot);
} }
private void OnSlotExamined(EntityUid uid, PowerCellSlotComponent component, ExaminedEvent args)
{
if (!args.IsInDetailsRange || string.IsNullOrWhiteSpace(component.DescFormatString))
return;
var sizeText = Loc.GetString(component.SlotSize switch
{
PowerCellSize.Small => "power-cell-slot-component-description-size-small",
PowerCellSize.Medium => "power-cell-slot-component-description-size-medium",
PowerCellSize.Large => "power-cell-slot-component-description-size-large",
_ => "???"
});
args.PushMarkup(Loc.GetString(component.DescFormatString, ("size", sizeText)));
}
} }

View File

@@ -1737,13 +1737,13 @@ entities:
parent: 179 parent: 179
type: Transform type: Transform
- uid: 186 - uid: 186
type: PowerCellSmallHigh type: PowerCellMedium
components: components:
- pos: -2.67511,-10.351 - pos: -2.67511,-10.351
parent: 179 parent: 179
type: Transform type: Transform
- uid: 187 - uid: 187
type: PowerCellSmallHigh type: PowerCellMedium
components: components:
- pos: -2.55011,-10.6635 - pos: -2.55011,-10.6635
parent: 179 parent: 179

View File

@@ -86506,7 +86506,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 7165 - uid: 7165
type: PowerCellMediumPotato type: PowerCellPotato
components: components:
- pos: -20.516964,-56.33504 - pos: -20.516964,-56.33504
parent: 60 parent: 60
@@ -105329,7 +105329,7 @@ entities:
parent: 60 parent: 60
type: Transform type: Transform
- uid: 9621 - uid: 9621
type: PowerCellLargeSuper type: PowerCellHigh
components: components:
- pos: -37.43891,14.626589 - pos: -37.43891,14.626589
parent: 60 parent: 60
@@ -151805,7 +151805,7 @@ entities:
ents: [] ents: []
type: ContainerContainer type: ContainerContainer
- uid: 16084 - uid: 16084
type: PowerCellSmallAutorecharge type: PowerCellMicroreactor
components: components:
- pos: 0.55256647,20.72724 - pos: 0.55256647,20.72724
parent: 60 parent: 60

View File

@@ -111283,7 +111283,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 12271 - uid: 12271
type: PowerCellMediumPotato type: PowerCellPotato
components: components:
- pos: -3.516998,-36.44544 - pos: -3.516998,-36.44544
parent: 106 parent: 106

View File

@@ -47764,7 +47764,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 1777 - uid: 1777
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -10.414857,-37.378014 - pos: -10.414857,-37.378014
parent: 60 parent: 60
@@ -54147,7 +54147,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2674 - uid: 2674
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -55.456623,-37.464394 - pos: -55.456623,-37.464394
parent: 60 parent: 60
@@ -54155,7 +54155,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2675 - uid: 2675
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -55.44885,-38.160557 - pos: -55.44885,-38.160557
parent: 60 parent: 60
@@ -57048,7 +57048,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 3076 - uid: 3076
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -55.356537,-43.214397 - pos: -55.356537,-43.214397
parent: 60 parent: 60
@@ -79980,7 +79980,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 6323 - uid: 6323
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -50.5,-9.5 - pos: -50.5,-9.5
parent: 60 parent: 60
@@ -133076,7 +133076,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 13755 - uid: 13755
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 12.5294485,82.53368 - pos: 12.5294485,82.53368
parent: 60 parent: 60
@@ -154878,7 +154878,7 @@ entities:
ents: [] ents: []
type: ContainerContainer type: ContainerContainer
- uid: 16985 - uid: 16985
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 16.412798,54.560455 - pos: 16.412798,54.560455
parent: 60 parent: 60
@@ -171164,7 +171164,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 19288 - uid: 19288
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 43.575706,-44.36233 - pos: 43.575706,-44.36233
parent: 60 parent: 60

View File

@@ -37441,7 +37441,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 2119 - uid: 2119
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- pos: -27.504559,56.49509 - pos: -27.504559,56.49509
parent: 30 parent: 30
@@ -37449,7 +37449,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2120 - uid: 2120
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- pos: -27.504559,56.68259 - pos: -27.504559,56.68259
parent: 30 parent: 30

View File

@@ -53389,7 +53389,7 @@ entities:
parent: 130 parent: 130
type: Transform type: Transform
- uid: 4846 - uid: 4846
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 29.227386,-9.561591 - pos: 29.227386,-9.561591
parent: 130 parent: 130
@@ -90644,7 +90644,7 @@ entities:
parent: 130 parent: 130
type: Transform type: Transform
- uid: 9699 - uid: 9699
type: PowerCellMediumPotato type: PowerCellPotato
components: components:
- pos: 34.5,-20.500025 - pos: 34.5,-20.500025
parent: 130 parent: 130
@@ -93243,7 +93243,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 9947 - uid: 9947
type: PowerCellLargeHigh type: PowerCellMedium
components: components:
- pos: 29.548517,-9.58406 - pos: 29.548517,-9.58406
parent: 130 parent: 130
@@ -95478,7 +95478,7 @@ entities:
parent: 130 parent: 130
type: Transform type: Transform
- uid: 10276 - uid: 10276
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: -40.50005,-16.500025 - pos: -40.50005,-16.500025
parent: 130 parent: 130

View File

@@ -28487,7 +28487,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2075 - uid: 2075
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- pos: 9.531351,32.51714 - pos: 9.531351,32.51714
parent: 2 parent: 2
@@ -50161,7 +50161,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 5313 - uid: 5313
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 56.529827,20.631775 - pos: 56.529827,20.631775
parent: 2 parent: 2
@@ -50725,7 +50725,7 @@ entities:
ents: [] ents: []
type: ContainerContainer type: ContainerContainer
- uid: 5382 - uid: 5382
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 50.725174,11.548619 - pos: 50.725174,11.548619
parent: 2 parent: 2
@@ -94093,7 +94093,7 @@ entities:
parent: 2 parent: 2
type: Transform type: Transform
- uid: 11070 - uid: 11070
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- parent: 9191 - parent: 9191
type: Transform type: Transform
@@ -94878,7 +94878,7 @@ entities:
parent: 2 parent: 2
type: Transform type: Transform
- uid: 11166 - uid: 11166
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- parent: 11154 - parent: 11154
type: Transform type: Transform

View File

@@ -22187,7 +22187,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2097 - uid: 2097
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- pos: 9.531351,32.51714 - pos: 9.531351,32.51714
parent: 0 parent: 0
@@ -43826,7 +43826,7 @@ entities:
charger-slot: !type:ContainerSlot {} charger-slot: !type:ContainerSlot {}
type: ContainerContainer type: ContainerContainer
- uid: 5336 - uid: 5336
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 56.529827,20.631775 - pos: 56.529827,20.631775
parent: 0 parent: 0
@@ -44390,7 +44390,7 @@ entities:
ents: [] ents: []
type: ContainerContainer type: ContainerContainer
- uid: 5405 - uid: 5405
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 50.725174,11.548619 - pos: 50.725174,11.548619
parent: 0 parent: 0
@@ -87726,7 +87726,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 11108 - uid: 11108
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- parent: 9229 - parent: 9229
type: Transform type: Transform
@@ -88505,7 +88505,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 11204 - uid: 11204
type: PowerCellMediumStandard type: PowerCellSmall
components: components:
- parent: 11192 - parent: 11192
type: Transform type: Transform

View File

@@ -17902,7 +17902,7 @@ entities:
parent: 852 parent: 852
type: Transform type: Transform
- uid: 1130 - uid: 1130
type: PowerCellSmallStandard type: PowerCellSmall
components: components:
- parent: 1549 - parent: 1549
type: Transform type: Transform

View File

@@ -105162,7 +105162,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 11187 - uid: 11187
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 14.5,-105.5 - pos: 14.5,-105.5
parent: 69 parent: 69

View File

@@ -4210,7 +4210,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 153 - uid: 153
type: PowerCellSmallStandard type: PowerCellSmall
components: components:
- parent: 152 - parent: 152
type: Transform type: Transform
@@ -4225,7 +4225,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 155 - uid: 155
type: PowerCellSmallStandard type: PowerCellSmall
components: components:
- parent: 154 - parent: 154
type: Transform type: Transform

View File

@@ -35234,7 +35234,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 2452 - uid: 2452
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 8.459046,45.525425 - pos: 8.459046,45.525425
parent: 82 parent: 82
@@ -45505,7 +45505,7 @@ entities:
- canCollide: False - canCollide: False
type: Physics type: Physics
- uid: 3700 - uid: 3700
type: PowerCellLargeStandard type: PowerCellSmall
components: components:
- pos: 44.656002,21.563784 - pos: 44.656002,21.563784
parent: 82 parent: 82
@@ -56560,7 +56560,7 @@ entities:
parent: 82 parent: 82
type: Transform type: Transform
- uid: 4967 - uid: 4967
type: PowerCellMediumPotato type: PowerCellPotato
components: components:
- pos: 32.49642,-0.21778393 - pos: 32.49642,-0.21778393
parent: 82 parent: 82

View File

@@ -37,11 +37,7 @@
# components: # components:
# - type: StorageFill # - type: StorageFill
# contents: # contents:
# - id: PowerCellLargeStandard # - id: PowerCellMicroreactor
# amount: 3
# - id: PowerCellMediumStandard
# amount: 3
# - id: PowerCellSmallAutorecharge
# amount: 3 # amount: 3
- type: entity - type: entity

View File

@@ -63,9 +63,6 @@
# Interesting (1%) # Interesting (1%)
# - Ammo # - Ammo
- id: MagazineBoxMagnum - id: MagazineBoxMagnum
prob: 0.01
# - #shinies
- id: PowerCellLargeHyper
prob: 0.01 prob: 0.01
# Just no (0.1%) # Just no (0.1%)
# - Working guns # - Working guns

View File

@@ -400,45 +400,39 @@
id: PowerCellBasic id: PowerCellBasic
description: Print standard powercells. description: Print standard powercells.
icon: icon:
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi sprite: Objects/Power/power_cells.rsi
state: s_st state: small
requiredPoints: 2500 requiredPoints: 2500
requiredTechnologies: requiredTechnologies:
- ElectromagneticTheory - ElectromagneticTheory
unlockedRecipes: unlockedRecipes:
- PowerCellSmallStandard - PowerCellSmall
- PowerCellMediumStandard
- PowerCellLargeStandard
- type: technology - type: technology
name: "advanced powercell printing" name: "advanced powercell printing"
id: PowerCellAdvanced id: PowerCellAdvanced
description: Print advanced powercells. description: Print advanced powercells.
icon: icon:
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi sprite: Objects/Power/power_cells.rsi
state: s_hi state: medium
requiredPoints: 5000 requiredPoints: 5000
requiredTechnologies: requiredTechnologies:
- PowerCellBasic - PowerCellBasic
unlockedRecipes: unlockedRecipes:
- PowerCellSmallHigh - PowerCellMedium
- PowerCellMediumHigh
- PowerCellLargeHigh
- type: technology - type: technology
name: "super powercell printing" name: "super powercell printing"
id: PowerCellSuper id: PowerCellSuper
description: Print super powercells. description: Print super powercells.
icon: icon:
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi sprite: Objects/Power/power_cells.rsi
state: s_sup state: high
requiredPoints: 10000 requiredPoints: 10000
requiredTechnologies: requiredTechnologies:
- PowerCellAdvanced - PowerCellAdvanced
unlockedRecipes: unlockedRecipes:
- PowerCellSmallSuper - PowerCellHigh
- PowerCellMediumSuper
- PowerCellLargeSuper
# Basic Parts Technology Tree # Basic Parts Technology Tree
- type: technology - type: technology

View File

@@ -6,7 +6,7 @@
startingInventory: startingInventory:
ClothingEyesGlassesMeson: 4 ClothingEyesGlassesMeson: 4
Multitool: 4 Multitool: 4
PowerCellSmallHigh: 5 PowerCellMedium: 5
ClothingHandsGlovesColorYellow: 6 ClothingHandsGlovesColorYellow: 6
InflatableWallStack1: 24 InflatableWallStack1: 24
InflatableDoorStack1: 8 InflatableDoorStack1: 8

View File

@@ -8,7 +8,6 @@
#roboticist under #roboticist under
CableStack: 4 CableStack: 4
Flash: 4 Flash: 4
PowerCellLargeHigh: 12
#proximity sensor #proximity sensor
#signaller #signaller
#health anaylzer #health anaylzer

View File

@@ -106,7 +106,9 @@
- type: FlashLightVisualizer - type: FlashLightVisualizer
- type: HandheldLight - type: HandheldLight
addPrefix: true addPrefix: true
- type: PowerCellSlot - type: Battery
cellSlot: maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.
startingItem: PowerCellHardsuitHelmet # self recharging startingCharge: 600
locked: true # no need to recharge manually - type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 2 #recharge of 2 makes total drain 1w / s so max charge is 1:1 with time. Time to fully charge should be 5 minutes. Having recharge gives light an extended flicker period which gives you some warning to return to light area.

View File

@@ -36,7 +36,7 @@
- state: on-equipped-HELMET - state: on-equipped-HELMET
- type: PowerCellSlot - type: PowerCellSlot
cellSlot: cellSlot:
startingItem: PowerCellSmallHigh startingItem: PowerCellMedium
- type: entity - type: entity
parent: ClothingHeadHatHardhatBase parent: ClothingHeadHatHardhatBase

View File

@@ -207,7 +207,7 @@
- type: IngestionBlocker - type: IngestionBlocker
- type: PowerCellSlot - type: PowerCellSlot
cellSlot: cellSlot:
startingItem: PowerCellSmallHigh startingItem: PowerCellMedium
- type: TemperatureProtection - type: TemperatureProtection
coefficient: 0.01 coefficient: 0.01
- type: Armor - type: Armor

View File

@@ -50,14 +50,13 @@
- type: Sprite - type: Sprite
layers: layers:
- state: red - state: red
- texture: Objects/Power/PowerCells/power_cell_large_sup.rsi/l_sup.png - sprite: Objects/Power/power_cells.rsi
state: high
- type: RandomSpawner - type: RandomSpawner
rarePrototypes: rarePrototypes:
- lanternextrabright - lanternextrabright
- PowerCellMediumSuper - PowerCellHigh
- PowerCellSmallSuper - PowerCellMicroreactor
- PowerCellLargeSuper
- PowerCellSmallAutorecharge
rareChance: 0.08 rareChance: 0.08
prototypes: prototypes:
- FlashlightLantern - FlashlightLantern

View File

@@ -1,8 +1,5 @@
# TODO: Add descriptions (3)
# Power cells
- type: entity - type: entity
id: PowerCellSmallBase id: BasePowerCell
abstract: true abstract: true
parent: BaseItem parent: BaseItem
components: components:
@@ -11,6 +8,7 @@
- type: Explosive - type: Explosive
explosionType: Default explosionType: Default
- type: Sprite - type: Sprite
sprite: Objects/Power/power_cells.rsi
netsync: false netsync: false
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
@@ -28,144 +26,125 @@
- type: Tag - type: Tag
tags: tags:
- DroneUsable - DroneUsable
- type: Appearance
- type: entity - type: PowerCellVisuals
id: PowerCellMediumBase
abstract: true
parent: PowerCellSmallBase
components:
- type: PowerCell
cellSize: Medium
- type: entity
id: PowerCellLargeBase
abstract: true
parent: PowerCellSmallBase
components:
- type: PowerCell
cellSize: Large
- type: entity - type: entity
name: potato battery name: potato battery
description: Someone's stuck two nails and some wire in a large potato. Somehow it provides a little charge. You might be able to cram it into an M-sized slot. description: Someone's stuck two nails and some wire in a large potato. Somehow it provides a little charge.
id: PowerCellMediumPotato id: PowerCellPotato
parent: PowerCellMediumBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/potato_battery.rsi
layers: layers:
- state: potato_battery - state: potato
- type: Battery - type: Battery
maxCharge: 360 maxCharge: 200
startingCharge: 360 startingCharge: 200
- type: entity - type: entity
name: small standard power cell name: small-capacity power cell
description: A rechargeable standardized power cell, size S. This is the cheapest kind you can find. description: A rechargeable power cell. This is the cheapest kind you can find.
id: PowerCellSmallStandard id: PowerCellSmall
suffix: Full suffix: Full
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi
layers: layers:
- state: s_st - map: [ "enum.PowerCellVisualLayers.Base" ]
state: small
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 360 maxCharge: 360
startingCharge: 360 startingCharge: 360
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_st
- type: entity - type: entity
id: PowerCellSmallStandardPrinted id: PowerCellSmallPrinted
suffix: Empty suffix: Empty
parent: PowerCellSmallStandard parent: PowerCellSmall
components: components:
- type: Battery - type: Battery
maxCharge: 360 maxCharge: 360
startingCharge: 0 startingCharge: 0
- type: entity - type: entity
name: small high-capacity power cell name: medium-capacity power cell
description: A rechargeable standardized power cell, size S. This is the popular and reliable version. description: A rechargeable power cell. This is the popular and reliable version.
id: PowerCellSmallHigh id: PowerCellMedium
suffix: Full suffix: Full
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi
layers: layers:
- state: s_hi - map: [ "enum.PowerCellVisualLayers.Base" ]
state: medium
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 720 maxCharge: 720
startingCharge: 720 startingCharge: 720
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_hi
- type: entity - type: entity
id: PowerCellSmallHighPrinted id: PowerCellMediumPrinted
suffix: Empty suffix: Empty
parent: PowerCellSmallHigh parent: PowerCellMedium
components: components:
- type: Battery - type: Battery
maxCharge: 720 maxCharge: 720
startingCharge: 0 startingCharge: 0
- type: entity - type: entity
name: small super-capacity power cell name: high-capacity power cell
description: A rechargeable standardized power cell, size S. This premium high-capacity brand stores up to 50% more energy than the competition. description: A rechargeable standardized power cell. This premium brand stores up to 50% more energy than the competition.
id: PowerCellSmallSuper id: PowerCellHigh
suffix: Full suffix: Full
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi
layers: layers:
- state: s_sup - map: [ "enum.PowerCellVisualLayers.Base" ]
state: high
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 1080 maxCharge: 1080
startingCharge: 1080 startingCharge: 1080
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_sup
- type: entity - type: entity
id: PowerCellSmallSuperPrinted id: PowerCellHighPrinted
suffix: Empty suffix: Empty
parent: PowerCellSmallSuper parent: PowerCellHigh
components: components:
- type: Battery - type: Battery
maxCharge: 1080 maxCharge: 1080
startingCharge: 0 startingCharge: 0
- type: entity - type: entity
name: small hyper-capacity power cell name: hyper-capacity power cell
description: A rechargeable standardized power cell, size S. This one looks like a rare and powerful prototype. description: A rechargeable standardized power cell. This one looks like a rare and powerful prototype.
id: PowerCellSmallHyper id: PowerCellHyper
suffix: Full suffix: Full
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_hy.rsi
layers: layers:
- state: s_hy - map: [ "enum.PowerCellVisualLayers.Base" ]
state: hyper
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 1800 maxCharge: 1800
startingCharge: 1800 startingCharge: 1800
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_hy
- type: entity - type: entity
id: PowerCellSmallHyperPrinted id: PowerCellHyperPrinted
suffix: Empty suffix: Empty
parent: PowerCellSmallHyper parent: PowerCellHyper
components: components:
- type: Battery - type: Battery
maxCharge: 1800 maxCharge: 1800
@@ -173,289 +152,41 @@
- type: entity - type: entity
name: small microreactor cell name: small microreactor cell
description: A rechargeable standardized microreactor cell, size S. Intended for low-power devices, it slowly recharges by itself. description: A rechargeable standardized microreactor cell. Intended for low-power devices, it slowly recharges by itself.
id: PowerCellSmallAutorecharge id: PowerCellMicroreactor
suffix: Full suffix: Full
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers: layers:
- state: s_ar - map: [ "enum.PowerCellVisualLayers.Base" ]
state: microreactor
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 50 maxCharge: 50
startingCharge: 50 startingCharge: 50
- type: BatterySelfRecharger - type: BatterySelfRecharger
autoRecharge: true autoRecharge: true
autoRechargeRate: 0.16667 #takes about 5 minutes to charge itself back to full autoRechargeRate: 0.16667 #takes about 5 minutes to charge itself back to full
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity
name: hardsuit helmet power cell
description: A small cell that recharges itself intended for hardsuit helmets.
id: PowerCellHardsuitHelmet
suffix: Full
parent: PowerCellSmallBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers:
- state: s_ar
- type: Battery
maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.
startingCharge: 600
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 2 #recharge of 2 makes total drain 1w / s so max charge is 1:1 with time. Time to fully charge should be 5 minutes. Having recharge gives light an extended flicker period which gives you some warning to return to light area.
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity - type: entity
name: antique power cell prototype name: antique power cell prototype
description: A small cell that self recharges. Used in old laser arms research. description: A small cell that self recharges. Used in old laser arms research.
id: PowerCellAntiqueProto id: PowerCellAntiqueProto
parent: PowerCellSmallBase parent: BasePowerCell
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers: layers:
- state: s_ar - map: [ "enum.PowerCellVisualLayers.Base" ]
state: antique
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery - type: Battery
maxCharge: 1200 maxCharge: 1200
startingCharge: 1200 startingCharge: 1200
- type: BatterySelfRecharger - type: BatterySelfRecharger
autoRecharge: true autoRecharge: true
autoRechargeRate: 40 autoRechargeRate: 40
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity
name: medium standard power cell
description: A rechargeable standardized power cell, size M. This is the cheapest kind you can find.
id: PowerCellMediumStandard
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_st.rsi
layers:
- state: m_st
- type: Battery
maxCharge: 2160
startingCharge: 2160
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_st
- type: entity
id: PowerCellMediumStandardPrinted
suffix: Empty
parent: PowerCellMediumStandard
components:
- type: Battery
maxCharge: 2160
startingCharge: 0
- type: entity
name: medium high-capacity power cell
description: A rechargeable standardized power cell, size M. This is the popular and reliable version.
id: PowerCellMediumHigh
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_hi.rsi
layers:
- state: m_hi
- type: Battery
maxCharge: 2880
startingCharge: 2880
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_hi
- type: entity
id: PowerCellMediumHighPrinted
suffix: Empty
parent: PowerCellMediumHigh
components:
- type: Battery
maxCharge: 2880
startingCharge: 0
- type: entity
name: medium super-capacity power cell
description: A rechargeable standardized power cell, size M. This premium high-capacity brand stores up to 50% more energy than the competition.
id: PowerCellMediumSuper
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_sup.rsi
layers:
- state: m_sup
- type: Battery
maxCharge: 3600
startingCharge: 3600
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_sup
- type: entity
id: PowerCellMediumSuperPrinted
suffix: Empty
parent: PowerCellMediumSuper
components:
- type: Battery
maxCharge: 3600
startingCharge: 0
- type: entity
name: medium hyper-capacity power cell
description: A rechargeable standardized power cell, size M. This one looks like a rare and powerful prototype.
id: PowerCellMediumHyper
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_hy.rsi
layers:
- state: m_hy
- type: Battery
maxCharge: 5400
startingCharge: 5400
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_hy
- type: entity
id: PowerCellMediumHyperPrinted
suffix: Empty
parent: PowerCellMediumHyper
components:
- type: Battery
maxCharge: 5400
startingCharge: 0
- type: entity
name: large standard power cell
description: A rechargeable standardized power cell, size L. This is the cheapest kind you can find.
id: PowerCellLargeStandard
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_st.rsi
layers:
- state: l_st
- type: Battery
maxCharge: 9000
startingCharge: 9000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_st
- type: entity
id: PowerCellLargeStandardPrinted
suffix: Empty
parent: PowerCellLargeStandard
components:
- type: Battery
maxCharge: 9000
startingCharge: 0
- type: entity
name: large high-capacity power cell
description: A rechargeable standardized power cell, size L. This is the popular and reliable version.
id: PowerCellLargeHigh
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_hi.rsi
layers:
- state: l_hi
- type: Battery
maxCharge: 18000
startingCharge: 18000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_hi
- type: entity
id: PowerCellLargeHighPrinted
suffix: Empty
parent: PowerCellLargeHigh
components:
- type: Battery
maxCharge: 18000
startingCharge: 0
- type: entity
name: large super-capacity power cell
description: A rechargeable standardized power cell, size M. This premium high-capacity brand stores up to 50% more energy than the competition.
id: PowerCellLargeSuper
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_sup.rsi
layers:
- state: l_sup
- type: Battery
maxCharge: 54000
startingCharge: 54000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_sup
- type: entity
id: PowerCellLargeSuperPrinted
suffix: Empty
parent: PowerCellLargeSuper
components:
- type: Battery
maxCharge: 54000
startingCharge: 0
- type: entity
name: large hyper-capacity power cell
description: A rechargeable standardized power cell, size L. This one looks like a rare and powerful prototype.
id: PowerCellLargeHyper
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_hy.rsi
layers:
- state: l_hy
- type: Battery
maxCharge: 72000
startingCharge: 72000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_hy
- type: entity
id: PowerCellLargeHyperPrinted
suffix: Empty
parent: PowerCellLargeHyper
components:
- type: Battery
maxCharge: 72000
startingCharge: 0

View File

@@ -27,7 +27,7 @@
shader: unshaded shader: unshaded
- type: PowerCellSlot - type: PowerCellSlot
cellSlot: cellSlot:
startingItem: PowerCellSmallHigh startingItem: PowerCellMedium
- type: ContainerContainer - type: ContainerContainer
containers: containers:
cell_slot: !type:ContainerSlot cell_slot: !type:ContainerSlot
@@ -60,7 +60,7 @@
components: components:
- type: PowerCellSlot - type: PowerCellSlot
cellSlot: cellSlot:
startingItem: PowerCellSmallSuper startingItem: PowerCellHigh
- type: HandheldLight - type: HandheldLight
addPrefix: false addPrefix: false
inhandVisuals: inhandVisuals:

View File

@@ -29,7 +29,7 @@
- type: ToggleableLightVisuals - type: ToggleableLightVisuals
- type: PowerCellSlot - type: PowerCellSlot
cellSlot: cellSlot:
startingItem: PowerCellSmallHigh startingItem: PowerCellMedium
- type: entity - type: entity
name: extra-bright lantern name: extra-bright lantern

View File

@@ -193,15 +193,9 @@
- FlashPayload - FlashPayload
- Signaller - Signaller
- SignalTrigger - SignalTrigger
- PowerCellSmallStandard - PowerCellSmall
- PowerCellSmallHigh - PowerCellMedium
- PowerCellSmallSuper - PowerCellHigh
- PowerCellMediumStandard
- PowerCellMediumHigh
- PowerCellMediumSuper
- PowerCellLargeStandard
- PowerCellLargeHigh
- PowerCellLargeSuper
- type: ActivatableUI - type: ActivatableUI
key: enum.LatheUiKey.Key #Yes only having 1 of them here doesn't break anything key: enum.LatheUiKey.Key #Yes only having 1 of them here doesn't break anything
- type: ActivatableUIRequiresPower - type: ActivatableUIRequiresPower

View File

@@ -1,16 +1,20 @@
- type: latheRecipe - type: latheRecipe
id: PowerCellSmallStandard id: PowerCellSmall
icon: Objects/Power/PowerCells/power_cell_small_st.rsi/s_st.png icon:
result: PowerCellSmallStandardPrinted sprite: Objects/Power/power_cells.rsi
state: small
result: PowerCellSmallPrinted
completetime: 1 completetime: 1
materials: materials:
Steel: 100 Steel: 100
Plastic: 50 Plastic: 50
- type: latheRecipe - type: latheRecipe
id: PowerCellSmallHigh id: PowerCellMedium
icon: Objects/Power/PowerCells/power_cell_small_hi.rsi/s_hi.png icon:
result: PowerCellSmallHighPrinted sprite: Objects/Power/power_cells.rsi
state: medium
result: PowerCellMediumPrinted
completetime: 6 completetime: 6
materials: materials:
Steel: 300 Steel: 300
@@ -19,75 +23,14 @@
Gold: 10 Gold: 10
- type: latheRecipe - type: latheRecipe
id: PowerCellSmallSuper id: PowerCellHigh
icon: Objects/Power/PowerCells/power_cell_small_sup.rsi/s_sup.png icon:
result: PowerCellSmallSuperPrinted sprite: Objects/Power/power_cells.rsi
state: high
result: PowerCellHighPrinted
completetime: 10 completetime: 10
materials: materials:
Steel: 300 Steel: 300
Glass: 400 Glass: 400
Plastic: 200 Plastic: 200
Gold: 50 Gold: 50
# The resource required is scaled to their power capacity
- type: latheRecipe
id: PowerCellMediumStandard
icon: Objects/Power/PowerCells/power_cell_medium_st.rsi/m_st.png
result: PowerCellMediumStandardPrinted
completetime: 1
materials:
Steel: 600
Plastic: 300
- type: latheRecipe
id: PowerCellMediumHigh
icon: Objects/Power/PowerCells/power_cell_medium_hi.rsi/m_hi.png
result: PowerCellMediumHighPrinted
completetime: 6
materials:
Steel: 1800
Glass: 1800
Plastic: 600
Gold: 60
- type: latheRecipe
id: PowerCellMediumSuper
icon: Objects/Power/PowerCells/power_cell_medium_sup.rsi/m_sup.png
result: PowerCellMediumSuperPrinted
completetime: 10
materials:
Steel: 1800
Glass: 2400
Plastic: 1200
Gold: 300
- type: latheRecipe
id: PowerCellLargeStandard
icon: Objects/Power/PowerCells/power_cell_large_st.rsi/l_st.png
result: PowerCellLargeStandardPrinted
completetime: 1
materials:
Steel: 2500
Plastic: 1250
- type: latheRecipe
id: PowerCellLargeHigh
icon: Objects/Power/PowerCells/power_cell_large_hi.rsi/l_hi.png
result: PowerCellLargeHighPrinted
completetime: 6
materials:
Steel: 7500
Glass: 7500
Plastic: 2500
Gold: 250
- type: latheRecipe
id: PowerCellLargeSuper
icon: Objects/Power/PowerCells/power_cell_large_sup.rsi/l_sup.png
result: PowerCellLargeSuperPrinted
completetime: 10
materials:
Steel: 7500
Glass: 10000
Plastic: 5000
Gold: 1250

View File

@@ -1,15 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/commit/7dcdbc1468ffdc8689b984cb6b181d48ae41dbf2",
"states": [
{
"name": "potato_battery",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "l_hi",
},
{
"name": "l_hi_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "l_hi_100",
},
{
"name": "l_hi_25",
},
{
"name": "l_hi_50",
},
{
"name": "l_hi_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "l_hy",
},
{
"name": "l_hy_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "l_hy_100",
},
{
"name": "l_hy_25",
},
{
"name": "l_hy_50",
},
{
"name": "l_hy_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "l_st",
},
{
"name": "l_st_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "l_st_100",
},
{
"name": "l_st_25",
},
{
"name": "l_st_50",
},
{
"name": "l_st_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "l_sup",
},
{
"name": "l_sup_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "l_sup_100",
},
{
"name": "l_sup_25",
},
{
"name": "l_sup_50",
},
{
"name": "l_sup_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "m_hi",
},
{
"name": "m_hi_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "m_hi_100",
},
{
"name": "m_hi_25",
},
{
"name": "m_hi_50",
},
{
"name": "m_hi_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "m_hy",
},
{
"name": "m_hy_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "m_hy_100",
},
{
"name": "m_hy_25",
},
{
"name": "m_hy_50",
},
{
"name": "m_hy_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "m_st",
},
{
"name": "m_st_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "m_st_100",
},
{
"name": "m_st_25",
},
{
"name": "m_st_50",
},
{
"name": "m_st_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/",
"states": [
{
"name": "m_sup",
},
{
"name": "m_sup_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "m_sup_100",
},
{
"name": "m_sup_25",
},
{
"name": "m_sup_50",
},
{
"name": "m_sup_75",
}
]
}

View File

@@ -1,40 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/discordia-space/CEV-Eris/blob/master/icons/obj/power_cells.dmi",
"states": [
{
"name": "s_ar",
},
{
"name": "s_ar_0",
"delays": [
[
0.2,
0.2
]
]
},
{
"name": "s_ar_100",
},
{
"name": "s_ar_25",
},
{
"name": "s_ar_50",
},
{
"name": "s_ar_75",
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 B

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris at commit 9a3a3a180344460263e8df7ea2565128e07b86b5", "states": [{"name": "s_hi", "delays": [[1.0]]}, {"name": "s_hi_0", "delays": [[0.2, 0.2]]}, {"name": "s_hi_100", "delays": [[1.0]]}, {"name": "s_hi_25", "delays": [[1.0]]}, {"name": "s_hi_50", "delays": [[1.0]]}, {"name": "s_hi_75", "delays": [[1.0]]}]}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Some files were not shown because too many files have changed in this diff Show More