Power cell culling (#8814)
@@ -1,7 +1,38 @@
|
||||
using Content.Shared.PowerCell;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.GameObjects;
|
||||
|
||||
namespace Content.Client.PowerCell;
|
||||
|
||||
[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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
4
Content.Client/PowerCell/PowerCellVisualsComponent.cs
Normal file
@@ -0,0 +1,4 @@
|
||||
namespace Content.Client.PowerCell;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed class PowerCellVisualsComponent : Component {}
|
||||
@@ -25,6 +25,7 @@ namespace Content.Server.Entry
|
||||
"HandheldGPS",
|
||||
"SpentAmmoVisuals",
|
||||
"MagazineVisuals",
|
||||
"PowerCellVisuals",
|
||||
"ToggleableLightVisuals",
|
||||
"CableVisualizer",
|
||||
"PotencyVisuals",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Content.Server.Actions;
|
||||
using Content.Server.Light.Components;
|
||||
using Content.Server.Popups;
|
||||
using Content.Server.Power.Components;
|
||||
using Content.Server.PowerCell;
|
||||
using Content.Shared.Actions;
|
||||
using Content.Shared.Actions.ActionTypes;
|
||||
@@ -220,7 +221,8 @@ namespace Content.Server.Light.EntitySystems
|
||||
{
|
||||
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);
|
||||
_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)
|
||||
{
|
||||
if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery))
|
||||
if (!_powerCell.TryGetBatteryFromSlot(component.Owner, out var battery) &&
|
||||
!TryComp(component.Owner, out battery))
|
||||
{
|
||||
TurnOff(component, false);
|
||||
return;
|
||||
|
||||
@@ -12,25 +12,15 @@ namespace Content.Shared.PowerCell;
|
||||
public sealed class PowerCellComponent : Component
|
||||
{
|
||||
public const string SolutionName = "powerCell";
|
||||
public const int PowerCellVisualsLevels = 4;
|
||||
|
||||
[DataField("cellSize")]
|
||||
public PowerCellSize CellSize = PowerCellSize.Small;
|
||||
public const int PowerCellVisualsLevels = 2;
|
||||
|
||||
// Not networked to clients
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool IsRigged { get; set; }
|
||||
}
|
||||
|
||||
public enum PowerCellSize
|
||||
{
|
||||
Small = 0,
|
||||
Medium = 1,
|
||||
Large = 2
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum PowerCellVisuals
|
||||
public enum PowerCellVisuals : byte
|
||||
{
|
||||
ChargeLevel
|
||||
}
|
||||
|
||||
@@ -5,13 +5,6 @@ namespace Content.Shared.PowerCell.Components;
|
||||
[RegisterComponent]
|
||||
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>
|
||||
/// The actual item-slot that contains the cell. Allows all the interaction logic to be handled by <see cref="ItemSlotsSystem"/>.
|
||||
/// </summary>
|
||||
|
||||
@@ -18,8 +18,6 @@ public abstract class SharedPowerCellSystem : EntitySystem
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, ComponentInit>(OnCellSlotInit);
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, ComponentRemove>(OnCellSlotRemove);
|
||||
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, ExaminedEvent>(OnSlotExamined);
|
||||
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, EntInsertedIntoContainerMessage>(OnCellInserted);
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, EntRemovedFromContainerMessage>(OnCellRemoved);
|
||||
SubscribeLocalEvent<PowerCellSlotComponent, ContainerIsInsertingAttemptEvent>(OnCellInsertAttempt);
|
||||
@@ -33,7 +31,7 @@ public abstract class SharedPowerCellSystem : EntitySystem
|
||||
if (args.Container.ID != component.CellSlot.ID)
|
||||
return;
|
||||
|
||||
if (!TryComp(args.EntityUid, out PowerCellComponent? cell) || cell.CellSize != component.SlotSize)
|
||||
if (!HasComp<PowerCellComponent>(args.EntityUid))
|
||||
{
|
||||
args.Cancel();
|
||||
}
|
||||
@@ -67,41 +65,10 @@ public abstract class SharedPowerCellSystem : EntitySystem
|
||||
{
|
||||
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)
|
||||
{
|
||||
_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)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1737,13 +1737,13 @@ entities:
|
||||
parent: 179
|
||||
type: Transform
|
||||
- uid: 186
|
||||
type: PowerCellSmallHigh
|
||||
type: PowerCellMedium
|
||||
components:
|
||||
- pos: -2.67511,-10.351
|
||||
parent: 179
|
||||
type: Transform
|
||||
- uid: 187
|
||||
type: PowerCellSmallHigh
|
||||
type: PowerCellMedium
|
||||
components:
|
||||
- pos: -2.55011,-10.6635
|
||||
parent: 179
|
||||
|
||||
@@ -86506,7 +86506,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 7165
|
||||
type: PowerCellMediumPotato
|
||||
type: PowerCellPotato
|
||||
components:
|
||||
- pos: -20.516964,-56.33504
|
||||
parent: 60
|
||||
@@ -105329,7 +105329,7 @@ entities:
|
||||
parent: 60
|
||||
type: Transform
|
||||
- uid: 9621
|
||||
type: PowerCellLargeSuper
|
||||
type: PowerCellHigh
|
||||
components:
|
||||
- pos: -37.43891,14.626589
|
||||
parent: 60
|
||||
@@ -151805,7 +151805,7 @@ entities:
|
||||
ents: []
|
||||
type: ContainerContainer
|
||||
- uid: 16084
|
||||
type: PowerCellSmallAutorecharge
|
||||
type: PowerCellMicroreactor
|
||||
components:
|
||||
- pos: 0.55256647,20.72724
|
||||
parent: 60
|
||||
|
||||
@@ -111283,7 +111283,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 12271
|
||||
type: PowerCellMediumPotato
|
||||
type: PowerCellPotato
|
||||
components:
|
||||
- pos: -3.516998,-36.44544
|
||||
parent: 106
|
||||
|
||||
@@ -47764,7 +47764,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 1777
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -10.414857,-37.378014
|
||||
parent: 60
|
||||
@@ -54147,7 +54147,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2674
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -55.456623,-37.464394
|
||||
parent: 60
|
||||
@@ -54155,7 +54155,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2675
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -55.44885,-38.160557
|
||||
parent: 60
|
||||
@@ -57048,7 +57048,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 3076
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -55.356537,-43.214397
|
||||
parent: 60
|
||||
@@ -79980,7 +79980,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 6323
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -50.5,-9.5
|
||||
parent: 60
|
||||
@@ -133076,7 +133076,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 13755
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 12.5294485,82.53368
|
||||
parent: 60
|
||||
@@ -154878,7 +154878,7 @@ entities:
|
||||
ents: []
|
||||
type: ContainerContainer
|
||||
- uid: 16985
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 16.412798,54.560455
|
||||
parent: 60
|
||||
@@ -171164,7 +171164,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 19288
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 43.575706,-44.36233
|
||||
parent: 60
|
||||
|
||||
@@ -37441,7 +37441,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 2119
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -27.504559,56.49509
|
||||
parent: 30
|
||||
@@ -37449,7 +37449,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2120
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -27.504559,56.68259
|
||||
parent: 30
|
||||
|
||||
@@ -53389,7 +53389,7 @@ entities:
|
||||
parent: 130
|
||||
type: Transform
|
||||
- uid: 4846
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 29.227386,-9.561591
|
||||
parent: 130
|
||||
@@ -90644,7 +90644,7 @@ entities:
|
||||
parent: 130
|
||||
type: Transform
|
||||
- uid: 9699
|
||||
type: PowerCellMediumPotato
|
||||
type: PowerCellPotato
|
||||
components:
|
||||
- pos: 34.5,-20.500025
|
||||
parent: 130
|
||||
@@ -93243,7 +93243,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 9947
|
||||
type: PowerCellLargeHigh
|
||||
type: PowerCellMedium
|
||||
components:
|
||||
- pos: 29.548517,-9.58406
|
||||
parent: 130
|
||||
@@ -95478,7 +95478,7 @@ entities:
|
||||
parent: 130
|
||||
type: Transform
|
||||
- uid: 10276
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: -40.50005,-16.500025
|
||||
parent: 130
|
||||
|
||||
@@ -28487,7 +28487,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2075
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 9.531351,32.51714
|
||||
parent: 2
|
||||
@@ -50161,7 +50161,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 5313
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 56.529827,20.631775
|
||||
parent: 2
|
||||
@@ -50725,7 +50725,7 @@ entities:
|
||||
ents: []
|
||||
type: ContainerContainer
|
||||
- uid: 5382
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 50.725174,11.548619
|
||||
parent: 2
|
||||
@@ -94093,7 +94093,7 @@ entities:
|
||||
parent: 2
|
||||
type: Transform
|
||||
- uid: 11070
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 9191
|
||||
type: Transform
|
||||
@@ -94878,7 +94878,7 @@ entities:
|
||||
parent: 2
|
||||
type: Transform
|
||||
- uid: 11166
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 11154
|
||||
type: Transform
|
||||
|
||||
@@ -22187,7 +22187,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2097
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 9.531351,32.51714
|
||||
parent: 0
|
||||
@@ -43826,7 +43826,7 @@ entities:
|
||||
charger-slot: !type:ContainerSlot {}
|
||||
type: ContainerContainer
|
||||
- uid: 5336
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 56.529827,20.631775
|
||||
parent: 0
|
||||
@@ -44390,7 +44390,7 @@ entities:
|
||||
ents: []
|
||||
type: ContainerContainer
|
||||
- uid: 5405
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 50.725174,11.548619
|
||||
parent: 0
|
||||
@@ -87726,7 +87726,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 11108
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 9229
|
||||
type: Transform
|
||||
@@ -88505,7 +88505,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 11204
|
||||
type: PowerCellMediumStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 11192
|
||||
type: Transform
|
||||
|
||||
@@ -17902,7 +17902,7 @@ entities:
|
||||
parent: 852
|
||||
type: Transform
|
||||
- uid: 1130
|
||||
type: PowerCellSmallStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 1549
|
||||
type: Transform
|
||||
|
||||
@@ -105162,7 +105162,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 11187
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 14.5,-105.5
|
||||
parent: 69
|
||||
|
||||
@@ -4210,7 +4210,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 153
|
||||
type: PowerCellSmallStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 152
|
||||
type: Transform
|
||||
@@ -4225,7 +4225,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 155
|
||||
type: PowerCellSmallStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- parent: 154
|
||||
type: Transform
|
||||
|
||||
@@ -35234,7 +35234,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 2452
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 8.459046,45.525425
|
||||
parent: 82
|
||||
@@ -45505,7 +45505,7 @@ entities:
|
||||
- canCollide: False
|
||||
type: Physics
|
||||
- uid: 3700
|
||||
type: PowerCellLargeStandard
|
||||
type: PowerCellSmall
|
||||
components:
|
||||
- pos: 44.656002,21.563784
|
||||
parent: 82
|
||||
@@ -56560,7 +56560,7 @@ entities:
|
||||
parent: 82
|
||||
type: Transform
|
||||
- uid: 4967
|
||||
type: PowerCellMediumPotato
|
||||
type: PowerCellPotato
|
||||
components:
|
||||
- pos: 32.49642,-0.21778393
|
||||
parent: 82
|
||||
|
||||
@@ -37,11 +37,7 @@
|
||||
# components:
|
||||
# - type: StorageFill
|
||||
# contents:
|
||||
# - id: PowerCellLargeStandard
|
||||
# amount: 3
|
||||
# - id: PowerCellMediumStandard
|
||||
# amount: 3
|
||||
# - id: PowerCellSmallAutorecharge
|
||||
# - id: PowerCellMicroreactor
|
||||
# amount: 3
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -63,9 +63,6 @@
|
||||
# Interesting (1%)
|
||||
# - Ammo
|
||||
- id: MagazineBoxMagnum
|
||||
prob: 0.01
|
||||
# - #shinies
|
||||
- id: PowerCellLargeHyper
|
||||
prob: 0.01
|
||||
# Just no (0.1%)
|
||||
# - Working guns
|
||||
|
||||
@@ -400,45 +400,39 @@
|
||||
id: PowerCellBasic
|
||||
description: Print standard powercells.
|
||||
icon:
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi
|
||||
state: s_st
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: small
|
||||
requiredPoints: 2500
|
||||
requiredTechnologies:
|
||||
- ElectromagneticTheory
|
||||
unlockedRecipes:
|
||||
- PowerCellSmallStandard
|
||||
- PowerCellMediumStandard
|
||||
- PowerCellLargeStandard
|
||||
- PowerCellSmall
|
||||
|
||||
- type: technology
|
||||
name: "advanced powercell printing"
|
||||
id: PowerCellAdvanced
|
||||
description: Print advanced powercells.
|
||||
icon:
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi
|
||||
state: s_hi
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: medium
|
||||
requiredPoints: 5000
|
||||
requiredTechnologies:
|
||||
- PowerCellBasic
|
||||
unlockedRecipes:
|
||||
- PowerCellSmallHigh
|
||||
- PowerCellMediumHigh
|
||||
- PowerCellLargeHigh
|
||||
- PowerCellMedium
|
||||
|
||||
- type: technology
|
||||
name: "super powercell printing"
|
||||
id: PowerCellSuper
|
||||
description: Print super powercells.
|
||||
icon:
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi
|
||||
state: s_sup
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: high
|
||||
requiredPoints: 10000
|
||||
requiredTechnologies:
|
||||
- PowerCellAdvanced
|
||||
unlockedRecipes:
|
||||
- PowerCellSmallSuper
|
||||
- PowerCellMediumSuper
|
||||
- PowerCellLargeSuper
|
||||
- PowerCellHigh
|
||||
# Basic Parts Technology Tree
|
||||
|
||||
- type: technology
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
startingInventory:
|
||||
ClothingEyesGlassesMeson: 4
|
||||
Multitool: 4
|
||||
PowerCellSmallHigh: 5
|
||||
PowerCellMedium: 5
|
||||
ClothingHandsGlovesColorYellow: 6
|
||||
InflatableWallStack1: 24
|
||||
InflatableDoorStack1: 8
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#roboticist under
|
||||
CableStack: 4
|
||||
Flash: 4
|
||||
PowerCellLargeHigh: 12
|
||||
#proximity sensor
|
||||
#signaller
|
||||
#health anaylzer
|
||||
|
||||
@@ -106,7 +106,9 @@
|
||||
- type: FlashLightVisualizer
|
||||
- type: HandheldLight
|
||||
addPrefix: true
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellHardsuitHelmet # self recharging
|
||||
locked: true # no need to recharge manually
|
||||
- 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.
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
- state: on-equipped-HELMET
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellSmallHigh
|
||||
startingItem: PowerCellMedium
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHeadHatHardhatBase
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
- type: IngestionBlocker
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellSmallHigh
|
||||
startingItem: PowerCellMedium
|
||||
- type: TemperatureProtection
|
||||
coefficient: 0.01
|
||||
- type: Armor
|
||||
|
||||
@@ -50,14 +50,13 @@
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- texture: Objects/Power/PowerCells/power_cell_large_sup.rsi/l_sup.png
|
||||
- sprite: Objects/Power/power_cells.rsi
|
||||
state: high
|
||||
- type: RandomSpawner
|
||||
rarePrototypes:
|
||||
- lanternextrabright
|
||||
- PowerCellMediumSuper
|
||||
- PowerCellSmallSuper
|
||||
- PowerCellLargeSuper
|
||||
- PowerCellSmallAutorecharge
|
||||
- PowerCellHigh
|
||||
- PowerCellMicroreactor
|
||||
rareChance: 0.08
|
||||
prototypes:
|
||||
- FlashlightLantern
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
# TODO: Add descriptions (3)
|
||||
# Power cells
|
||||
|
||||
- type: entity
|
||||
id: PowerCellSmallBase
|
||||
id: BasePowerCell
|
||||
abstract: true
|
||||
parent: BaseItem
|
||||
components:
|
||||
@@ -11,6 +8,7 @@
|
||||
- type: Explosive
|
||||
explosionType: Default
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
netsync: false
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
@@ -28,144 +26,125 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- DroneUsable
|
||||
|
||||
- type: entity
|
||||
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: Appearance
|
||||
- type: PowerCellVisuals
|
||||
|
||||
- type: entity
|
||||
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.
|
||||
id: PowerCellMediumPotato
|
||||
parent: PowerCellMediumBase
|
||||
description: Someone's stuck two nails and some wire in a large potato. Somehow it provides a little charge.
|
||||
id: PowerCellPotato
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/potato_battery.rsi
|
||||
layers:
|
||||
- state: potato_battery
|
||||
- state: potato
|
||||
- type: Battery
|
||||
maxCharge: 360
|
||||
startingCharge: 360
|
||||
maxCharge: 200
|
||||
startingCharge: 200
|
||||
|
||||
- type: entity
|
||||
name: small standard power cell
|
||||
description: A rechargeable standardized power cell, size S. This is the cheapest kind you can find.
|
||||
id: PowerCellSmallStandard
|
||||
name: small-capacity power cell
|
||||
description: A rechargeable power cell. This is the cheapest kind you can find.
|
||||
id: PowerCellSmall
|
||||
suffix: Full
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi
|
||||
layers:
|
||||
- state: s_st
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: small
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 360
|
||||
startingCharge: 360
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PowerCellVisualizer
|
||||
prefix: s_st
|
||||
|
||||
- type: entity
|
||||
id: PowerCellSmallStandardPrinted
|
||||
id: PowerCellSmallPrinted
|
||||
suffix: Empty
|
||||
parent: PowerCellSmallStandard
|
||||
parent: PowerCellSmall
|
||||
components:
|
||||
- type: Battery
|
||||
maxCharge: 360
|
||||
startingCharge: 0
|
||||
|
||||
- type: entity
|
||||
name: small high-capacity power cell
|
||||
description: A rechargeable standardized power cell, size S. This is the popular and reliable version.
|
||||
id: PowerCellSmallHigh
|
||||
name: medium-capacity power cell
|
||||
description: A rechargeable power cell. This is the popular and reliable version.
|
||||
id: PowerCellMedium
|
||||
suffix: Full
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi
|
||||
layers:
|
||||
- state: s_hi
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: medium
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 720
|
||||
startingCharge: 720
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PowerCellVisualizer
|
||||
prefix: s_hi
|
||||
|
||||
- type: entity
|
||||
id: PowerCellSmallHighPrinted
|
||||
id: PowerCellMediumPrinted
|
||||
suffix: Empty
|
||||
parent: PowerCellSmallHigh
|
||||
parent: PowerCellMedium
|
||||
components:
|
||||
- type: Battery
|
||||
maxCharge: 720
|
||||
startingCharge: 0
|
||||
|
||||
- type: entity
|
||||
name: small super-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.
|
||||
id: PowerCellSmallSuper
|
||||
name: high-capacity power cell
|
||||
description: A rechargeable standardized power cell. This premium brand stores up to 50% more energy than the competition.
|
||||
id: PowerCellHigh
|
||||
suffix: Full
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi
|
||||
layers:
|
||||
- state: s_sup
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: high
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 1080
|
||||
startingCharge: 1080
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PowerCellVisualizer
|
||||
prefix: s_sup
|
||||
|
||||
- type: entity
|
||||
id: PowerCellSmallSuperPrinted
|
||||
id: PowerCellHighPrinted
|
||||
suffix: Empty
|
||||
parent: PowerCellSmallSuper
|
||||
parent: PowerCellHigh
|
||||
components:
|
||||
- type: Battery
|
||||
maxCharge: 1080
|
||||
startingCharge: 0
|
||||
|
||||
- type: entity
|
||||
name: small hyper-capacity power cell
|
||||
description: A rechargeable standardized power cell, size S. This one looks like a rare and powerful prototype.
|
||||
id: PowerCellSmallHyper
|
||||
name: hyper-capacity power cell
|
||||
description: A rechargeable standardized power cell. This one looks like a rare and powerful prototype.
|
||||
id: PowerCellHyper
|
||||
suffix: Full
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_hy.rsi
|
||||
layers:
|
||||
- state: s_hy
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: hyper
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 1800
|
||||
startingCharge: 1800
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PowerCellVisualizer
|
||||
prefix: s_hy
|
||||
|
||||
- type: entity
|
||||
id: PowerCellSmallHyperPrinted
|
||||
id: PowerCellHyperPrinted
|
||||
suffix: Empty
|
||||
parent: PowerCellSmallHyper
|
||||
parent: PowerCellHyper
|
||||
components:
|
||||
- type: Battery
|
||||
maxCharge: 1800
|
||||
@@ -173,289 +152,41 @@
|
||||
|
||||
- type: entity
|
||||
name: small microreactor cell
|
||||
description: A rechargeable standardized microreactor cell, size S. Intended for low-power devices, it slowly recharges by itself.
|
||||
id: PowerCellSmallAutorecharge
|
||||
description: A rechargeable standardized microreactor cell. Intended for low-power devices, it slowly recharges by itself.
|
||||
id: PowerCellMicroreactor
|
||||
suffix: Full
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
|
||||
layers:
|
||||
- state: s_ar
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: microreactor
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 50
|
||||
startingCharge: 50
|
||||
- type: BatterySelfRecharger
|
||||
autoRecharge: true
|
||||
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
|
||||
name: antique power cell prototype
|
||||
description: A small cell that self recharges. Used in old laser arms research.
|
||||
id: PowerCellAntiqueProto
|
||||
parent: PowerCellSmallBase
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
|
||||
layers:
|
||||
- state: s_ar
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: antique
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 1200
|
||||
startingCharge: 1200
|
||||
- type: BatterySelfRecharger
|
||||
autoRecharge: true
|
||||
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
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
shader: unshaded
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellSmallHigh
|
||||
startingItem: PowerCellMedium
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
cell_slot: !type:ContainerSlot
|
||||
@@ -60,7 +60,7 @@
|
||||
components:
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellSmallSuper
|
||||
startingItem: PowerCellHigh
|
||||
- type: HandheldLight
|
||||
addPrefix: false
|
||||
inhandVisuals:
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
- type: ToggleableLightVisuals
|
||||
- type: PowerCellSlot
|
||||
cellSlot:
|
||||
startingItem: PowerCellSmallHigh
|
||||
startingItem: PowerCellMedium
|
||||
|
||||
- type: entity
|
||||
name: extra-bright lantern
|
||||
|
||||
@@ -193,15 +193,9 @@
|
||||
- FlashPayload
|
||||
- Signaller
|
||||
- SignalTrigger
|
||||
- PowerCellSmallStandard
|
||||
- PowerCellSmallHigh
|
||||
- PowerCellSmallSuper
|
||||
- PowerCellMediumStandard
|
||||
- PowerCellMediumHigh
|
||||
- PowerCellMediumSuper
|
||||
- PowerCellLargeStandard
|
||||
- PowerCellLargeHigh
|
||||
- PowerCellLargeSuper
|
||||
- PowerCellSmall
|
||||
- PowerCellMedium
|
||||
- PowerCellHigh
|
||||
- type: ActivatableUI
|
||||
key: enum.LatheUiKey.Key #Yes only having 1 of them here doesn't break anything
|
||||
- type: ActivatableUIRequiresPower
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
- type: latheRecipe
|
||||
id: PowerCellSmallStandard
|
||||
icon: Objects/Power/PowerCells/power_cell_small_st.rsi/s_st.png
|
||||
result: PowerCellSmallStandardPrinted
|
||||
id: PowerCellSmall
|
||||
icon:
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: small
|
||||
result: PowerCellSmallPrinted
|
||||
completetime: 1
|
||||
materials:
|
||||
Steel: 100
|
||||
Plastic: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCellSmallHigh
|
||||
icon: Objects/Power/PowerCells/power_cell_small_hi.rsi/s_hi.png
|
||||
result: PowerCellSmallHighPrinted
|
||||
id: PowerCellMedium
|
||||
icon:
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: medium
|
||||
result: PowerCellMediumPrinted
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 300
|
||||
@@ -19,75 +23,14 @@
|
||||
Gold: 10
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCellSmallSuper
|
||||
icon: Objects/Power/PowerCells/power_cell_small_sup.rsi/s_sup.png
|
||||
result: PowerCellSmallSuperPrinted
|
||||
id: PowerCellHigh
|
||||
icon:
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
state: high
|
||||
result: PowerCellHighPrinted
|
||||
completetime: 10
|
||||
materials:
|
||||
Steel: 300
|
||||
Glass: 400
|
||||
Plastic: 200
|
||||
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
|
||||
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 188 B |
|
Before Width: | Height: | Size: 187 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 221 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 187 B |
|
Before Width: | Height: | Size: 189 B |
|
Before Width: | Height: | Size: 187 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 181 B |
|
Before Width: | Height: | Size: 183 B |
|
Before Width: | Height: | Size: 180 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 176 B |
|
Before Width: | Height: | Size: 183 B |
|
Before Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 184 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 360 B |
|
Before Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 163 B |
|
Before Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 171 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 163 B |
|
Before Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 172 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 370 B |
|
Before Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 166 B |
|
Before Width: | Height: | Size: 173 B |
|
Before Width: | Height: | Size: 166 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 363 B |
|
Before Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 173 B |
|
Before Width: | Height: | Size: 167 B |
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 308 B |
|
Before Width: | Height: | Size: 176 B |
|
Before Width: | Height: | Size: 137 B |
|
Before Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 140 B |
@@ -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]]}]}
|
||||
|
Before Width: | Height: | Size: 170 B |