From 67ab9f40d9c915552ca093a7c0a9efcb68f6ffcf Mon Sep 17 00:00:00 2001 From: Tych0 <151581207+Tych0theSynth@users.noreply.github.com> Date: Wed, 30 Oct 2024 16:29:42 +0000 Subject: [PATCH 1/3] Add mass scanner and radar telescreens --- .../Devices/Circuitboards/computer.yml | 8 + .../Wallmounts/monitors_televisions.yml | 91 ++++++++++ .../utilities/wallmount_telescreens.yml | 167 ++++++++++++++++++ .../_NF/Recipes/Construction/utilities.yml | 35 ++++ Resources/Prototypes/_NF/tags.yml | 6 + .../Machines/computers.rsi/meta.json | 6 + .../computers.rsi/telescreen_mass.png | Bin 0 -> 1011 bytes .../computers.rsi/telescreen_radar.png | Bin 0 -> 942 bytes 8 files changed, 313 insertions(+) create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml create mode 100644 Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml create mode 100644 Resources/Prototypes/_NF/Recipes/Construction/utilities.yml create mode 100644 Resources/Textures/_NF/Structures/Machines/computers.rsi/telescreen_mass.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computers.rsi/telescreen_radar.png diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml index 79e3c92278a..5c101b0f7ec 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml @@ -325,6 +325,10 @@ prototype: ComputerRadar - type: ComputerTabletopBoard # Frontier prototype: ComputerTabletopRadar # Frontier + - type: Tag # Frontier + tags: # Frontier + - DroneUsable # Frontier + - RadarConsoleCircuitboard # Frontier - type: entity parent: BaseComputerCircuitboard @@ -337,6 +341,10 @@ prototype: ComputerAdvancedRadar - type: ComputerTabletopBoard # Frontier prototype: ComputerTabletopAdvancedRadar # Frontier + - type: Tag # Frontier + tags: # Frontier + - DroneUsable # Frontier + - AdvancedRadarConsoleCircuitboard # Frontier - type: entity parent: BaseComputerCircuitboard diff --git a/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml b/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml new file mode 100644 index 00000000000..c60c5e0b710 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml @@ -0,0 +1,91 @@ +# Mass scanner telescreen frame for construction graph +- type: entity + parent: WallmountTelescreenFrame + id: ComputerRadarTelescreenFrame + name: mass scanner telescreen frame + description: A computer for detecting nearby bodies, displaying them by position and mass. + components: + - type: Construction + graph: ComputerRadarTelescreen + node: TelescreenFrame + +# Mass scanner telescreen +- type: entity + parent: ComputerRadarTelescreenFrame + id: ComputerRadarTelescreen + name: mass scanner telescreen + description: A computer for detecting nearby bodies, displaying them by position and mass. + components: + - type: Construction + graph: ComputerRadarTelescreen + node: Telescreen + - type: Sprite + layers: + - map: ["computerLayerBody"] + state: telescreen_frame + - map: ["computerLayerScreen"] + sprite: _NF/Structures/Machines/computers.rsi + state: telescreen_mass + - type: RadarConsole + maxRange: 256 + maxIffRange: 512 + - type: ActivatableUI + key: enum.RadarConsoleUiKey.Key + - type: UserInterface + interfaces: + enum.RadarConsoleUiKey.Key: + type: RadarConsoleBoundUserInterface + enum.WiresUiKey.Key: + type: WiresBoundUserInterface + - type: Computer + board: RadarConsoleCircuitboard + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#e6e227" + +# Radar telescreen frame for construction graph +- type: entity + parent: WallmountTelescreenFrame + id: ComputerAdvancedRadarTelescreenFrame + name: radar telescreen frame + description: This advanced radar lets you detect far away objects for an increased tactical advantage. + components: + - type: Construction + graph: ComputerAdvancedRadarTelescreen + node: TelescreenFrame + +# Radar telescreen +- type: entity + parent: ComputerAdvancedRadarTelescreenFrame + id: ComputerAdvancedRadarTelescreen + name: radar telescreen + description: This advanced radar lets you detect far away objects for an increased tactical advantage. + components: + - type: Construction + graph: ComputerAdvancedRadarTelescreen + node: Telescreen + - type: Sprite + layers: + - map: ["computerLayerBody"] + state: telescreen_frame + - map: ["computerLayerScreen"] + sprite: _NF/Structures/Machines/computers.rsi + state: telescreen_radar + - type: RadarConsole + maxRange: 768 + maxIffRange: null + - type: ActivatableUI + key: enum.RadarConsoleUiKey.Key + - type: UserInterface + interfaces: + enum.RadarConsoleUiKey.Key: + type: RadarConsoleBoundUserInterface + enum.WiresUiKey.Key: + type: WiresBoundUserInterface + - type: Computer + board: AdvancedRadarConsoleCircuitboard + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#e6e227" \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml new file mode 100644 index 00000000000..2608abe5e9c --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml @@ -0,0 +1,167 @@ +# Mass Scanner Telescreen +- type: constructionGraph + id: ComputerRadarTelescreen + start: start + graph: + - node: start + edges: + - to: TelescreenFrame + steps: + - material: Steel + amount: 2 + doAfter: 2 + + - node: TelescreenFrame + entity: ComputerRadarTelescreenFrame + edges: + - to: Wired + steps: + - material: Cable + amount: 5 + doAfter: 3 + + - to: start + completed: + - !type:GivePrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 2 + + - node: Wired + edges: + - to: Screen + steps: + - tool: Screwing + doAfter: 2 + - tag: RadarConsoleCircuitboard + name: radar console computer board + icon: + sprite: Objects/Misc/module.rsi + state: cpuboard + + - to: TelescreenFrame + completed: + - !type:GivePrototype + prototype: CableApcStack1 + amount: 5 + - !type:GivePrototype + prototype: RadarConsoleCircuitboard + amount: 1 + steps: + - tool: Cutting + doAfter: 2 + + - node: Screen + entity: ComputerRadarTelescreenFrame + edges: + - to: Telescreen + steps: + - tool: Screwing + doAfter: 2 + - material: Glass + amount: 2 + doAfter: 2 + + - to: Wired + completed: + - !type:GivePrototype + prototype: SheetGlass1 + amount: 2 + steps: + - tool: Prying + doAfter: 2 + + - node: Telescreen + entity: ComputerRadarTelescreen + edges: + - to: Screen + steps: + - tool: Screwing + doAfter: 3 + +# Advanced Radar Telescreen +- type: constructionGraph + id: ComputerAdvancedRadarTelescreen + start: start + graph: + - node: start + edges: + - to: TelescreenFrame + steps: + - material: Steel + amount: 2 + doAfter: 2 + + - node: TelescreenFrame + entity: ComputerAdvancedRadarTelescreenFrame + edges: + - to: Wired + steps: + - material: Cable + amount: 5 + doAfter: 3 + + - to: start + completed: + - !type:GivePrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 2 + + - node: Wired + edges: + - to: Screen + steps: + - tool: Screwing + doAfter: 2 + - tag: AdvancedRadarConsoleCircuitboard + name: advanced radar console computer board + icon: + sprite: Objects/Misc/module.rsi + state: cpuboard + + - to: TelescreenFrame + completed: + - !type:GivePrototype + prototype: CableApcStack1 + amount: 5 + - !type:GivePrototype + prototype: AdvancedRadarConsoleCircuitboard + amount: 1 + steps: + - tool: Cutting + doAfter: 2 + + - node: Screen + entity: ComputerAdvancedRadarTelescreenFrame + edges: + - to: Telescreen + steps: + - tool: Screwing + doAfter: 2 + - material: Glass + amount: 2 + doAfter: 2 + + - to: Wired + completed: + - !type:GivePrototype + prototype: SheetGlass1 + amount: 2 + steps: + - tool: Prying + doAfter: 2 + + - node: Telescreen + entity: ComputerAdvancedRadarTelescreen + edges: + - to: Screen + steps: + - tool: Screwing + doAfter: 3 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml b/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml new file mode 100644 index 00000000000..c67381e9045 --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml @@ -0,0 +1,35 @@ +# Wallmount mass scanner telescreen +- type: construction + name: mass scanner telescreen + id: ComputerRadarTelescreen + graph: ComputerRadarTelescreen + startNode: start + targetNode: Telescreen + category: construction-category-utilities + description: "A computer for detecting nearby bodies, displaying them by position and mass." + icon: + sprite: Structures/Machines/computers.rsi + state: telescreen_frame + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition {} + +# Wallmount advanced radar telescreen +- type: construction + name: radar telescreen + id: ComputerAdvancedRadarTelescreen + graph: ComputerAdvancedRadarTelescreen + startNode: start + targetNode: Telescreen + category: construction-category-utilities + description: "This advanced radar lets you detect far away objects for an increased tactical advantage." + icon: + sprite: Structures/Machines/computers.rsi + state: telescreen_frame + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition {} \ No newline at end of file diff --git a/Resources/Prototypes/_NF/tags.yml b/Resources/Prototypes/_NF/tags.yml index 21b551ec9a8..931aaecbe17 100644 --- a/Resources/Prototypes/_NF/tags.yml +++ b/Resources/Prototypes/_NF/tags.yml @@ -105,3 +105,9 @@ - type: Tag id: NFVGRoidInterior + +- type: Tag + id: RadarConsoleCircuitboard + +- type: Tag + id: AdvancedRadarConsoleCircuitboard \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/Machines/computers.rsi/meta.json b/Resources/Textures/_NF/Structures/Machines/computers.rsi/meta.json index 183fb96bfc3..bb6d9af30a0 100644 --- a/Resources/Textures/_NF/Structures/Machines/computers.rsi/meta.json +++ b/Resources/Textures/_NF/Structures/Machines/computers.rsi/meta.json @@ -262,6 +262,12 @@ 0.5 ] ] + }, + { "name": "telescreen_mass", + "directions": 4 + }, + { "name": "telescreen_radar", + "directions": 4 } ] } diff --git a/Resources/Textures/_NF/Structures/Machines/computers.rsi/telescreen_mass.png b/Resources/Textures/_NF/Structures/Machines/computers.rsi/telescreen_mass.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d5fddb6cbbb3e8623097de4364611edfff4b2d GIT binary patch literal 1011 zcmVzpv?&oO)yFzN{#;+uxo(wh`SHuF>E5)u>c3`w{5AAFzTofsFT4$!Wun22 zUfi0bcg#(C=3CKpZb(<|E`IbqJ}y{;u10u48>CO>W|bz2ka%cGB#-+H3E- zE@jRB&$oIY{Ap%)IM3p9@!9fD)?df@ur)bmU!HnFU19tKNA;0DR z$^d{QfXKTn;0yp0Y@0FzMhnNAmcU5w+T?37F&oo!vBGOy^xpl9w;h@MxoChFZGayj z0Jy%nAJp@K!r1So836X7f0(RmwzV`tZE%;!PXs`%LGZ!gHU4OIXyq#48n6YUB(;SM z8G%~=CK0hu1VAksataa+IZf%cgoX>b8^9mP+^xt8=3C2n$(%`|Quc`eP_bWOrxt*B zhbzW9HuTso!QWYkgvUKRkjNf;*& zXTVaDu;2mUX}D{=_0n&&!_~4?Kq%K`*(`VlXrmed&_+1){v!iIkC68GA_KG$4!!@# zfY2kPJ-)~QZG=PbKQbWn2x*TmGC&*Q(EE=J2t7jD;}bK0*9K@%v_qF?7JKp7e)a*taJD1aJJfCGTB~X#tx7ipz^6=Njyx+BKFh^V?9l^& z=hr`&W(y#VL=A0Gtl4v_$6&{pc7thaTv`-CKVkqNfv((|s^Ta1=uv|50l;uiM>2RO zYrbzw*^)dj+p7WKmdL3F=R*RV0sOoIqAINlHN*h&06Ggmr72$?004F#%^0xKUP)qd z?{8Wrr~-iB;w33x9sm;@Je{>3@ZT9gM`CdI1pr9^9^jr?Qt<#@r{|9CTLSPUk|Qxw zRRVm;@wp0c6ReVD$qNeOe?)b`C7B@Ujezha0ZN2mg6=sb6$Vfq;3geDB|wP~B3UVo zml#ldT@)RUX^H{F1fLAxs{kFKP+tZyacG|oD#3AI-kbK83foNZ(ZPA?dCQ*#+=B}I zA;bp&ZXTe{fJPrywA)iANP)0Ezz%Jm!abLCUjM&FJ-*1E>` zZ|2F`19QA@%#^kaBoS{oxhX8e+Oi7qB)*0ARdp^!tmW zX7`QxWGjbW51Mj$qp8<_+4rCTyd8gL_SYs76}TXLFr3aU$h+poz6e(5Fh|#d2QF{)F`a2-c9nu+Q)Zo13>s~ot!hPkFMMG+^{3) zP#lHbs|%;i!JGHl;U@y%F9Ha(2|pk7pS)zg&W@`9z#XVn$N`KCL6U%306HzhRtX&n zfcgL%>Z0F>@HnWiBCxY!LlKj*mLk(c()9c8I67XXf|9JaUB zwEW|T9*yDVpIiW-1WXTE{+%cR^EX7G20Vpw9>RJaK&SIh&jZMmI0P3(00LM+4vh*3 z(yaocq5=f4f*cwZ5TsiLMnwe(US!tt zRp4fJvK4^i>7|(|Tlu8|37yp+TR*ks96)kmbH-^oL$DU|hp#8~{9BFTP&=RJA{mLnKGyVgRH7 zzcAV@1^5+fs#Ht%BT@hsoF7`Ug-W*+C0S7F>1N}bmCP_+vL6uuw8^BErzHz&13K0#b*F0gw^Yje+moRDc_bSsaoX0QCf- zDM_OjNUDxB1&l5a+i4^Y5d%Qdp@nGEk_DxPwt5c0e-pX|lJ}=~UNe&aCTsv&e?Bw; zASbo!5H Date: Sun, 3 Nov 2024 13:04:41 -0500 Subject: [PATCH 2/3] Wallmount construction, tabletop fixes --- .../NodeEntities/BoardNodeEntity.cs | 31 +++- .../ComputerTabletopBoardComponent.cs | 2 +- .../ComputerWallmountBoardComponent.cs | 15 ++ .../Devices/Circuitboards/computer.yml | 4 + .../Computers/computers_wallmount.yml | 26 +++ .../Machines/Computers/frame_wallmount.yml | 76 ++++++++ .../Wallmounts/monitors_televisions.yml | 91 ---------- .../Graphs/machines/computer_tabletop.yml | 6 +- .../Graphs/machines/computer_wallmount.yml | 141 +++++++++++++++ .../utilities/wallmount_telescreens.yml | 167 ------------------ .../_NF/Recipes/Construction/machines.yml | 17 ++ .../_NF/Recipes/Construction/utilities.yml | 35 ---- Resources/Prototypes/_NF/tags.yml | 16 +- .../broken_wallmount.png | Bin 0 -> 881 bytes .../computer_board_exposed.png | Bin 0 -> 1565 bytes .../computer_monitor_unscrewed.png | Bin 0 -> 1353 bytes .../computer_needs_wires.png | Bin 0 -> 1356 bytes .../computer_no_monitor.png | Bin 0 -> 1593 bytes .../computer_wallmount.png | Bin 0 -> 1256 bytes .../computer_wallmount_frame.png | Bin 0 -> 1287 bytes .../Machines/computer_wallmount.rsi/meta.json | 48 +++++ .../screen_mass.png} | Bin .../screen_radar.png} | Bin .../Machines/computers.rsi/meta.json | 6 - 24 files changed, 362 insertions(+), 319 deletions(-) rename Content.Server/{ => _NF}/Construction/Components/ComputerTabletopBoardComponent.cs (90%) create mode 100644 Content.Server/_NF/Construction/Components/ComputerWallmountBoardComponent.cs create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/computers_wallmount.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_wallmount.yml delete mode 100644 Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml create mode 100644 Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_wallmount.yml delete mode 100644 Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml delete mode 100644 Resources/Prototypes/_NF/Recipes/Construction/utilities.yml create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/broken_wallmount.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_board_exposed.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_monitor_unscrewed.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_needs_wires.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_no_monitor.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_wallmount.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_wallmount_frame.png create mode 100644 Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/meta.json rename Resources/Textures/_NF/Structures/Machines/{computers.rsi/telescreen_mass.png => computer_wallmount.rsi/screen_mass.png} (100%) rename Resources/Textures/_NF/Structures/Machines/{computers.rsi/telescreen_radar.png => computer_wallmount.rsi/screen_radar.png} (100%) diff --git a/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs b/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs index 3e73ffde3e1..1631f846049 100644 --- a/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs +++ b/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs @@ -1,4 +1,4 @@ -using Content.Server.Construction.Components; +using Content.Server._NF.Construction.Components; // Frontier using Content.Shared.Construction; using Content.Shared.Construction.Components; using JetBrains.Annotations; @@ -15,6 +15,7 @@ namespace Content.Server.Construction.NodeEntities; public sealed partial class BoardNodeEntity : IGraphNodeEntity { [DataField("container")] public string Container { get; private set; } = string.Empty; + [DataField] public ComputerType Computer { get; private set; } = ComputerType.Default; // Frontier public string? GetId(EntityUid? uid, EntityUid? userUid, GraphNodeEntityArgs args) { @@ -29,13 +30,22 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity var board = container.ContainedEntities[0]; - // Frontier - adds tabletop variants - if (args.EntityManager.TryGetComponent(container.Owner, out ConstructionComponent? constructionComponent) - && constructionComponent.Graph == "ComputerTabletop" - && args.EntityManager.TryGetComponent(board, out ComputerTabletopBoardComponent? tabletopComputer)) + // Frontier - alternative computer variants + switch (Computer) { - return tabletopComputer.Prototype; + case ComputerType.Tabletop: + if (args.EntityManager.TryGetComponent(board, out ComputerTabletopBoardComponent? tabletopComputer)) + return tabletopComputer.Prototype; + break; + case ComputerType.Wallmount: + if (args.EntityManager.TryGetComponent(board, out ComputerWallmountBoardComponent? wallmountComputer)) + return wallmountComputer.Prototype; + break; + case ComputerType.Default: + default: + break; } + // End Frontier // There should not be a case where both of these components exist on the same entity... if (args.EntityManager.TryGetComponent(board, out MachineBoardComponent? machine)) @@ -46,4 +56,13 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity return null; } + + // Frontier: support for multiple computer types + public enum ComputerType : byte + { + Default, // Default machines + Tabletop, + Wallmount + } + // End Frontier } diff --git a/Content.Server/Construction/Components/ComputerTabletopBoardComponent.cs b/Content.Server/_NF/Construction/Components/ComputerTabletopBoardComponent.cs similarity index 90% rename from Content.Server/Construction/Components/ComputerTabletopBoardComponent.cs rename to Content.Server/_NF/Construction/Components/ComputerTabletopBoardComponent.cs index 78e892cd947..680ccdb9819 100644 --- a/Content.Server/Construction/Components/ComputerTabletopBoardComponent.cs +++ b/Content.Server/_NF/Construction/Components/ComputerTabletopBoardComponent.cs @@ -1,7 +1,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -namespace Content.Server.Construction.Components +namespace Content.Server._NF.Construction.Components { /// /// Used for construction graphs in building tabletop computers. diff --git a/Content.Server/_NF/Construction/Components/ComputerWallmountBoardComponent.cs b/Content.Server/_NF/Construction/Components/ComputerWallmountBoardComponent.cs new file mode 100644 index 00000000000..3d8eba5ad03 --- /dev/null +++ b/Content.Server/_NF/Construction/Components/ComputerWallmountBoardComponent.cs @@ -0,0 +1,15 @@ +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server._NF.Construction.Components +{ + /// + /// Used for construction graphs in building wallmount computers. + /// + [RegisterComponent] + public sealed partial class ComputerWallmountBoardComponent : Component + { + [DataField("prototype", customTypeSerializer: typeof(PrototypeIdSerializer))] + public string? Prototype { get; private set; } + } +} diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml index 5c101b0f7ec..93462300fae 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml @@ -325,6 +325,8 @@ prototype: ComputerRadar - type: ComputerTabletopBoard # Frontier prototype: ComputerTabletopRadar # Frontier + - type: ComputerWallmountBoard # Frontier + prototype: ComputerWallmountRadar # Frontier - type: Tag # Frontier tags: # Frontier - DroneUsable # Frontier @@ -341,6 +343,8 @@ prototype: ComputerAdvancedRadar - type: ComputerTabletopBoard # Frontier prototype: ComputerTabletopAdvancedRadar # Frontier + - type: ComputerWallmountBoard # Frontier + prototype: ComputerWallmountAdvancedRadar # Frontier - type: Tag # Frontier tags: # Frontier - DroneUsable # Frontier diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/computers_wallmount.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/computers_wallmount.yml new file mode 100644 index 00000000000..fdc693ee044 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/computers_wallmount.yml @@ -0,0 +1,26 @@ +# Mass scanner telescreen +- type: entity + parent: [BaseStructureComputerWallmount, ComputerRadar] + id: ComputerWallmountRadar + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _NF/Structures/Machines/computer_wallmount.rsi + layers: + - map: ["computerLayerBody"] + state: computer_wallmount + - map: ["computerLayerScreen"] + state: screen_mass + +- type: entity + parent: [BaseStructureComputerWallmount, ComputerAdvancedRadar] + id: ComputerWallmountAdvancedRadar + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _NF/Structures/Machines/computer_wallmount.rsi + layers: + - map: ["computerLayerBody"] + state: computer_wallmount + - map: ["computerLayerScreen"] + state: screen_radar diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_wallmount.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_wallmount.yml new file mode 100644 index 00000000000..0973d8b9402 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_wallmount.yml @@ -0,0 +1,76 @@ +- type: entity + id: BaseStructureComputerWallmount + parent: [BaseStructureWallmount, BaseStructure] + suffix: Wallmount + abstract: true + components: + - type: Anchorable + - type: InteractionOutline + - type: Construction + graph: ComputerWallmount + node: wallmount computer + - type: Sprite + sprite: _NF/Structures/Machines/computer_wallmount.rsi + drawdepth: WallMountedItems + layers: + - map: [ "computerLayerBody" ] + sprite: _NF/Structures/Machines/computer_wallmount.rsi + state: computer_wallmount + - map: [ "computerLayerScreen" ] + sprite: _NF/Structures/Machines/computer_wallmount.rsi + state: screen_generic + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Electronic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:ChangeConstructionNodeBehavior + node: monitorBroken + - !type:DoActsBehavior + acts: ["Destruction"] + - type: StaticPrice + price: 100 + +- type: entity + parent: BaseStructureComputerWallmount + name: computer + id: ComputerWallmountFrame + components: + - type: Construction + graph: ComputerWallmount + node: frameUnsecured + containers: + - board + - type: Sprite + drawdepth: WallMountedItems + sprite: _NF/Structures/Machines/computer_wallmount.rsi + layers: + - state: computer_wallmount_frame + map: [ "enum.ConstructionVisuals.Layer" ] + - type: Appearance + - type: GenericVisualizer + visuals: + enum.ConstructionVisuals.Key: + enum.ConstructionVisuals.Layer: + frameUnsecured: { state: computer_wallmount_frame } + boardUnsecured: { state: computer_board_exposed } + missingWires: { state: computer_needs_wires } + monitorMissing: { state: computer_no_monitor } + monitorUnsecured: { state: computer_monitor_unscrewed } + +- type: entity + parent: [BaseStructureWallmount, ComputerBroken] + id: ComputerWallmountBroken + suffix: Wallmount + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _NF/Structures/Machines/computer_wallmount.rsi + state: broken_wallmount diff --git a/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml b/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml deleted file mode 100644 index c60c5e0b710..00000000000 --- a/Resources/Prototypes/_NF/Entities/Structures/Wallmounts/monitors_televisions.yml +++ /dev/null @@ -1,91 +0,0 @@ -# Mass scanner telescreen frame for construction graph -- type: entity - parent: WallmountTelescreenFrame - id: ComputerRadarTelescreenFrame - name: mass scanner telescreen frame - description: A computer for detecting nearby bodies, displaying them by position and mass. - components: - - type: Construction - graph: ComputerRadarTelescreen - node: TelescreenFrame - -# Mass scanner telescreen -- type: entity - parent: ComputerRadarTelescreenFrame - id: ComputerRadarTelescreen - name: mass scanner telescreen - description: A computer for detecting nearby bodies, displaying them by position and mass. - components: - - type: Construction - graph: ComputerRadarTelescreen - node: Telescreen - - type: Sprite - layers: - - map: ["computerLayerBody"] - state: telescreen_frame - - map: ["computerLayerScreen"] - sprite: _NF/Structures/Machines/computers.rsi - state: telescreen_mass - - type: RadarConsole - maxRange: 256 - maxIffRange: 512 - - type: ActivatableUI - key: enum.RadarConsoleUiKey.Key - - type: UserInterface - interfaces: - enum.RadarConsoleUiKey.Key: - type: RadarConsoleBoundUserInterface - enum.WiresUiKey.Key: - type: WiresBoundUserInterface - - type: Computer - board: RadarConsoleCircuitboard - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#e6e227" - -# Radar telescreen frame for construction graph -- type: entity - parent: WallmountTelescreenFrame - id: ComputerAdvancedRadarTelescreenFrame - name: radar telescreen frame - description: This advanced radar lets you detect far away objects for an increased tactical advantage. - components: - - type: Construction - graph: ComputerAdvancedRadarTelescreen - node: TelescreenFrame - -# Radar telescreen -- type: entity - parent: ComputerAdvancedRadarTelescreenFrame - id: ComputerAdvancedRadarTelescreen - name: radar telescreen - description: This advanced radar lets you detect far away objects for an increased tactical advantage. - components: - - type: Construction - graph: ComputerAdvancedRadarTelescreen - node: Telescreen - - type: Sprite - layers: - - map: ["computerLayerBody"] - state: telescreen_frame - - map: ["computerLayerScreen"] - sprite: _NF/Structures/Machines/computers.rsi - state: telescreen_radar - - type: RadarConsole - maxRange: 768 - maxIffRange: null - - type: ActivatableUI - key: enum.RadarConsoleUiKey.Key - - type: UserInterface - interfaces: - enum.RadarConsoleUiKey.Key: - type: RadarConsoleBoundUserInterface - enum.WiresUiKey.Key: - type: WiresBoundUserInterface - - type: Computer - board: AdvancedRadarConsoleCircuitboard - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#e6e227" \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_tabletop.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_tabletop.yml index 5cc27fc1e69..107a04620f6 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_tabletop.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_tabletop.yml @@ -36,7 +36,7 @@ amount: 5 - !type:DeleteEntity {} steps: - - tool: Welding + - tool: Screwing doAfter: 2 - node: boardUnsecured @@ -119,7 +119,9 @@ - tool: Prying - node: tabletop computer - entity: !type:BoardNodeEntity { container: board } + entity: !type:BoardNodeEntity + container: board + computer: Tabletop edges: - to: monitorUnsecured conditions: diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_wallmount.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_wallmount.yml new file mode 100644 index 00000000000..a8b403facc6 --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/machines/computer_wallmount.yml @@ -0,0 +1,141 @@ +- type: constructionGraph + id: ComputerWallmount + start: start + graph: + - node: start + edges: + - to: frameUnsecured + completed: + - !type:SetAnchor + value: true # Explicitly true - should always be anchored + steps: + - material: Steel + amount: 5 + doAfter: 2.5 + + - node: frameUnsecured + actions: + - !type:AppearanceChange + entity: ComputerWallmountFrame + edges: + - to: boardUnsecured + steps: + - component: ComputerWallmountBoard + store: board + name: any wallmount computer circuit board + icon: + sprite: "Objects/Misc/module.rsi" + state: "id_mod" + + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + + - node: boardUnsecured + actions: + - !type:AppearanceChange + edges: + - to: missingWires + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + + - to: frameUnsecured + conditions: + - !type:EntityAnchored { } + completed: + - !type:EmptyAllContainers + emptyAtUser: true # Try and prevent stuff going out into space + steps: + - tool: Prying + + - node: missingWires + actions: + - !type:AppearanceChange + edges: + - to: monitorMissing + conditions: + - !type:EntityAnchored {} + steps: + - material: Cable + amount: 5 + + - to: boardUnsecured + conditions: + - !type:EntityAnchored { } + steps: + - tool: Screwing + + - node: monitorMissing + entity: ComputerWallmountFrame + actions: + - !type:AppearanceChange + edges: + - to: monitorUnsecured + conditions: + - !type:EntityAnchored {} + steps: + - material: Glass + amount: 2 + + - to: missingWires + conditions: + - !type:EntityAnchored { } + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + + - node: monitorUnsecured + actions: + - !type:AppearanceChange + entity: ComputerWallmountFrame + edges: + - to: wallmount computer + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + + - to: monitorMissing + conditions: + - !type:EntityAnchored {} + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 2 + steps: + - tool: Prying + + - node: wallmount computer + entity: !type:BoardNodeEntity + container: board + computer: Wallmount + edges: + - to: monitorUnsecured + steps: + - tool: Prying + doAfter: 1 + + - node: monitorBroken + entity: ComputerWallmountBroken + edges: + - to: monitorMissing + conditions: + - !type:EntityAnchored {} + completed: + - !type:SpawnPrototype + prototype: ShardGlass + amount: 2 + steps: + - tool: Prying + doAfter: 2 diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml deleted file mode 100644 index 2608abe5e9c..00000000000 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/utilities/wallmount_telescreens.yml +++ /dev/null @@ -1,167 +0,0 @@ -# Mass Scanner Telescreen -- type: constructionGraph - id: ComputerRadarTelescreen - start: start - graph: - - node: start - edges: - - to: TelescreenFrame - steps: - - material: Steel - amount: 2 - doAfter: 2 - - - node: TelescreenFrame - entity: ComputerRadarTelescreenFrame - edges: - - to: Wired - steps: - - material: Cable - amount: 5 - doAfter: 3 - - - to: start - completed: - - !type:GivePrototype - prototype: SheetSteel1 - amount: 2 - - !type:DeleteEntity {} - steps: - - tool: Welding - doAfter: 2 - - - node: Wired - edges: - - to: Screen - steps: - - tool: Screwing - doAfter: 2 - - tag: RadarConsoleCircuitboard - name: radar console computer board - icon: - sprite: Objects/Misc/module.rsi - state: cpuboard - - - to: TelescreenFrame - completed: - - !type:GivePrototype - prototype: CableApcStack1 - amount: 5 - - !type:GivePrototype - prototype: RadarConsoleCircuitboard - amount: 1 - steps: - - tool: Cutting - doAfter: 2 - - - node: Screen - entity: ComputerRadarTelescreenFrame - edges: - - to: Telescreen - steps: - - tool: Screwing - doAfter: 2 - - material: Glass - amount: 2 - doAfter: 2 - - - to: Wired - completed: - - !type:GivePrototype - prototype: SheetGlass1 - amount: 2 - steps: - - tool: Prying - doAfter: 2 - - - node: Telescreen - entity: ComputerRadarTelescreen - edges: - - to: Screen - steps: - - tool: Screwing - doAfter: 3 - -# Advanced Radar Telescreen -- type: constructionGraph - id: ComputerAdvancedRadarTelescreen - start: start - graph: - - node: start - edges: - - to: TelescreenFrame - steps: - - material: Steel - amount: 2 - doAfter: 2 - - - node: TelescreenFrame - entity: ComputerAdvancedRadarTelescreenFrame - edges: - - to: Wired - steps: - - material: Cable - amount: 5 - doAfter: 3 - - - to: start - completed: - - !type:GivePrototype - prototype: SheetSteel1 - amount: 2 - - !type:DeleteEntity {} - steps: - - tool: Welding - doAfter: 2 - - - node: Wired - edges: - - to: Screen - steps: - - tool: Screwing - doAfter: 2 - - tag: AdvancedRadarConsoleCircuitboard - name: advanced radar console computer board - icon: - sprite: Objects/Misc/module.rsi - state: cpuboard - - - to: TelescreenFrame - completed: - - !type:GivePrototype - prototype: CableApcStack1 - amount: 5 - - !type:GivePrototype - prototype: AdvancedRadarConsoleCircuitboard - amount: 1 - steps: - - tool: Cutting - doAfter: 2 - - - node: Screen - entity: ComputerAdvancedRadarTelescreenFrame - edges: - - to: Telescreen - steps: - - tool: Screwing - doAfter: 2 - - material: Glass - amount: 2 - doAfter: 2 - - - to: Wired - completed: - - !type:GivePrototype - prototype: SheetGlass1 - amount: 2 - steps: - - tool: Prying - doAfter: 2 - - - node: Telescreen - entity: ComputerAdvancedRadarTelescreen - edges: - - to: Screen - steps: - - tool: Screwing - doAfter: 3 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Recipes/Construction/machines.yml b/Resources/Prototypes/_NF/Recipes/Construction/machines.yml index ff303800b5a..76978b6fef4 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/machines.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/machines.yml @@ -11,3 +11,20 @@ icon: sprite: _NF/Structures/Machines/computer_tabletop.rsi state: computer_tabletop_frame + +- type: construction + name: computer (wallmount) + id: ConstructionComputerWallmount + graph: ComputerWallmount + startNode: start + targetNode: wallmount computer + category: construction-category-machines + description: A frame used to construct anything with a computer circuitboard. + icon: + sprite: _NF/Structures/Machines/computer_wallmount.rsi + state: computer_wallmount_frame + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition {} diff --git a/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml b/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml deleted file mode 100644 index c67381e9045..00000000000 --- a/Resources/Prototypes/_NF/Recipes/Construction/utilities.yml +++ /dev/null @@ -1,35 +0,0 @@ -# Wallmount mass scanner telescreen -- type: construction - name: mass scanner telescreen - id: ComputerRadarTelescreen - graph: ComputerRadarTelescreen - startNode: start - targetNode: Telescreen - category: construction-category-utilities - description: "A computer for detecting nearby bodies, displaying them by position and mass." - icon: - sprite: Structures/Machines/computers.rsi - state: telescreen_frame - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: true - conditions: - - !type:WallmountCondition {} - -# Wallmount advanced radar telescreen -- type: construction - name: radar telescreen - id: ComputerAdvancedRadarTelescreen - graph: ComputerAdvancedRadarTelescreen - startNode: start - targetNode: Telescreen - category: construction-category-utilities - description: "This advanced radar lets you detect far away objects for an increased tactical advantage." - icon: - sprite: Structures/Machines/computers.rsi - state: telescreen_frame - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: true - conditions: - - !type:WallmountCondition {} \ No newline at end of file diff --git a/Resources/Prototypes/_NF/tags.yml b/Resources/Prototypes/_NF/tags.yml index 931aaecbe17..bba0f16bf41 100644 --- a/Resources/Prototypes/_NF/tags.yml +++ b/Resources/Prototypes/_NF/tags.yml @@ -69,19 +69,19 @@ - type: Tag id: SalvageOutpost - + - type: Tag id: HoverbikeKeys - + - type: Tag id: WeaponRifleNovaliteC1 - + - type: Tag id: MagazineNovaliteC1 - type: Tag id: TrackingDart - + - type: Tag id: SpeedLoaderRifleHeavy @@ -96,7 +96,7 @@ - type: Tag id: BrassKnucklesNF - + - type: Tag id: MaterialHideRosyMothroach @@ -105,9 +105,3 @@ - type: Tag id: NFVGRoidInterior - -- type: Tag - id: RadarConsoleCircuitboard - -- type: Tag - id: AdvancedRadarConsoleCircuitboard \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/broken_wallmount.png b/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/broken_wallmount.png new file mode 100644 index 0000000000000000000000000000000000000000..e6faf190db97a0148a944454297c7a887c093e68 GIT binary patch literal 881 zcmV-%1CIQOP)fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBS zBsC|sIJqb_H7`kti!&v&s2HS`i!-e#F*g;&Hss>W$HF{anD-001*e9~A>c zt9}3g0$NE#K~z|U?N{B_n;;MrMS;SK2J`-}+Sw)jqJXC9cY4!ib74+|*&mjjN!NYs zA2LGTLZuoZzYKX4?DaY0Xq*VMa}^q)2qYleTn!vHfn%v+nq=X z;im!sVIe`EC`y?Q8S;w3AbCpn`+cJrJ;e$Dz!Zo!c)-(^0NUbLFYmbyR7C)M9g zq87kSI%Hb8UC=d00PWCQycN#5U+LWlMkoE9k2sX4+`YUlYP98L>&xqSd0&+-FMD4C zys+=in~#0$KeF#$6}7vmHFf@m2h~4kMNM4YW8{qbbR6*D=8*;7ndYSl0NgJh)j(o^ zz^ujtcV627w;AM-nXL(sx!H%)2-aEXD>ir~N5IoIUIG|qmlJ^DQ3LYkEQNK>6wXoB z0NPL{o@lQCC<(!s8ep_S;Gj--kwOHyCit;K4d9SJ-cxdC5lkrJ#`GR5eUbS+vcTBL zV&zE$F2Mu*_)_6y{`Db2;>6P;F5Cy3$PZfs^hV@ex@aWyLCi9aOq~My;BiJ50ERn} zPiv}+C^C(O)_ET+^Ta}p^;)}?1s($I5+G}oHb7Qc=z~hgcF#tV3)ha|OG2E?1CD?% zi`1Y2@aqqQ9-9+M=D|~@)cWGpOq7YV`&aS@Q}ZKG{+j&+;ruVzok+Uw00000NkvXX Hu0mjfXSj#> literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_board_exposed.png b/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_board_exposed.png new file mode 100644 index 0000000000000000000000000000000000000000..2b46b31ac8c0161d307b48d2887ee149f8ae527b GIT binary patch literal 1565 zcmV+&2IBdNP) z1RTiO;Gz~oe9NIaIFV5TQi3S8aqY#GcVIz1?9OU;wYxL3>ojh=9}q$_yF2sV&b*m< z?+HjrNl8ih|8nh9cOZ=Mg4VyRXZ_J_hRT__3Y`e!;r)96fOh*W41?jEF^mubN(oA( ziJ>|GL-o&|zldxjQ~~1!tv^D;<FgnF0VD9=?WQ80htSL)VUtjRDa5ag@+( z9sqzNApdT+-vWR~cz1oXc>qnD7Ct|;LtFuc(w9SZqPO7Y=Jg!1+0XIwulv%YV7#F9 z=jZ0|=FM+7KGS7x32b+A@-_fqV{0q4?Z_#>X}sEx)d>Ko)s}H|^n0v(>-8PzvpO1! zMO1e?Xv`K-ebNES09tn67OgV=4Zx|-t?giG=}}}GpUHNH5Tg9y93H+_mECC*0IItk ztk4xycL&0+-x_u5P`1ATpbV_DQJ@S@AHt9t0fZ1_GE$d1n5GFrh&??FrF%JyG3591 zz#g!MHRO?Z>V5#M-+R8B_6BtcV>pl zRab#drxn?b+G~}B5aMV*$S|tVc(os>_?It#iM+2~-$AXmES!Fk3dm-&7;!Z&I|6h) zp5+dLx2ZA(-P2D*goYeKYt~=9DWPgNeEtMuvukU~m zqAZk*5t79{tzeR)3Ykd0gXQ+N;i98I= z&&>hAr5sA44kSTsfBVf0dcD5_+f}hY-S#`28`nbHj_lBQLF+%fe{bkW>hB0Jd@SV# zOw*?E?D-2Nf53P_>lX_*aB^}oRHt$b=R_$$YImV&)6S+MY8Bx1{yJ5x&T9Rj_j7Js z0JuP>>p!7}>o-dI!VwVNRe9n#LsC*wQc_Y8iA z4<3B)`R#UtB~ix5dmqk((ovZL)r2RF8yfzl!?wn(QF=oQUZNe2g*Qx!*a52Zaxlu82|#~ia|(+ z$2na1u#lA##)jn`GK~1HY_7cHGkp;Dw#(h^yFaS217!sO1L1>0Rc?PoL+gL1m z%0-k)6QGm|uM;XjHo?hR?#hGC8U{>jR3EH>Zi0RYN_=_UI@WJa%)4NwxIhPP}mAZr}Y|1?khEOx7l24EYT!MRjuN zHZCsCl{@67RGM&d6a03CCr$Z2&{$pCEBn_^&%=Q&Lh=J{f-lv1Dd4>PB|@ P00000NkvXXu0mjf_p0NA literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_monitor_unscrewed.png b/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_monitor_unscrewed.png new file mode 100644 index 0000000000000000000000000000000000000000..550e97bed108a7e4f611c772e977b90d2a598f4b GIT binary patch literal 1353 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_wallmount.png b/Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi/computer_wallmount.png new file mode 100644 index 0000000000000000000000000000000000000000..b96cd3ca6df39792a853891baf32d02e84f99efb GIT binary patch literal 1256 zcmVP)5FQ0xsPMQp5o#F{n-x6|Pjsjcb8J1ipX+ zYFrAe(s4kzNEvLbgcarpwtR8IWIbD5iq)+4Zg*$iu6Fei&kuz5cK2rH{pah=n>oN@ zu~;mYca|yL!YV2T!$mofPlqJ(y{AM=r~^pK}hz7&@If0Kl_nzd=fgAP7?L zHX028-BA${j!XPp0TeCoUdqonL;& zq8$U2m$$wB*f`isKCc4TaiaevjHjX%V0QLOWzNV(zhCG(k*l2^e*l{C)K*Axgtivu zGo20PgiJapN#~_3j4^m#yH?`?;xu@5=Silsp_~xqlmHlWSk!eHRQIdXcz_^)$(ODZ z-`~aUJHMvxS2_Ni%6Py`t2>%)UBqxWOg$^I3|9y_m7D*m3{n8^Mli-=u~;k?i^XEG zoE*kQ!ci6_XJHXyTn^8+E|Qm?OG{slectHzD-og2N-zdQhQlF(;9q!N8<#JCs0}_O ztUE>$(s^fODQwfBo)yX8f=Uwif2&P0wC$5mJ7d8xK?! zVxrLYxDeuC$0ZU0INZ2UEZ5bxr(wF1xO~S z6G83btlwQPRDd$5K3|0hMgbUOv2iL>AT0u8PF@nVk|#p4%sPw$bUJfj%rUkE6{D|n z3{bdEx;$AGLTL%4F~IZMa9vj`f}+kY@YOewxT>}3L{PihCX50k9S)rc>M(*TWF7qQ zeI%}`5FlR!;Bb3Qhfx4^(jwWsvP6(F94llUB)eDMpr=HjoDKm90t7)2d0P{GER|`6 z=K}Ij-D|Q!fV2owhNRv3)CVUraX`X|&=?mBAK9?$=m z8(&(0JSx?AIIC~{*=^U;ikIz!*clz6Jm|K7I$zIR=A4=G~>GB>?fz#R#p|5de%86u;Z;69AY{ zK3(2w9U+d_wcpPbNEo16`#w{q>xDGmep5yieT`p#KQJBzm1;bEyt#?@@BhHrMbD&) zwB6O!+W>%PySuqnA0|0Om zgsw)!@$ozBx}wb>Fc#4Xqp!ONk|YVjFua-`+(|f+OsQGdx6;aV6c7=DAV88N;GC`& zM!WTIZ|^xa?%d5hx7`Igoe#=(<}$v*FdSQ7wlLao`1U|*_&0BUQ`Xzxe~m_COFR9P z28f~vrBvglBcRuFTe)S3Hf^S0div>5ew8r>#=`MOZ4^tA#Q0quLiuvJZ1jGw*Behi z-TI?7Ypu32-i~aQD!PcJNlzF24id?(@(3}BAgK!V*1TO z1{GQZG@ILn4<)X&+b2%WkPS-rtWu4Kj~?9597(4I0kX$Zv4F+#I$pedWfc#oRO8`t z^(M~G&ogB<$8bTP-zat(jN|pOQ=!@gMEP`?EhAy$p{#%U{1U(=I^F3LYQB9{#@CJj zwW#K}1VcO?kH_Qjcsw4@+|c^xMa~2N2LE4s7+S90G(LJheE9Rk-{~+|5o64=6SM{> zu^~1#el!X`h)WD2!o7PxP2ADj8X&Fou)p&Jfc$cV zh_G?z?nM0X?4k#5ct@XyNRR+94$cx08jUU7y7iql64Y&f)VAStH<%8Rid&dGOm1gX zv|2}CEX)LFcXpoSb_M`xC{2cSxK{`vdP7`-$|!nAAdEL1k8HP3lvidpLDa8Y1QU&$ zTvZh@Lf-J^eDo{`0+h>Tgkk7>X`(ei6h%fKD&+`}_uPa$A`64hiyw(pG3y#2*+TQSK|#9x^xrlZABId46@(x}gw@sCxV-FJ3zVi-TN&pj zOe2z}rj@oG2}TCUJ6DTjh11gx>h-luX14C16-*Gh35O};0@)6c Date: Sun, 3 Nov 2024 13:12:23 -0500 Subject: [PATCH 3/3] Remove unused (and undefined!) tags --- .../Entities/Objects/Devices/Circuitboards/computer.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml index 93462300fae..df00bb3edac 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml @@ -327,10 +327,6 @@ prototype: ComputerTabletopRadar # Frontier - type: ComputerWallmountBoard # Frontier prototype: ComputerWallmountRadar # Frontier - - type: Tag # Frontier - tags: # Frontier - - DroneUsable # Frontier - - RadarConsoleCircuitboard # Frontier - type: entity parent: BaseComputerCircuitboard @@ -345,10 +341,6 @@ prototype: ComputerTabletopAdvancedRadar # Frontier - type: ComputerWallmountBoard # Frontier prototype: ComputerWallmountAdvancedRadar # Frontier - - type: Tag # Frontier - tags: # Frontier - - DroneUsable # Frontier - - AdvancedRadarConsoleCircuitboard # Frontier - type: entity parent: BaseComputerCircuitboard