diff --git a/Resources/Prototypes/Catalog/Research/technologies.yml b/Resources/Prototypes/Catalog/Research/technologies.yml index d0f1ab78d3..61813e15ac 100644 --- a/Resources/Prototypes/Catalog/Research/technologies.yml +++ b/Resources/Prototypes/Catalog/Research/technologies.yml @@ -319,8 +319,30 @@ - APCElectronics - SMESMachineCircuitboard - SubstationMachineCircuitboard + - WallmountSubstationElectronics + - WallmountGeneratorElectronics + - WallmountGeneratorAPUElectronics - HydroponicsTrayMachineCircuitboard - SolarControlComputerCircuitboard + - GeneratorPlasmaMachineCircuitboard + - GeneratorUraniumMachineCircuitboard + +- type: technology + name: "compact power technology" + id: CompactPowerTechnology + description: Power, but smaller. + icon: + sprite: Structures/Power/apc.rsi + state: apc0 + requiredPoints: 5000 + requiredTechnologies: + - ElectromagneticTheory + unlockedRecipes: + - WallmountSubstationElectronics + - WallmountGeneratorElectronics + - WallmountGeneratorAPUElectronics + - GeneratorPlasmaMachineCircuitboard + - GeneratorUraniumMachineCircuitboard - type: technology name: "applied musicology" diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index e73b5aeb14..db6a599946 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -271,6 +271,29 @@ DefaultPrototype: SaxophoneInstrument ExamineName: Woodwind Instrument +- type: entity + id: GeneratorPlasmaMachineCircuitboard + parent: BaseMachineCircuitboard + name: generator (plasma) machine board + components: + - type: MachineBoard + prototype: GeneratorPlasma + requirements: + Capacitor: 1 + materialRequirements: + CableHV: 5 + +- type: entity + id: GeneratorUraniumMachineCircuitboard + parent: BaseMachineCircuitboard + name: generator (uranium) machine board + components: + - type: MachineBoard + prototype: GeneratorUranium + requirements: + Capacitor: 2 + materialRequirements: + CableHV: 10 - type: entity id: ReagentGrinderMachineCircuitboard diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/apc.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/apc.yml deleted file mode 100644 index 54d0db499e..0000000000 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/apc.yml +++ /dev/null @@ -1,13 +0,0 @@ -- type: entity - id: APCElectronics - parent: BaseItem - name: APC electronics - description: An electronics board used in APC construction. - components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: charger_APC - netsync: false - - type: Tag - tags: - - DroneUsable diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml new file mode 100644 index 0000000000..398b5dc05b --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml @@ -0,0 +1,59 @@ +# APC +- type: entity + id: APCElectronics + parent: BaseItem + name: APC electronics + description: Circuit used in APC construction. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: charger_APC + netsync: false + +# Wallmount Substation +- type: entity + id: WallmountSubstationElectronics + parent: BaseItem + name: wallmount substation electronics + description: Circuit used to construct a wallmount substation. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: charger_APC + netsync: false + +# Wallmount Generator +- type: entity + id: WallmountGeneratorElectronics + parent: BaseItem + name: wallmount generator electronics + description: Circuit used to construct a wallmount generator. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: charger_APC + netsync: false + +# APU +- type: entity + id: WallmountGeneratorAPUElectronics + parent: BaseItem + name: wallmount APU electronics + description: Circuit used to construct a wallmount APU. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: charger_APC + netsync: false + +# Solar Tracker Electronics +- type: entity + parent: BaseItem + id: SolarTrackerElectronics + name: solar tracker electronics + description: Advanced circuit board used to detect differences in pressure, temperature and gas concentrations between the two sides of the door. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: generic + netsync: false diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/solar.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/solar.yml deleted file mode 100644 index db96a801d6..0000000000 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/solar.yml +++ /dev/null @@ -1,12 +0,0 @@ -- type: entity - parent: BaseItem - id: SolarTrackerElectronics - name: solar tracker electronics - description: An electronics board used in solar tracker devices - components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: generic - - type: Tag - tags: - - DroneUsable diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/generator.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/generator.yml deleted file mode 100644 index 8f50a91d9b..0000000000 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/generator.yml +++ /dev/null @@ -1,49 +0,0 @@ -- type: entity - abstract: true - id: BaseGenerator - description: A high efficiency thermoelectric generator. - name: generator - placement: - mode: SnapgridCenter - components: - #- type: AmbientSound - # range: 5 - # sound: - # path: /Audio/Ambience/Objects/engine_hum.ogg - - type: Clickable - - type: InteractionOutline - - type: Physics - bodyType: Static - - type: Fixtures - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.4,-0.5,0.4,0.3" - mass: 25 - mask: - - Impassable - - MobImpassable - - VaultImpassable - - SmallImpassable - layer: - - Opaque - - MobImpassable - - VaultImpassable - - SmallImpassable - - type: Transform - anchored: true - - type: Sprite - sprite: Structures/Power/power.rsi - state: generator - - type: NodeContainer - examinable: true - nodes: - output: - !type:CableDeviceNode - nodeGroupID: HVPower - - type: PowerSupplier - supplyRate: 3000 - supplyRampRate: 500 - supplyRampTolerance: 500 - - type: Anchorable - - type: Pullable diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml new file mode 100644 index 0000000000..379449aee6 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml @@ -0,0 +1,266 @@ +# Base Generator + +- type: entity + abstract: true + id: BaseGenerator + description: A high efficiency thermoelectric generator. + name: generator + placement: + mode: SnapgridCenter + components: + - type: AmbientSound + range: 5 + sound: + path: /Audio/Ambience/Objects/engine_hum.ogg + - type: Clickable + - type: InteractionOutline + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.5,0.4,0.3" + mass: 25 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - MobImpassable + - VaultImpassable + - SmallImpassable + - type: Transform + anchored: true + - type: Sprite + sprite: Structures/Power/power.rsi + state: generator + - type: NodeContainer + examinable: true + nodes: + output: + !type:CableDeviceNode + nodeGroupID: HVPower + - type: PowerSupplier + supplyRate: 3000 + supplyRampRate: 500 + supplyRampTolerance: 500 + - type: Anchorable + - type: Pullable + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - type: Explosive + devastationRange: 1 + heavyImpactRange: 3 + lightImpactRange: 5 + flashRange: 6 + +# Base Wallmount Generator + +- type: entity + abstract: true + id: BaseGeneratorWallmount + parent: BaseGenerator + name: wallmount generator + description: A high efficiency thermoelectric generator stuffed in a wall cabinet. + placement: + mode: SnapgridCenter + components: + - type: AmbientOnPowered + - type: AmbientSound + volume: -15 + range: 2 + sound: + path: /Audio/Ambience/Objects/hdd_buzz.ogg + - type: PointLight + netsync: false + radius: 1.5 + energy: 1.6 + color: "#3db83b" + castShadows: false + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.3,0.25" + layer: [ Passable ] + - type: Transform + anchored: true + - type: Sprite + drawdepth: WallMountedItems + netsync: false + sprite: Structures/Power/Generation/wallmount_generator.rsi + layers: + - state: panel + - state: on + shader: unshaded +# - type: Appearance +# visuals: +# - type: ApcVisualizer + - type: NodeContainer + examinable: true + nodes: + output: + !type:CableDeviceNode + nodeGroupID: HVPower + - type: PowerSupplier + supplyRate: 3000 + supplyRampRate: 500 + supplyRampTolerance: 500 + +# Construction Frames + +- type: entity + abstract: true + id: BaseGeneratorWallmountFrame + name: wallmount generator frame + description: A construction frame for a wallmount generator. + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: InteractionOutline + - type: Physics + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.3,0.25" + layer: [ Passable ] + - type: Transform + anchored: true + - type: Sprite + drawdepth: WallMountedItems + netsync: false + sprite: Structures/Power/Generation/wallmount_generator.rsi + layers: + - state: panel + - type: Construction + graph: WallmountGenerator + node: frame + +# Generators in use + +- type: entity + parent: BaseGenerator + id: GeneratorBasic + suffix: Basic, 3kW + components: + - type: PowerSupplier + supplyRate: 3000 + +- type: entity + parent: BaseGenerator + id: GeneratorPlasma + suffix: Plasma, 5kW + components: + - type: PowerSupplier + supplyRate: 5000 # 260 sec / sheet + - type: Sprite + sprite: Structures/Power/Generation/portable_generator.rsi + state: portgen0_1 + - type: Construction + graph: Machine + node: machine + - type: Wires + BoardName: "GeneratorPlasma" + LayoutId: GeneratorPlasma + - type: Machine + board: GeneratorPlasmaMachineCircuitboard + +- type: entity + parent: BaseGenerator + id: GeneratorUranium + suffix: Uranium, 15kW + components: + - type: PowerSupplier + supplyRate: 15000 # 85 sec / sheet + - type: Sprite + sprite: Structures/Power/Generation/portable_generator.rsi + state: portgen1_1 + - type: Construction + graph: Machine + node: machine + - type: Wires + BoardName: "GeneratorUranium" + LayoutId: GeneratorUranium + - type: Machine + board: GeneratorUraniumMachineCircuitboard + + +- type: entity + parent: BaseGeneratorWallmount + id: GeneratorWallmountBasic + suffix: Basic, 3kW + components: + - type: PowerSupplier + supplyRate: 3000 + - type: Construction + graph: WallmountGenerator + node: generator + +- type: entity + parent: BaseGeneratorWallmount + id: GeneratorWallmountAPU + name: shuttle APU + description: An auxiliary power unit for a shuttle - 6kW. + suffix: APU, 6kW + components: + - type: PowerSupplier + supplyRate: 6000 + - type: Construction + graph: WallmountGenerator + node: APU + +# RTG - no fuel requirement + +- type: entity + parent: BaseGenerator + id: GeneratorRTG + name: RTG + description: A Radioisotope Thermoelectric Generator for long term power. + suffix: 10kW + components: + - type: PowerSupplier + supplyRate: 10000 # supposed to be low power at no fuel cost to power derelicts + - type: Sprite + sprite: Structures/Power/Generation/rtg.rsi + state: rtg + - type: AmbientSound + range: 5 + sound: + path: /Audio/Ambience/Objects/buzzing.ogg +# TODO: need radioactive fallout when destroyed + +- type: entity + parent: GeneratorRTG + id: GeneratorRTGDamaged + name: damaged RTG + description: A Radioisotope Thermoelectric Generator for long term power. This one has damaged shielding. + suffix: 10kW + components: + - type: PowerSupplier + supplyRate: 10000 + - type: Sprite + netsync: false + sprite: Structures/Power/Generation/rtg.rsi + layers: + - state: rtg_damaged + - state: rtg_glow + - type: RadiationPulse # ideally only when opened. + range: 2 + decay: false + minPulseLifespan: 1 + maxPulseLifespan: 1 diff --git a/Resources/Prototypes/Entities/Structures/Power/smes.yml b/Resources/Prototypes/Entities/Structures/Power/smes.yml index a5bbabda7f..e18ed75833 100644 --- a/Resources/Prototypes/Entities/Structures/Power/smes.yml +++ b/Resources/Prototypes/Entities/Structures/Power/smes.yml @@ -1,3 +1,4 @@ +# Base SMES - type: entity abstract: true id: BaseSMES @@ -58,3 +59,14 @@ LayoutId: SMES - type: Machine board: SMESMachineCircuitboard + +# SMES' in use + +- type: entity + parent: BaseSMES + id: SMESBasic + suffix: Basic, 10MW + components: + - type: Battery + maxCharge: 10000000 + startingCharge: 10000000 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Power/substation.yml b/Resources/Prototypes/Entities/Structures/Power/substation.yml index 970aa1be1f..6158fa8404 100644 --- a/Resources/Prototypes/Entities/Structures/Power/substation.yml +++ b/Resources/Prototypes/Entities/Structures/Power/substation.yml @@ -1,3 +1,4 @@ +# Base substation - type: entity abstract: true id: BaseSubstation @@ -9,7 +10,6 @@ components: - type: Sprite # TODO: add sprite for maintenance panel open sprite: Structures/Power/substation.rsi - netsync: false layers: - state: substation - state: screen @@ -17,7 +17,7 @@ - state: full shader: unshaded - type: Battery - maxCharge: 1000 + maxCharge: 4000000 startingCharge: 0 - type: ExaminableBattery - type: PointLight @@ -58,7 +58,7 @@ sound: path: /Audio/Effects/metalbreak.ogg - !type:ExplodeBehavior - - !type:SpawnEntitiesBehavior #in future should also emit a cloud of hot gas + - !type:SpawnEntitiesBehavior # in future should also emit a cloud of hot gas spawn: MachineFrameDestroyed: min: 1 @@ -73,3 +73,134 @@ LayoutId: Substation - type: Machine board: SubstationMachineCircuitboard + +# Compact Wall Substation Base +- type: entity + id: BaseSubstationWall + abstract: true + name: wallmount substation + description: A substation designed for compact shuttles and spaces. + placement: + mode: SnapgridCenter + components: + - type: AmbientOnPowered + - type: AmbientSound + volume: -15 + range: 2 + sound: + path: /Audio/Ambience/Objects/hdd_buzz.ogg + - type: PointLight + netsync: false + radius: 1.5 + energy: 1.6 + color: "#3db83b" + castShadows: false + - type: Clickable + - type: AccessReader + access: [["Engineering"]] + - type: InteractionOutline + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.3,0.25" + layer: [ Passable ] + - type: Transform + anchored: true + - type: Sprite # TODO: add sprite for maintenance panel open + drawdepth: WallMountedItems + netsync: false + sprite: Structures/Power/substation.rsi + layers: + - state: substation_wall + - state: screen + shader: unshaded + - type: Battery + maxCharge: 2000000 + startingCharge: 0 + - type: ExaminableBattery + - type: NodeContainer + examinable: true + nodes: + input: + !type:CableDeviceNode + nodeGroupID: HVPower + output: + !type:CableDeviceNode + nodeGroupID: MVPower + - type: BatteryCharger + voltage: High + - type: BatteryDischarger + voltage: Medium + - type: PowerNetworkBattery + maxSupply: 150000 + maxChargeRate: 5000 + supplyRampTolerance: 5000 + supplyRampRate: 1000 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + +# Substations in use + +- type: entity + parent: BaseSubstation + id: SubstationBasic + suffix: Basic, 4MW + components: + - type: Battery + maxCharge: 4000000 + startingCharge: 4000000 + +- type: entity + parent: BaseSubstationWall + id: SubstationWallBasic + suffix: Basic, 2MW + components: + - type: Battery + maxCharge: 2000000 + startingCharge: 2000000 + - type: Construction + graph: WallmountSubstation + node: substation + +# Construction Frame +- type: entity + id: BaseSubstationWallFrame + abstract: true + name: wallmount substation frame + description: A substation frame for construction + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: InteractionOutline + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.3,0.25" + layer: [ Passable ] + - type: Transform + anchored: true + - type: Sprite + drawdepth: WallMountedItems + netsync: false + sprite: Structures/Power/substation.rsi + layers: + - state: substation_wall + - type: Construction + graph: WallmountSubstation + node: frame \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml new file mode 100644 index 0000000000..fffe36e6cf --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml @@ -0,0 +1,102 @@ +- type: constructionGraph + id: WallmountGenerator + start: start + graph: + - node: start + edges: + - to: frame + steps: + - material: Steel + amount: 5 + doAfter: 2 + + - node: frame + entity: BaseGeneratorWallmountFrame + edges: + - to: start + steps: + - tool: Welding + doAfter: 4 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - to: parts + steps: + - material: Cable + amount: 5 + doAfter: 2 + - tool: Screwing + doAfter: 2 + + - node: parts + edges: + - to: electronics + steps: + - prototype: WallmountGeneratorElectronics + store: board + name: "wallmount generator circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "charger_APC" + doAfter: 1 + - to: electronicsAPU + steps: + - prototype: WallmountGeneratorAPUElectronics + store: board + name: "wallmount APU circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "charger_APC" + doAfter: 1 + - to: frame + completed: + - !type:SpawnPrototype + prototype: CableHVStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 1 + + + - node: electronics + edges: + - to: generator + steps: + - tool: Screwing + doAfter: 2 + + - node: electronicsAPU + edges: + - to: APU + steps: + - tool: Screwing + doAfter: 2 + + - node: generator + entity: GeneratorWallmountBasic + edges: + - to: parts + conditions: + - !type:WirePanel {} + - !type:ContainerNotEmpty + container: board + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 1 + + - node: APU + entity: GeneratorWallmountAPU + edges: + - to: parts + conditions: + - !type:WirePanel {} + - !type:ContainerNotEmpty + container: board + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml new file mode 100644 index 0000000000..7cb29a025f --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml @@ -0,0 +1,72 @@ +- type: constructionGraph + id: WallmountSubstation + start: start + graph: + - node: start + edges: + - to: frame + steps: + - material: Steel + amount: 5 + doAfter: 2 + + - node: frame + entity: BaseSubstationWallFrame + edges: + - to: start + steps: + - tool: Welding + doAfter: 4 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - to: parts + steps: + - material: Cable + amount: 5 + doAfter: 2 + - tool: Screwing + doAfter: 2 + + - node: parts + edges: + - to: electronics + steps: + - prototype: WallmountSubstationElectronics + store: board + name: "wallmount substation circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "charger_APC" + doAfter: 1 + - to: frame + completed: + - !type:SpawnPrototype + prototype: CableHVStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 1 + + + - node: electronics + edges: + - to: substation + steps: + - tool: Screwing + doAfter: 2 + + - node: substation + entity: BaseSubstationWall + edges: + - to: parts + conditions: + - !type:WirePanel {} + - !type:ContainerNotEmpty + container: board + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/utilities.yml b/Resources/Prototypes/Recipes/Construction/utilities.yml index ea49d81b8b..c3c9c4bd6c 100644 --- a/Resources/Prototypes/Recipes/Construction/utilities.yml +++ b/Resources/Prototypes/Recipes/Construction/utilities.yml @@ -46,6 +46,50 @@ placementMode: SnapgridCenter canBuildInImpassable: false +- type: construction + name: wallmount substation + id: WallmountSubstation + graph: WallmountSubstation + startNode: start + targetNode: substation + category: Utilities + description: "A wallmount substation for compact spaces. Make sure to place cable under before building the wall." + icon: + sprite: Structures/Power/substation.rsi + state: substation_wall + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + +- type: construction + name: wallmount generator + id: WallmountGenerator + graph: WallmountGenerator + startNode: start + targetNode: generator + category: Utilities + description: "A wallmount generator for compact spaces. Make sure to place cable under before building the wall." + icon: + sprite: Structures/Power/Generation/wallmount_generator.rsi + state: panel + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + +- type: construction + name: wallmount APU + id: WallmountGeneratorAPU + graph: WallmountGenerator + startNode: start + targetNode: APU + category: Utilities + description: "A wallmount APU for compact shuttles. Make sure to place cable under before building the wall." + icon: + sprite: Structures/Power/Generation/wallmount_generator.rsi + state: panel + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true # DISPOSALS - type: construction diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 2e984d5bb0..6931efb895 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -16,15 +16,6 @@ Steel: 50 Plastic: 50 -- type: latheRecipe - id: APCElectronics - icon: Objects/Misc/module.rsi/charger_APC.png - result: APCElectronics - completetime: 500 - materials: - Steel: 50 - Plastic: 50 - - type: latheRecipe id: AirAlarmElectronics icon: Objects/Misc/module.rsi/airalarm_electronics.png @@ -43,24 +34,6 @@ Steel: 50 Plastic: 50 -- type: latheRecipe - id: SubstationMachineCircuitboard - icon: Objects/Misc/module.rsi/id_mod.png - result: SubstationMachineCircuitboard - completetime: 1000 - materials: - Steel: 50 - Glass: 450 - -- type: latheRecipe - id: SMESMachineCircuitboard - icon: Objects/Misc/module.rsi/power_mod.png - result: SMESMachineCircuitboard - completetime: 1000 - materials: - Steel: 100 - Glass: 900 - - type: latheRecipe id: CloningPodMachineCircuitboard icon: Objects/Misc/module.rsi/id_mod.png @@ -109,15 +82,6 @@ Glass: 900 Gold: 100 -- type: latheRecipe - id: SolarControlComputerCircuitboard - icon: Objects/Misc/module.rsi/id_mod.png - result: SolarControlComputerCircuitboard - completetime: 1000 - materials: - Steel: 100 - Glass: 900 - - type: latheRecipe id: HydroponicsTrayMachineCircuitboard icon: Objects/Misc/module.rsi/id_mod.png @@ -220,3 +184,85 @@ materials: Steel: 100 Glass: 900 + +# Power +- type: latheRecipe + id: APCElectronics + icon: Objects/Misc/module.rsi/charger_APC.png + result: APCElectronics + completetime: 500 + materials: + Steel: 50 + Glass: 100 + +- type: latheRecipe + id: SubstationMachineCircuitboard + icon: Objects/Misc/module.rsi/id_mod.png + result: SubstationMachineCircuitboard + completetime: 1000 + materials: + Steel: 50 + Glass: 450 + +- type: latheRecipe + id: WallmountSubstationElectronics + icon: Objects/Misc/module.rsi/id_mod.png + result: WallmountSubstationElectronics + completetime: 1000 + materials: + Steel: 50 + Glass: 350 + +- type: latheRecipe + id: SMESMachineCircuitboard + icon: Objects/Misc/module.rsi/power_mod.png + result: SMESMachineCircuitboard + completetime: 1000 + materials: + Steel: 100 + Glass: 900 + +- type: latheRecipe + id: GeneratorPlasmaMachineCircuitboard + icon: Objects/Misc/module.rsi/id_mod.png + result: GeneratorPlasmaMachineCircuitboard + completetime: 1000 + materials: + Steel: 50 + Glass: 350 + +- type: latheRecipe + id: GeneratorUraniumMachineCircuitboard + icon: Objects/Misc/module.rsi/id_mod.png + result: GeneratorUraniumMachineCircuitboard + completetime: 1000 + materials: + Steel: 50 + Glass: 350 + +- type: latheRecipe + id: WallmountGeneratorElectronics + icon: Objects/Misc/module.rsi/id_mod.png + result: WallmountGeneratorElectronics + completetime: 1000 + materials: + Steel: 50 + Glass: 350 + +- type: latheRecipe + id: WallmountGeneratorAPUElectronics + icon: Objects/Misc/module.rsi/id_mod.png + result: WallmountGeneratorAPUElectronics + completetime: 1000 + materials: + Steel: 50 + Glass: 350 + +- type: latheRecipe + id: SolarControlComputerCircuitboard + icon: Objects/Misc/module.rsi/id_mod.png + result: SolarControlComputerCircuitboard + completetime: 1000 + materials: + Steel: 100 + Glass: 900 diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/meta.json b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/meta.json new file mode 100644 index 0000000000..9c455fee5f --- /dev/null +++ b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/meta.json @@ -0,0 +1,100 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/99ed48ce8d3ba7e2d26d68519e05eae277c94685, animations modified by Peptide90", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "portgen0_0" + }, + { + "name": "portgen1_0" + }, + { + "name": "portgen2_0" + }, + { + "name": "portgen0_1", + "delays": [ + [ + 0.05, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.05 + ] + ] + }, + { + "name": "portgen1_1", + "delays": [ + [ + 0.05, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.05 + ] + ] + }, + { + "name": "portgen2_1", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_0.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_0.png new file mode 100644 index 0000000000..356fb7e63c Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_0.png differ diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_1.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_1.png new file mode 100644 index 0000000000..a857bf86a7 Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen0_1.png differ diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_0.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_0.png new file mode 100644 index 0000000000..204bc3aad7 Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_0.png differ diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_1.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_1.png new file mode 100644 index 0000000000..79674618e7 Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen1_1.png differ diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_0.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_0.png new file mode 100644 index 0000000000..c5d74eb759 Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_0.png differ diff --git a/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_1.png b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_1.png new file mode 100644 index 0000000000..08af33282b Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/portable_generator.rsi/portgen2_1.png differ diff --git a/Resources/Textures/Structures/Power/Generation/rtg.rsi/meta.json b/Resources/Textures/Structures/Power/Generation/rtg.rsi/meta.json new file mode 100644 index 0000000000..3bb0a4fc51 --- /dev/null +++ b/Resources/Textures/Structures/Power/Generation/rtg.rsi/meta.json @@ -0,0 +1,39 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/99ed48ce8d3ba7e2d26d68519e05eae277c94685, rtg_damaged by Peptide90", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rtg" + }, + { + "name": "rtg_open" + }, + { + "name": "rtg_damaged", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "rtg_glow", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg.png b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg.png new file mode 100644 index 0000000000..729694de2f Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg.png differ diff --git a/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_damaged.png b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_damaged.png new file mode 100644 index 0000000000..1d2c6efe9f Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_damaged.png differ diff --git a/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_glow.png b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_glow.png new file mode 100644 index 0000000000..e82fad5acb Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_glow.png differ diff --git a/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_open.png b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_open.png new file mode 100644 index 0000000000..82fdf398db Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/rtg.rsi/rtg_open.png differ diff --git a/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/meta.json b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/meta.json new file mode 100644 index 0000000000..75571ab844 --- /dev/null +++ b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "By Peptide90 for SS14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "panel" + }, + { + "name": "on", + "delays": [ + [ + 1, + 2 + ] + ] + }, + { + "name": "warning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/on.png b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/on.png new file mode 100644 index 0000000000..35a8f891ed Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/on.png differ diff --git a/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/panel.png b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/panel.png new file mode 100644 index 0000000000..92e55910a3 Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/panel.png differ diff --git a/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/warning.png b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/warning.png new file mode 100644 index 0000000000..613769121c Binary files /dev/null and b/Resources/Textures/Structures/Power/Generation/wallmount_generator.rsi/warning.png differ diff --git a/Resources/Textures/Structures/Power/apc.rsi/apcframe.png b/Resources/Textures/Structures/Power/apc.rsi/apcframe.png new file mode 100644 index 0000000000..7d3529f63f Binary files /dev/null and b/Resources/Textures/Structures/Power/apc.rsi/apcframe.png differ diff --git a/Resources/Textures/Structures/Power/substation.rsi/meta.json b/Resources/Textures/Structures/Power/substation.rsi/meta.json index 22d58ddbc2..83d05c9ff0 100644 --- a/Resources/Textures/Structures/Power/substation.rsi/meta.json +++ b/Resources/Textures/Structures/Power/substation.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/b63634bc17efe2f09cf06ef0e9a90d24d37f6203", + "copyright": "Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/b63634bc17efe2f09cf06ef0e9a90d24d37f6203, wall modified by Peptide90", "size": { "x": 32, "y": 32 @@ -10,6 +10,9 @@ { "name": "substation" }, + { + "name": "substation_wall" + }, { "name": "full" }, diff --git a/Resources/Textures/Structures/Power/substation.rsi/substation_wall.png b/Resources/Textures/Structures/Power/substation.rsi/substation_wall.png new file mode 100644 index 0000000000..8e8ae3fe3c Binary files /dev/null and b/Resources/Textures/Structures/Power/substation.rsi/substation_wall.png differ