diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml index afce7da5f9..76907df4f5 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml @@ -1,5 +1,13 @@ - type: entity parent: BaseElectronics id: StationMapCircuitboard - name: station map circuit board - description: A printed circuit board for a station map. + name: station map electronics + description: An electronics board used in station maps. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: airalarm_electronics + - type: Tag + tags: + - DroneUsable + - StationMapElectronics diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 8b6e150e4c..bccf2aa988 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -103,6 +103,7 @@ - FirelockElectronics - DoorElectronics - AirAlarmElectronics + - StationMapElectronics - FireAlarmElectronics - MailingUnitElectronics - APCElectronics diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml index 071c8cca71..f1d1452a08 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml @@ -8,6 +8,8 @@ components: - type: InteractionOutline - type: Clickable + - type: Transform + anchored: true - type: Sprite netsync: false sprite: Structures/Machines/station_map.rsi @@ -31,7 +33,8 @@ - type: entity id: StationMap name: station map - parent: StationMapBroken + parent: BaseComputer + description: A virtual map of the surrounding station. suffix: Wall placement: mode: SnapgridCenter @@ -40,17 +43,24 @@ - type: Transform anchored: true - type: Sprite + sprite: Structures/Machines/station_map.rsi layers: - - state: station_map0 - - state: unshaded - map: [ "enum.PowerDeviceVisualLayers.Powered" ] - shader: unshaded + - map: ["computerLayerBody"] + state: station_map0 + - map: ["computerLayerScreen"] + state: unshaded + - type: Icon + sprite: Structures/Machines/station_map.rsi + state: station_map0 - type: ApcPowerReceiver powerLoad: 200 priority: Low - type: WallMount arc: 360 - type: ExtensionCableReceiver + - type: Construction + graph: StationMap + node: station_map - type: ActivatableUIRequiresPower - type: ActivatableUI key: enum.StationMapUiKey.Key @@ -74,3 +84,34 @@ interfaces: - key: enum.StationMapUiKey.Key type: StationMapBoundUserInterface + +- type: entity + id: StationMapAssembly + name: station map assembly + description: A station map assembly. + components: + - type: WallMount + - type: Clickable + - type: InteractionOutline + - type: Sprite + sprite: Structures/Machines/station_map.rsi + layers: + - state: station_map_frame1 + map: [ "enum.ConstructionVisuals.Layer" ] + - type: Appearance + - type: GenericVisualizer + visuals: + enum.ConstructionVisuals.Key: + enum.ConstructionVisuals.Layer: + assembly: { state: station_map_frame0 } + wired: { state: station_map_frame1 } + electronics: { state: station_map_frame2 } + - type: Construction + graph: StationMap + node: assembly + - type: Transform + anchored: true + placement: + mode: SnapgridCenter + snap: + - Wallmount \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml new file mode 100644 index 0000000000..b6f34264ec --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml @@ -0,0 +1,78 @@ +- type: constructionGraph + id: StationMap + start: start + graph: + - node: start + edges: + - to: assembly + steps: + - material: Steel + amount: 2 + doAfter: 2.0 + + - node: assembly + entity: StationMapAssembly + actions: + - !type:AppearanceChange + edges: + - to: wired + steps: + - material: Cable + amount: 2 + doAfter: 1 + - to: start + completed: + - !type:GivePrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 2 + + - node: wired + entity: StationMapAssembly + actions: + - !type:AppearanceChange + edges: + - to: electronics + steps: + - tag: StationMapElectronics + store: board + name: "station map electronics" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" # /tg/ uses the same sprite, right? + doAfter: 1 + - to: assembly + completed: + - !type:GivePrototype + prototype: CableApcStack1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + + - node: electronics + actions: + - !type:AppearanceChange + edges: + - to: station_map + steps: + - tool: Screwing + doAfter: 2 + + - node: station_map + entity: StationMap + edges: + - to: wired + conditions: + - !type:AllWiresCut {} + - !type:WirePanel {} + - !type:ContainerNotEmpty + container: board + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Construction/utilities.yml b/Resources/Prototypes/Recipes/Construction/utilities.yml index f46dd2989d..cd527858ae 100644 --- a/Resources/Prototypes/Recipes/Construction/utilities.yml +++ b/Resources/Prototypes/Recipes/Construction/utilities.yml @@ -28,6 +28,24 @@ placementMode: SnapgridCenter canBuildInImpassable: true +- type: construction + name: station map + id: StationMap + graph: StationMap + startNode: start + targetNode: station_map + category: construction-category-structures + description: A station map. + icon: + sprite: Structures/Machines/station_map.rsi + state: station_map0 + placementMode: SnapgridCenter + objectType: Structure + canRotate: true + canBuildInImpassable: true + conditions: + - !type:WallmountCondition {} + # POWER - type: construction name: APC diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 63f697e967..57a37653c7 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -30,6 +30,14 @@ Steel: 100 Plastic: 300 +- type: latheRecipe + id: StationMapElectronics + result: StationMapCircuitboard + completetime: 2 + materials: + Steel: 50 + Plastic: 50 + - type: latheRecipe id: IntercomElectronics result: IntercomElectronics diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 05c4fe4238..abf3738b35 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -664,6 +664,9 @@ - type: Tag id: StringInstrument +- type: Tag + id: StationMapElectronics + - type: Tag id: SubdermalImplant diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/meta.json b/Resources/Textures/Structures/Machines/station_map.rsi/meta.json index 493b112b27..a1da3673bb 100644 --- a/Resources/Textures/Structures/Machines/station_map.rsi/meta.json +++ b/Resources/Textures/Structures/Machines/station_map.rsi/meta.json @@ -1 +1,35 @@ -{"version":1,"license":"CC-BY-SA-3.0","copyright":"https://github.com/vgstation-coders/vgstation13/tree/c5d2df28ee81ca4c7d57f4a2a3dd548a7995c084","size":{"x":32,"y":32},"states":[{"name":"station_map_frame0"},{"name":"station_map_frame1"},{"name":"station_map_frame2"},{"name":"station_map_frame3"},{"name":"unshaded"},{"name":"station_map_broken"},{"name":"station_map0"},{"name":"station_map-panel"}]} \ No newline at end of file +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Made by brainfood1183 (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "station_map0" + }, + { + "name": "station_map_broken" + }, + { + "name": "station_map_frame2" + }, + { + "name": "station_map_frame1" + }, + { + "name": "station_map_frame0" + }, + { + "name": "unshaded", + "delays": [ + [ + 2.0, + 2.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map-panel.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map-panel.png deleted file mode 100644 index 90f2116848..0000000000 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map-panel.png and /dev/null differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map0.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map0.png index 4a217e218c..9c22f5852c 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map0.png and b/Resources/Textures/Structures/Machines/station_map.rsi/station_map0.png differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png index 8c8af6a535..7297442f10 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png and b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png index aa458c9f13..460c86b896 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png and b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png index aaef50116a..4b6fd1babf 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png and b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame2.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame2.png index 98c5caf7ff..91fb91378a 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame2.png and b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame2.png differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame3.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame3.png deleted file mode 100644 index 695418e665..0000000000 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame3.png and /dev/null differ diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/unshaded.png b/Resources/Textures/Structures/Machines/station_map.rsi/unshaded.png index 51c53b7a21..598b94dd77 100644 Binary files a/Resources/Textures/Structures/Machines/station_map.rsi/unshaded.png and b/Resources/Textures/Structures/Machines/station_map.rsi/unshaded.png differ