From f6b598dfcf8ef0b262f6f4e504bbe011da60ca3a Mon Sep 17 00:00:00 2001 From: Hyenh <108431937+Hyenh@users.noreply.github.com> Date: Fri, 12 Apr 2024 14:05:09 +0700 Subject: [PATCH] Weapon Targeting Console Resprite (#270) * console * rsi fix? * removes graphs * Build resolve * rsi resolve --- .../Objects/Devices/circuitboards.yml | 10 +- .../Machines/Computers/computers.yml | 44 ++++++ .../Machines/Computers/weapon_targeting.yml | 125 ------------------ .../Construction/Graphs/weapon_pad.yml | 78 ----------- .../_FTL/Recipes/Construction/weapon_pad.yml | 17 --- .../Machines/computers.rsi/aiming_key.png | Bin 0 -> 1030 bytes .../computers.rsi/aiming_keyboard.png | Bin 0 -> 1812 bytes .../Machines/computers.rsi/computer.png | Bin 0 -> 1872 bytes .../Machines/computers.rsi/gun_aiming.png | Bin 0 -> 1558 bytes .../Machines/computers.rsi/meta.json | 69 ++++++++++ 10 files changed, 119 insertions(+), 224 deletions(-) create mode 100644 Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/computers.yml delete mode 100644 Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/weapon_targeting.yml delete mode 100644 Resources/Prototypes/_FTL/Recipes/Construction/Graphs/weapon_pad.yml delete mode 100644 Resources/Prototypes/_FTL/Recipes/Construction/weapon_pad.yml create mode 100644 Resources/Textures/_FTL/Structures/Machines/computers.rsi/aiming_key.png create mode 100644 Resources/Textures/_FTL/Structures/Machines/computers.rsi/aiming_keyboard.png create mode 100644 Resources/Textures/_FTL/Structures/Machines/computers.rsi/computer.png create mode 100644 Resources/Textures/_FTL/Structures/Machines/computers.rsi/gun_aiming.png create mode 100644 Resources/Textures/_FTL/Structures/Machines/computers.rsi/meta.json diff --git a/Resources/Prototypes/_FTL/Entities/Objects/Devices/circuitboards.yml b/Resources/Prototypes/_FTL/Entities/Objects/Devices/circuitboards.yml index c6829cb0f0..2d8fad1e08 100644 --- a/Resources/Prototypes/_FTL/Entities/Objects/Devices/circuitboards.yml +++ b/Resources/Prototypes/_FTL/Entities/Objects/Devices/circuitboards.yml @@ -1,12 +1,14 @@ - type: entity - parent: BaseElectronics + parent: BaseComputerCircuitboard id: WeaponPadCircuitboard - name: weapon pad electronics - description: An electronics board used in weapon pads. + name: weapon console computer board + description: An computer board used in weapon consoles. components: - type: Sprite sprite: Objects/Misc/module.rsi - state: airalarm_electronics + state: cpu_security + - type: ComputerBoard + prototype: WeaponTargetingPad - type: Tag tags: - WeaponPadElectronics diff --git a/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/computers.yml new file mode 100644 index 0000000000..fd391ef0ab --- /dev/null +++ b/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/computers.yml @@ -0,0 +1,44 @@ +- type: entity + parent: BaseComputer + id: WeaponTargetingPad + name: weapon targeting console + description: A targeting pad used for targeting and firing. + placement: + mode: SnapgridCenter + components: + - type: Sprite + sprite: _FTL/Structures/Machines/computers.rsi + layers: + - map: ["computerLayerBody"] + state: computer + - map: ["computerLayerKeyboard"] + state: aiming_keyboard + - map: ["computerLayerScreen"] + state: gun_aiming + - map: ["computerLayerKeys"] + state: aiming_key + - type: ApcPowerReceiver + powerLoad: 200 + - type: Computer + board: WeaponPadCircuitboard + - type: ActivatableUIRequiresPower + - type: ActivatableUI + key: enum.ShipWeaponTargetingUiKey.Key + - type: UserInterface + interfaces: + - key: enum.ShipWeaponTargetingUiKey.Key + type: GunnerConsoleBoundUserInterface + - type: RadarConsole + - type: GunnerConsole + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: BasicDevice + - type: WirelessNetworkConnection + range: 200 + - type: DeviceLinkSource + ports: + - WeaponOutputPort + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#17e64b" \ No newline at end of file diff --git a/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/weapon_targeting.yml b/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/weapon_targeting.yml deleted file mode 100644 index 0b67dba386..0000000000 --- a/Resources/Prototypes/_FTL/Entities/Structures/Machines/Computers/weapon_targeting.yml +++ /dev/null @@ -1,125 +0,0 @@ -- type: entity - id: WeaponTargetingPadBroken - name: weapon targeting pad - description: A targeting pad used for targeting and firing. - suffix: Wall broken - placement: - mode: SnapgridCenter - components: - - type: InteractionOutline - - type: Clickable - - type: Sprite - sprite: Structures/Machines/station_map.rsi - drawdepth: WallMountedItems - layers: - - state: station_map_broken - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: WeaponTargetingPad - name: weapon targeting pad - parent: BaseComputer - suffix: Wall - placement: - mode: SnapgridCenter - components: - - type: Transform - anchored: true - noRot: true - - type: InteractionOutline - - type: Clickable - - type: Sprite - sprite: Structures/Machines/station_map.rsi - drawdepth: WallMountedItems - layers: - - state: station_map0 - - state: unshaded - map: [ "enum.PowerDeviceVisualLayers.Powered" ] - shader: unshaded - - type: ApcPowerReceiver - powerLoad: 200 - - type: WallMount - arc: 360 - - type: ExtensionCableReceiver - - type: ActivatableUIRequiresPower - - type: ActivatableUI - key: enum.ShipWeaponTargetingUiKey.Key - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - StationMapBroken: - min: 1 - max: 1 - WeaponPadCircuitboard: - min: 1 - max: 1 - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: UserInterface - interfaces: - - key: enum.ShipWeaponTargetingUiKey.Key - type: GunnerConsoleBoundUserInterface - - type: RadarConsole - - type: GunnerConsole - - type: DeviceNetwork - deviceNetId: Wireless - receiveFrequencyId: BasicDevice - - type: WirelessNetworkConnection - range: 200 - - type: DeviceLinkSource - ports: - - WeaponOutputPort - - type: Construction - graph: WeaponPad - node: weapon_pad - -- type: entity - id: WeaponPadAssembly - name: weapon pad 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: WeaponPad - node: assembly - - type: Transform - anchored: true - placement: - mode: SnapgridCenter - snap: - - Wallmount diff --git a/Resources/Prototypes/_FTL/Recipes/Construction/Graphs/weapon_pad.yml b/Resources/Prototypes/_FTL/Recipes/Construction/Graphs/weapon_pad.yml deleted file mode 100644 index acd2b5187b..0000000000 --- a/Resources/Prototypes/_FTL/Recipes/Construction/Graphs/weapon_pad.yml +++ /dev/null @@ -1,78 +0,0 @@ -- type: constructionGraph - id: WeaponPad - start: start - graph: - - node: start - edges: - - to: assembly - steps: - - material: Steel - amount: 2 - doAfter: 2.0 - - - node: assembly - entity: WeaponPadAssembly - 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: WeaponPadAssembly - actions: - - !type:AppearanceChange - edges: - - to: electronics - steps: - - tag: WeaponPadElectronics - 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: weapon_pad - steps: - - tool: Screwing - doAfter: 2 - - - node: weapon_pad - entity: WeaponTargetingPad - 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/_FTL/Recipes/Construction/weapon_pad.yml b/Resources/Prototypes/_FTL/Recipes/Construction/weapon_pad.yml deleted file mode 100644 index c2284dd78d..0000000000 --- a/Resources/Prototypes/_FTL/Recipes/Construction/weapon_pad.yml +++ /dev/null @@ -1,17 +0,0 @@ -- type: construction - name: weapon pad - id: WeaponPad - graph: WeaponPad - startNode: start - targetNode: weapon_pad - category: construction-category-structures - description: A weapon pad for padding weapons. - icon: - sprite: Structures/Machines/station_map.rsi - state: station_map0 - placementMode: SnapgridCenter - objectType: Structure - canRotate: true - canBuildInImpassable: true - conditions: - - !type:WallmountCondition {} diff --git a/Resources/Textures/_FTL/Structures/Machines/computers.rsi/aiming_key.png b/Resources/Textures/_FTL/Structures/Machines/computers.rsi/aiming_key.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7a4b291f0d7112286b212a829eb2aa4664ecdc GIT binary patch literal 1030 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 KMNUMnLSTaOop+%C literal 0 HcmV?d00001 diff --git a/Resources/Textures/_FTL/Structures/Machines/computers.rsi/gun_aiming.png b/Resources/Textures/_FTL/Structures/Machines/computers.rsi/gun_aiming.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e3c1c3789c1a648d13172fdc95c710af2bb94b GIT binary patch literal 1558 zcmZuxe>Bqz6#v@DeqgfM2(=nYewJQ-wEP-1<%oE1mGM-sX0l^#L>@6U6-QJnL~Zh@ zNGOT?8cIYs{m@Y6N3&X(XHCg|y!B4+kIw6!bMNQgd+t5wp8L7yo(&4zt`A!Q0{}qZ zpXj?=gZys_0c-3bP|+^{pp{M~5Q6*(1Z)r^_AoW(5CE*}zjWS>2=+E%dzM^JM3))X z2z)B_5?5a~@>`Cw+~yQLK09S}x3Jo*rUn(G1JCKKsID0tZ2!$r8)0|^ZtG`uUe3+V z#ro1C^K)EeE1hGp^xO^h56X4zwn%+DJBG&C>Wr)n=imy#s;VlRsf%mBpT23QnDC409P0l8Dg|g8ZVmIo{_P zI+>O~h?=t0Np`h>so6Pf3^6(A$(zh^~3Y@{Yw_i;Oih0ES<0FQg%rCq96OEhHLyfNaB!izq80IOSER*I=VKUI?6Tm2+o4)p zUCIBTC$^=J3K6ZcWgELY7H7K?Sc59n(_`Gfkj)OVNAVG)Rye(RSfz3&ym;tNH5Ft1 z=i}Lfcnd>={fiN+<{y5g;b}~xvwL9elr6D_E&4EzfNG1a zavR)OqEh%A9{NVmn!}ktxj#aHF4ktfu;(P@>`PURs?^>lyb}mWTXC|4fe zp)P{o+{!{Ql(pz3Ytyi&$wNmTgKt+B}-K|=10xSJF=OntN~P0+*k zqNQGY?kNU|rpm7+ROQ+7q;2y$?yupjVNFA7iV`isccAw6YfF}79F;r(+cZ#)sm^1v z=%LsveWKUB2fiQ))UXtWCe5L ziRUd6X6_{UEjFQu3x6+P#1{5e53WPH${+=fYONVPLRDm#