Skip to content

Commit 2e861a1

Browse files
committed
ACP / Breaker basics
1 parent 6c45f66 commit 2e861a1

File tree

8 files changed

+186
-5
lines changed

8 files changed

+186
-5
lines changed
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
- type: entity
2+
id: N14APCBreaker
3+
name: Electrical Breaker
4+
description: A breaker box for controlling electrical systems.
5+
placement:
6+
mode: SnapgridCenter
7+
components:
8+
- type: AmbientOnPowered
9+
- type: AmbientSound
10+
volume: -9
11+
range: 2
12+
sound:
13+
path: /Audio/Ambience/Objects/hdd_buzz.ogg
14+
- type: PointLight
15+
radius: 1.5
16+
energy: 1.6
17+
color: "#3db83b"
18+
castShadows: false
19+
netsync: false
20+
- type: Clickable
21+
- type: InteractionOutline
22+
- type: Transform
23+
anchored: true
24+
- type: Sprite
25+
drawdepth: WallMountedItems
26+
sprite: Nuclear14/Structures/Power/breakerbox.rsi
27+
layers:
28+
- state: base
29+
- state: panel
30+
map: ["enum.WiresVisualLayers.MaintenancePanel"]
31+
visible: false
32+
- state: display-charging
33+
shader: unshaded
34+
map: ["enum.ApcVisualLayers.ChargeState"]
35+
# - state: lock0-unlocked
36+
# shader: unshaded
37+
# map: ["enum.ApcVisualLayers.InterfaceLock"]
38+
# - state: lock1-unlocked
39+
# shader: unshaded
40+
# map: ["enum.ApcVisualLayers.PanelLock"]
41+
- state: channel1-auto_on
42+
shader: unshaded
43+
map: ["enum.ApcVisualLayers.Equipment"]
44+
- state: channel1-auto_on
45+
shader: unshaded
46+
map: ["enum.ApcVisualLayers.Lighting"]
47+
- state: channel1-auto_on
48+
shader: unshaded
49+
map: ["enum.ApcVisualLayers.Environment"]
50+
- type: Appearance
51+
- type: ApcVisuals
52+
- type: Battery
53+
maxCharge: 500
54+
startingCharge: 0
55+
- type: ExaminableBattery
56+
- type: NodeContainer
57+
examinable: true
58+
nodes:
59+
input:
60+
!type:CableDeviceNode
61+
nodeGroupID: MVPower
62+
output:
63+
!type:CableDeviceNode
64+
nodeGroupID: Apc
65+
- type: BatteryCharger
66+
voltage: Medium
67+
- type: PowerProvider
68+
voltage: Apc
69+
- type: Apc
70+
voltage: Apc
71+
- type: ExtensionCableProvider
72+
- type: UserInterface
73+
interfaces:
74+
- key: enum.ApcUiKey.Key
75+
type: ApcBoundUserInterface
76+
- type: ActivatableUI
77+
inHandsOnly: false
78+
singleUser: true
79+
key: enum.ApcUiKey.Key
80+
# - type: Construction
81+
# graph: APC
82+
# node: apc
83+
- type: PowerNetworkBattery
84+
maxSupply: 10000
85+
maxChargeRate: 5000
86+
supplyRampTolerance: 1000
87+
supplyRampRate: 500
88+
- type: WallMount
89+
- type: WiresPanel
90+
- type: Wires
91+
BoardName: "APC"
92+
LayoutId: APC
93+
- type: WiresVisuals
94+
- type: Damageable
95+
damageContainer: Inorganic
96+
damageModifierSet: StrongMetallic
97+
- type: Destructible
98+
thresholds:
99+
- trigger:
100+
!type:DamageTrigger
101+
damage: 200
102+
behaviors: #excess damage, don't spawn entities.
103+
- !type:DoActsBehavior
104+
acts: [ "Destruction" ]
105+
- trigger:
106+
!type:DamageTrigger
107+
damage: 50
108+
behaviors:
109+
- !type:SpawnEntitiesBehavior
110+
spawn:
111+
SheetSteel1:
112+
min: 1
113+
max: 1
114+
- !type:DoActsBehavior
115+
acts: [ "Destruction" ]
116+
- type: StationInfiniteBatteryTarget
117+
- type: Electrified
118+
onHandInteract: false
119+
onInteractUsing: false
120+
onBump: false
121+
requirePower: true
122+
mediumVoltageNode: input
123+
lowVoltageNode: output
124+
- type: StaticPrice
125+
price: 500
126+
127+
# APC under construction
128+
- type: entity
129+
id: N14APCBreakerFrame
130+
name: APC frame
131+
description: A breaker box for controlling electrical systems., lacking the electronics.
132+
placement:
133+
mode: SnapgridCenter
134+
components:
135+
- type: Clickable
136+
- type: InteractionOutline
137+
- type: Transform
138+
anchored: true
139+
- type: Sprite
140+
drawdepth: WallMountedItems
141+
sprite: Nuclear14/Structures/Power/breakerbox.rsi
142+
state: frame
143+
# - type: Construction
144+
# graph: APC
145+
# node: apcFrame
146+
- type: WallMount
147+
- type: Damageable
148+
damageContainer: Inorganic
149+
damageModifierSet: Metallic
150+
- type: Destructible
151+
thresholds:
152+
- trigger:
153+
!type:DamageTrigger
154+
damage: 200
155+
behaviors: #excess damage, don't spawn entities.
156+
- !type:DoActsBehavior
157+
acts: [ "Destruction" ]
158+
- trigger:
159+
!type:DamageTrigger
160+
damage: 50
161+
behaviors:
162+
- !type:SpawnEntitiesBehavior
163+
spawn:
164+
SheetSteel1:
165+
min: 1
166+
max: 1
167+
- !type:DoActsBehavior
168+
acts: [ "Destruction" ]
169+
170+
# Constructed APC
171+
- type: entity
172+
parent: N14APCBreaker
173+
id: N14APCBreakerConstructed
174+
suffix: Open
175+
components:
176+
- type: WiresPanel
177+
open: true
Loading

Resources/Textures/Nuclear14/Structures/Power/breakerbox.rsi/meta.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,29 @@
88
},
99
"states": [
1010
{
11-
"name": "charging"
11+
"name": "display-charging"
1212
},
1313
{
1414
"name": "frame"
1515
},
1616
{
17-
"name": "off"
17+
"name": "channel1-auto_off"
1818
},
1919
{
20-
"name": "on"
20+
"name": "channel1-auto_on"
2121
},
2222
{
23-
"name": "open"
23+
"name": "panel"
2424
},
2525
{
2626
"name": "base"
2727
},
2828
{
29-
"name": "charged"
29+
"name": "display-lack"
30+
},
31+
{
32+
"name": "display-full"
3033
}
34+
3135
]
3236
}

0 commit comments

Comments
 (0)