Power Rework (#863)

Co-authored-by: py01 <pyronetics01@gmail.com>
This commit is contained in:
py01
2020-06-28 09:23:26 -06:00
committed by GitHub
parent ffe25de723
commit 23cc6b1d4e
154 changed files with 11253 additions and 3913 deletions

View File

@@ -1,12 +1,11 @@
- type: entity
- type: entity
id: Arcade
name: arcade
parent: ComputerBase
components:
- type: Icon
state: arcade
- type: PowerDevice
priority: Low
- type: PowerReceiver
- type: Sprite
layers:
- state: arcade

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: Airlock
name: airlock
description: It opens, it closes, and maybe crushes you.
@@ -40,7 +40,7 @@
close_sound: /Audio/machines/airlock_close.ogg
deny_sound: /Audio/machines/airlock_deny.ogg
- type: WiresVisualizer2D
- type: PowerDevice
- type: PowerReceiver
- type: Wires
BoardName: "Airlock Control"
LayoutId: Airlock

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: BarSign
name: bar sign
components:
@@ -12,7 +12,7 @@
- type: Icon
sprite: Buildings/barsign.rsi
state: empty
- type: PowerDevice
- type: PowerReceiver
- type: BarSign

View File

@@ -10,7 +10,7 @@
texture: Buildings/chemicals.rsi/industrial_dispenser.png
- type: ReagentDispenser
pack: ChemDispenserStandardInventory
- type: PowerDevice
- type: PowerReceiver
- type: reagentDispenserInventory
id: ChemDispenserStandardInventory

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: ComputerBase
name: computer
abstract: true
@@ -26,8 +26,7 @@
sprite: Buildings/computer.rsi
state: computer
- type: Computer
- type: PowerDevice
priority: High
- type: PowerReceiver
- type: Anchorable
- type: Sprite
@@ -151,8 +150,7 @@
type: ResearchConsoleBoundUserInterface
- key: enum.ResearchClientUiKey.Key
type: ResearchClientBoundUserInterface
- type: PowerDevice
drawtype: Both
- type: PowerReceiver
load: 200
priority: Low

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: GravityGenerator
name: gravity generator
description: It's what keeps you to the floor.
@@ -15,8 +15,8 @@
state: on
- type: SnapGrid
offset: Center
- type: PowerDevice
load: 500
- type: PowerReceiver
powerLoad: 500
- type: Collidable
shapes:
- !type:PhysShapeAabb

View File

@@ -27,7 +27,7 @@
interfaces:
- key: enum.LatheUiKey.Key
type: LatheBoundUserInterface
- type: PowerDevice
- type: PowerReceiver
- type: entity
parent: BaseLathe

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: WallLight
name: "unpowered light"
components:
@@ -42,10 +42,9 @@
state: off
- type: PointLight
enabled: false
- type: PowerDevice
priority: Low
- type: PoweredLight
bulb: Tube
- type: PowerReceiver
- type: entity
name: small light
@@ -64,8 +63,6 @@
energy: 1.0
enabled: false
offset: "-0.5, 0"
- type: PowerDevice
priority: Low
- type: PoweredLight
bulb: Bulb
- type: PowerReceiver

View File

@@ -11,7 +11,7 @@
map: ["enum.MedicalScannerVisualLayers.Machine"]
- state: scanner_terminal_blue
map: ["enum.MedicalScannerVisualLayers.Terminal"]
- type: PowerDevice
- type: PowerReceiver
- type: Icon
sprite: Buildings/medical_scanner.rsi
state: scanner_open

View File

@@ -1,49 +1,88 @@
- type: entity
id: Wire
name: wire
description: Transfers power, avoid letting things come down it
abstract: true
id: WireBase
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: Sprite
netsync: false
drawdepth: BelowFloor
color: Red
sprite: Objects/Power/power_cable.rsi
state: cable_0
- type: Icon
texture: Objects/Power/eightdirwire.png
- type: PowerTransfer
- type: SnapGrid
offset: Center
- type: Icon
texture: Objects/Power/eightdirwire.png
- type: Sprite
drawdepth: BelowFloor
- type: IconSmooth
base: cable_
key: power_cables
mode: CardinalFlags
- type: SubFloorHide
- type: Destructible
thresholdvalue: 100
spawnondestroy: CableStack1
snap:
- Wire
- type: SubFloorHide
- type: entity
parent: Wire
id: BlueWire
name: bluewire
description: Transfers power, and puts on a good show of it
parent: WireBase
id: HVWire
name: HV Wire
components:
- type: Sprite
color: Blue
sprite: Objects/Power/hv_cable.rsi
state: hvcable_0
- type: IconSmooth
base: hvcable_
key: hv_cables
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: Wire
wireDroppedOnCutPrototype: HVWireStack1
wireType: HighVoltage
- type: Destructible
spawnondestroy: HVWireStack1
- type: entity
id: Generator
name: generator
description: A portal to hell which summons power from the nether
parent: WireBase
id: MVWire
name: MV Wire
components:
- type: Sprite
color: Yellow
sprite: Objects/Power/mv_cable.rsi
state: mvcable_0
- type: IconSmooth
base: mvcable_
key: mv_cables
- type: NodeContainer
nodeTypes: { MVPower : ["AdjacentNode"] }
- type: Wire
wireDroppedOnCutPrototype: MVWireStack1
wireType: MediumVoltage
- type: Destructible
spawnondestroy: MVWireStack1
- type: entity
parent: WireBase
id: ApcExtensionCable
name: Apc Extension Cable
components:
- type: Sprite
color: Green
sprite: Objects/Power/lv_cable.rsi
state: lvcable_0
- type: IconSmooth
base: lvcable_
key: lv_cables
- type: NodeContainer
nodeTypes: { Apc : ["AdjacentNode"] }
- type: PowerProvider
voltage: Apc
- type: Wire
wireDroppedOnCutPrototype: ApcExtensionCableStack1
wireType: Apc
- type: Destructible
spawnondestroy: ApcExtensionCableStack1
- type: entity
id: DebugGenerator
name: Debug Generator
placement:
mode: SnapgridCenter
components:
@@ -54,15 +93,215 @@
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.3, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects/Power/generator.png
- type: Icon
texture: Objects/Power/generator.png
- type: PowerGenerator
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerSupplier
supplyRate: 3000
- type: Anchorable
- type: entity
id: DebugConsumer
name: Debug Consumer
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects/Power/wiredmachine.png
- type: Icon
texture: Objects/Power/wiredmachine.png
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerConsumer
drawRate: 50
- type: Damageable
- type: Breakable
thresholdvalue: 100
- type: Anchorable
- type: entity
id: DebugBatteryStorage
name: Debug Battery Storage
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects/Power/provider.png
- type: Icon
texture: Objects/Power/provider.png
- type: Battery
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerConsumer
- type: BatteryStorage
- type: entity
id: DebugBatteryDischarger
name: Debug Battery Discharger
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects/Power/provider.png
- type: Icon
texture: Objects/Power/provider.png
- type: Battery
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerSupplier
- type: BatteryDischarger
- type: entity
id: DebugSmes
name: Debug Smes
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
netsync: false
sprite: Buildings/smes.rsi
state: smes
layers:
- state: smes-display
shader: unshaded
- type: Icon
sprite: Buildings/smes.rsi
state: smes
- type: Smes
- type: Appearance
visuals:
- type: SmesVisualizer2D
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerConsumer
- type: BatteryStorage
activeDrawRate: 1500
- type: PowerSupplier
- type: BatteryDischarger
activeSupplyRate: 1000
- type: Anchorable
- type: entity
id: DebugSubstation
name: Debug Substation
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects\Power\storage.png
- type: Icon
texture: Objects\Power\storage.png
state: smes
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"], MVPower : ["AdjacentNode"] }
- type: PowerConsumer
- type: BatteryStorage
activeDrawRate: 1500
- type: PowerSupplier
voltage: Medium
- type: BatteryDischarger
activeSupplyRate: 1000
- type: entity
id: DebugApc
name: Debug Apc
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.25, -0.25, 0.25, 0.3"
- type: SnapGrid
offset: Center
- type: Sprite
drawdepth: WallMountedItems
netsync: false
texture: ""
sprite: "Buildings/apc.rsi"
state: apc0
- type: Icon
texture: Buildings/apc.rsi/apc0.png
- type: Appearance
visuals:
- type: ApcVisualizer2D
- type: Battery
maxCharge: 10000
startingCharge: 10000
- type: NodeContainer
nodeTypes: { MVPower : ["AdjacentNode"], Apc : ["AdjacentNode"] }
- type: PowerConsumer
voltage: Medium
- type: BatteryStorage
activeDrawRate: 1000
- type: PowerProvider
voltage: Apc
- type: Apc
voltage: Apc
- type: UserInterface
interfaces:
- key: enum.ApcUiKey.Key
type: ApcBoundUserInterface
- type: entity
id: DebugPowerReceiver
name: Debug Power Receiver
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
texture: Objects/Furniture/wirelessmachine.png
- type: Icon
texture: Objects/Furniture/wirelessmachine.png
- type: PowerReceiver
- type: entity
id: SolarPanel
name: solar panel
@@ -82,7 +321,9 @@
- type: Icon
sprite: Buildings/solar_panel.rsi
state: normal
- type: PowerGenerator
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"] }
- type: PowerSupplier
- type: SolarPanel
supply: 1500
- type: SnapGrid
@@ -90,160 +331,54 @@
- type: Damageable
- type: Breakable
thresholdvalue: 100
- type: Anchorable
#Depriciated, to be removed from maps
- type: entity
id: WPPnobattery
name: wppnobattery
description: Supplies power directly to nearby objects
placement:
mode: SnapgridCenter
id: Wire
name: Depriciated Wire
parent: ApcExtensionCable
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
layer: [Clickable]
- type: Sprite
drawdepth: WallMountedItems
texture: Objects/Power/provider.png
- type: Icon
texture: Objects/Power/provider.png
- type: PowerProvider
range: 8
priority: Provider
load: 0
- type: SnapGrid
offset: Center
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"], Apc : ["AdjacentNode"] }
- type: entity
parent: WPPnobattery
id: WPP
name: WPP
description: Supplies power at range, has a backup battery just in case
id: Generator
name: Depriciated Generator
parent: DebugGenerator
components:
- type: PowerStorage
capacity: 1000
charge: 1000
chargerate: 200
chargepowernet: false
- type: PowerSupplier
voltage: High
supplyRate: 100000
- type: entity
parent: WPP
id: APC
name: APC
name: Depriciated Apc
parent: DebugApc
components:
- type: Apc
- type: Sprite
netsync: false
texture: ""
sprite: "Buildings/apc.rsi"
state: apc0
- type: Appearance
visuals:
- type: ApcVisualizer2D
- type: UserInterface
interfaces:
- key: enum.ApcUiKey.Key
type: ApcBoundUserInterface
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.25, -0.25, 0.25, 0.3"
- type: LoopingSound
- type: NodeContainer
nodeTypes: { HVPower : ["AdjacentNode"], Apc : ["AdjacentNode"] }
- type: PowerConsumer
voltage: High
- type: BatteryStorage
activeDrawRate: 10000
- type: entity
id: SMES
name: smes
description: Stores power in its super-magnetic cells
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: Sprite
netsync: false
sprite: Buildings/smes.rsi
state: smes
layers:
- state: smes-display
shader: unshaded
- type: Icon
sprite: Buildings/smes.rsi
state: smes
- type: PowerStorage
capacity: 3000
charge: 1000
chargerate: 200
distributionrate: 400
chargepowernet: true
- type: Smes
- type: Appearance
visuals:
- type: SmesVisualizer2D
- type: SnapGrid
offset: Center
- type: Anchorable
name: Depriciated Smes
parent: DebugSmes
- type: entity
id: SmesDry
parent: SMES
components:
- type: PowerStorage
charge: 0
name: Depriciated Smes
parent: DebugSmes
- type: entity
id: WiredMachine
name: wiredmachine
description: A monstrosity that does nothing but suck up power from the nearby wires
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.25, 0.5, 0.25"
layer: [MobMask, Opaque]
- type: Sprite
texture: Objects/Power/wiredmachine.png
- type: Icon
texture: Objects/Power/wiredmachine.png
- type: PowerDevice
drawtype: Node
load: 100
priority: High
- type: SnapGrid
offset: Center
name: Depriciated WiredMachine
parent: DebugConsumer
- type: entity
id: WirelessMachine
name: wirelessmachine
description: A terrifying monstrosity that sucks up power from the wireless transmitters, Tesla would be proud
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Collidable
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.25, 0.5, 0.25"
layer: [MobMask, Opaque]
- type: Sprite
texture: Objects/Furniture/wirelessmachine.png
- type: Icon
texture: Objects/Furniture/wirelessmachine.png
- type: PowerDevice
drawtype: Both
load: 200
priority: Low
- type: SnapGrid
offset: Center
name: Depriciated WirelessMachine
parent: DebugPowerReceiver

View File

@@ -21,7 +21,7 @@
- type: SnapGrid
offset: Center
- type: ReagentDispenser
- type: PowerDevice
- type: PowerReceiver
- type: UserInterface
interfaces:
- key: enum.ReagentDispenserUiKey.Key

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: VendingMachine
name: vending machine
components:
@@ -45,8 +45,7 @@
type: VendingMachineBoundUserInterface
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: PowerDevice
priority: Low
- type: PowerReceiver
- type: Wires
BoardName: "Vending Machine"
LayoutId: Vending

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
name: material stack
id: MaterialStack
abstract: true
@@ -67,15 +67,14 @@
count: 1
- type: entity
name: cable coil
id: CableStack
abstract: true
parent: BaseItem
components:
- type: Stack
stacktype: enum.StackType.Cable
- type: Sprite
texture: Objects/Tools/cable_coil.png
color: red
- type: Icon
texture: Objects/Tools/cable_coil.png
- type: WirePlacer
@@ -84,13 +83,62 @@
all: -0.15,-0.15,0.15,0.15
- type: entity
id: CableStack1
name: cable stack 1
id: HVWireStack
name: HV Wire Coil
parent: CableStack
components:
- type: Sprite
color: Orange
- type: WirePlacer
wirePrototypeID: HVWire
blockingWireType: HighVoltage
- type: entity
id: MVWireStack
name: MV Wire Coil
parent: CableStack
components:
- type: Sprite
color: Yellow
- type: WirePlacer
wirePrototypeID: MVWire
blockingWireType: MediumVoltage
- type: entity
id: ApcExtensionCableStack
name: Apc Extension Cable Coil
parent: CableStack
components:
- type: Sprite
color: Green
- type: WirePlacer
wirePrototypeID: ApcExtensionCable
blockingWireType: Apc
- type: entity
id: HVWireStack1
name: HV Wire stack 1
parent: HVWireStack
components:
- type: Stack
count: 1
- type: entity
id: MVWireStack1
name: MV Wire stack 1
parent: MVWireStack
components:
- type: Stack
count: 1
- type: entity
id: ApcExtensionCableStack1
name: Apc Extension Cable stack 1
parent: ApcExtensionCableStack
components:
- type: Stack
count: 1
- type: entity
name: gold bar
id: GoldStack

View File

@@ -1,18 +0,0 @@
- type: entity
name: power debug tool
parent: BaseItem
id: PowerDebug
description: An advanced tool to copy, store, and send electrical pulses and signals through wires and machines
components:
- type: Sprite
sprite: Objects/Tools/multitool.rsi
state: multitool
- type: Icon
sprite: Objects/Tools/multitool.rsi
state: multitool
- type: Item
sprite: Objects/Tools/multitool.rsi
- type: PowerDebugTool

View File

@@ -106,10 +106,8 @@
sprite: Objects/Power/PowerCells/cell_recharger.rsi
drawdepth: Items
- type: PowerCellCharger
transfer_ratio: 0.10
transfer_efficiency: 0.85
- type: PowerDevice
priority: Low
- type: PowerReceiver
- type: Icon
sprite: Objects/Power/PowerCells/cell_recharger.rsi
state: empty
@@ -138,10 +136,8 @@
sprite: Objects/Power/PowerCells/recharger.rsi
drawdepth: Items
- type: WeaponCapacitorCharger
transfer_ratio: 0.10
transfer_efficiency: 0.85
- type: PowerDevice
priority: Low
- type: PowerReceiver
- type: Icon
sprite: Objects/Power/PowerCells/recharger.rsi
state: empty
@@ -170,10 +166,8 @@
sprite: Objects/Power/PowerCells/wall_recharger.rsi
drawdepth: Items
- type: WeaponCapacitorCharger
transfer_ratio: 0.15
transfer_efficiency: 0.95
- type: PowerDevice
priority: Low
- type: PowerReceiver
- type: Icon
sprite: Objects/Power/PowerCells/wall_recharger.rsi
state: empty

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: KitchenMicrowave
name: microwave
description: It's magic.
@@ -41,8 +41,7 @@
- state: mw_unlit
shader: unshaded
map: ["enum.MicrowaveVisualizerLayers.BaseUnlit"]
- type: PowerDevice
- type: PowerReceiver
- type: Icon
sprite: Objects/Kitchen/microwave.rsi
state: mw0

View File

@@ -15,9 +15,8 @@
offset: Center
- type: ResearchServer
- type: TechnologyDatabase
- type: PowerDevice
drawtype: Both
load: 200
- type: PowerReceiver
powerLoad: 200
priority: Low
- type: entity
@@ -58,7 +57,7 @@
- type: Appearance
visuals:
- type: PowerDeviceVisualizer2D
- type: PowerDevice
- type: PowerReceiver
- type: Anchorable
- type: Physics
mass: 25