]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Make Projectiles Only Hit a Variety of Station Objects Unless Clicked on (#28571)
authorCojoke <83733158+Cojoke-dot@users.noreply.github.com>
Wed, 5 Jun 2024 20:47:27 +0000 (15:47 -0500)
committerGitHub <noreply@github.com>
Wed, 5 Jun 2024 20:47:27 +0000 (16:47 -0400)
23 files changed:
Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml
Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml
Resources/Prototypes/Entities/Structures/Machines/Computers/base_structurecomputers.yml
Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml
Resources/Prototypes/Entities/Structures/Machines/Medical/disease_diagnoser.yml
Resources/Prototypes/Entities/Structures/Machines/Medical/vaccinator.yml
Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml
Resources/Prototypes/Entities/Structures/Machines/base_structuremachines.yml
Resources/Prototypes/Entities/Structures/Machines/fax_machine.yml
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Entities/Structures/Machines/microwave.yml
Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml
Resources/Prototypes/Entities/Structures/Machines/wireless_surveillance_camera.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml
Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml
Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/emitter.yml
Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml
Resources/Prototypes/Entities/Structures/Power/Generation/solar.yml
Resources/Prototypes/Entities/Structures/Power/chargers.yml
Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml
Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml
Resources/Prototypes/Entities/Structures/hydro_tray.yml

index 122ff42eb20f64b7648f21c404f4e021497ea722..614af2a4886aced56d446dd814d7d12bf5107f7d 100644 (file)
@@ -1,4 +1,4 @@
-- type: entity
+- type: entity
   abstract: true
   parent: BaseItem
   id: BaseHandheldInstrument
@@ -71,6 +71,7 @@
         - BulletImpassable
   - type: StaticPrice
     price: 300
+  - type: RequireProjectileTarget
 
 - type: entity
   parent: BasePlaceableInstrument
index 082f5e07992378f1d60e6319576632c416b67446..213ad47d88fc49d87fd9fccd0927a3878c2bf19b 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   abstract: true
   id: ReagentDispenserBase
-  parent: ConstructibleMachine
+  parent: SmallConstructibleMachine
   placement:
     mode: SnapgridCenter
   components:
index a5e26463b9919e0d7a434a6ab4fb844b15968b06..204e06c8600a3dc7bdfa30352e0924c1428661d8 100644 (file)
@@ -60,3 +60,4 @@
         ents: []
   - type: LightningTarget
     priority: 1
+  - type: RequireProjectileTarget
index 23789730d0c491cb767f638bcf161840b3e52aa6..65eaf04d78fd9ad41a09bf7eab210f708c67230a 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: BaseTabletopChemicalMachine
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   abstract: true
   components:
   - type: Transform
index e46c62053a9e1c97f163ce3b387ca5bfeb49a86f..ad98f47e36a3fca735dde8f3d3c8029c1556b734 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: DiseaseDiagnoser
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   name: Disease Diagnoser Delta Extreme
   description: A machine that analyzes disease samples.
   placement:
@@ -43,5 +43,3 @@
     contentMargin: 12.0, 0.0, 12.0, 0.0
     # This is a narrow piece of paper
     maxWritableArea: 128.0, 0.0
-
-
index 041bca7c9053e483ca012556e6259f7c9d508240..53542cdfa91495767eba43c26edba9909cfd7654 100644 (file)
@@ -24,3 +24,4 @@
     containers:
       machine_board: !type:Container
       machine_parts: !type:Container
+  - type: RequireProjectileTarget
index 8b0c5787631688373228be22249658f24a28852f..9c878c7e7c55f5845fd237b35b830a83911c916c 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: MachineArtifactAnalyzer
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   name: artifact analyzer
   description: A platform capable of performing analysis on various types of artifacts.
   components:
@@ -35,6 +35,7 @@
         - Impassable
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
         hard: False
   - type: Transform
     anchored: true
index 621d9a1a7ecbaf420aa6b6c1e15902819001095b..fb5ed4440a9267848d798c97619ba066f11b62b9 100644 (file)
     - machine_board
   - type: LightningTarget
     priority: 1
+
+- type: entity
+  abstract: true
+  parent: ConstructibleMachine
+  id: SmallConstructibleMachine
+  components:
+    - type: RequireProjectileTarget
index 36be6451d2094747b3ef133420dbb7a88eb74267..849c9fa4f2d230374cb4faa738618092aa9d1e58 100644 (file)
@@ -66,6 +66,7 @@
     deviceNetId: Wireless
     receiveFrequencyId: Fax
     transmitFrequencyId: Fax
+  - type: RequireProjectileTarget
 
 # Special
 - type: entity
index 575144a2c2268fa94932fceff99bc5dedeab62ce..537c42346eae3b2a9989274616ed4cc28ef2c341 100644 (file)
         - Sheet
         - RawMaterial
         - Ingot
+  - type: RequireProjectileTarget
 
 - type: entity
   id: CircuitImprinterHyperConvection
index fe4eb1451832604dd7164bb7fbcba0045bde0a7e..994269f71b4d84bac200dce6b7b8c7a9957d8926 100644 (file)
@@ -1,6 +1,6 @@
-- type: entity
+- type: entity
   id: KitchenMicrowave
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   name: microwave
   description: It's magic.
   components:
index d6e733331330294583a749f3cae0a99b37ddd4ee..28aa464d210c723fd881da66e1a10cdaae731bcd 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: KitchenReagentGrinder
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   name: reagent grinder
   description: From BlenderTech. Will It Blend? Let's find out!
   suffix: grinder/juicer
index fc8f31535cdb891472740485bd6efc19b5db798b..95079b5c8582691d64ebda123ed98bfc9a2b62d9 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   abstract: true
-  parent: [ BaseStructureDynamic, ConstructibleMachine ]
+  parent: [ BaseStructureDynamic, SmallConstructibleMachine ]
   id: SurveillanceWirelessCameraBase
   name: wireless camera
   description: A camera. It's watching you. Kinda.
@@ -23,6 +23,8 @@
           density: 80
           mask:
             - MachineMask
+          layer:
+            - BulletImpassable
     - type: SurveillanceCameraMicrophone
       blacklist:
         components:
index 200df727b3b5467364930fdde3ee8e6eb90f2825..87e71400f7322b1ae877aacf9ae2448980052166 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: PortableScrubber
-  parent: [BaseMachinePowered, ConstructibleMachine, StructureWheeled]
+  parent: [BaseMachinePowered, SmallConstructibleMachine, StructureWheeled]
   name: portable scrubber
   description: It scrubs, portably!
   components:
index d301f43c78872e3373678553af24974bb4a40b2a..2b00fec246f6c5e265915ad7ed40b0973e729e65 100644 (file)
     board: HellfireHeaterMachineCircuitBoard
 
 - type: entity
-  parent: [ BaseMachinePowered, ConstructibleMachine ]
+  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
   id: BaseGasCondenser
   name: condenser
   description: Condenses gases into liquids. Now we just need some plumbing.
index 2198c854a01ca3eeab3edca32206e2e579b1faa6..e7d3d3c99771436e909834682d006c6fdc20dbcd 100644 (file)
@@ -84,6 +84,7 @@
       enum.DisposalUnitUiKey.Key:
         type: DisposalUnitBoundUserInterface
   - type: RatKingRummageable
+  - type: RequireProjectileTarget
 
 - type: entity
   id: MailingUnit
index b999b2bdede8779369af8ef471dba72af63a567d..6946dcbf83583ac6026200353c69adaaa11420bf 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: Emitter
   name: emitter
-  parent: ConstructibleMachine
+  parent: SmallConstructibleMachine
   description: A heavy duty industrial laser. Shoots non-stop when turned on.
   placement:
     mode: SnapgridCenter
index d735d9607c372d33b866e06c74c4a3fdb7202198..86cfb0f79914cec206bcd02f40cc92968728af04 100644 (file)
@@ -1,4 +1,4 @@
-#
+#
 # You can use this Desmos sheet to calculate fuel burn rate values:
 # https://www.desmos.com/calculator/qcektq5dqs
 #
@@ -6,7 +6,7 @@
 - type: entity
   abstract: true
   id: PortableGeneratorBase
-  parent: [ BaseMachine, ConstructibleMachine, StructureWheeled]
+  parent: [ BaseMachine, SmallConstructibleMachine, StructureWheeled]
   components:
     # Basic properties
     - type: Transform
index 5a28c4962c1b8db72f1fa418dad9e2a0331327ee..c512266e974999348057ad651593f644f5a0a09e 100644 (file)
@@ -49,6 +49,7 @@
     onBump: false
     requirePower: true
     highVoltageNode: output
+  - type: RequireProjectileTarget 
 
 - type: entity
   id: SolarPanel
     graph: SolarPanel
     node: solarassembly
     defaultTarget: solarpanel
+  - type: RequireProjectileTarget 
 
 - type: entity
   id: SolarTracker
   - type: Construction
     graph: SolarPanel
     node: solartracker
+  - type: RequireProjectileTarget 
index 582a5b0dee4f55a7ccad446ac9a5b4aaa99cd2a2..f5f0748b819dd08794304c2e7f7f9d92e1230785 100644 (file)
         density: 500
         mask:
         - TabletopMachineMask
+        layer:
+        - BulletImpassable
   - type: PowerChargerVisuals
   - type: ContainerContainer
     containers:
       charger_slot: !type:ContainerSlot
       machine_board: !type:Container
       machine_parts: !type:Container
+  - type: RequireProjectileTarget
 
 - type: entity
   parent: BaseItemRecharger
index 08db462be017ed6218c2df7292f31b7d7b76f8b1..cfda95fc2f9ee02045c5f548501c6a6e62cfeec2 100644 (file)
     node: chestDrawer
   - type: StaticPrice
     price: 15
+  - type: RequireProjectileTarget
 
 - type: entity
   abstract: true
index 55b7e40803b5c2283d0da856e0e181e5abbd805d..41dbe21d5f184866f6c429ff28f8d7f4f1b494fa 100644 (file)
@@ -72,7 +72,7 @@
         acts: [ "Destruction" ]
   - type: Climbable
     delay: 2.5
-
+  - type: RequireProjectileTarget
 
 #High
 - type: entity
         mask:
         - FullTileMask
         layer:
+        - Opaque
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: straight
         mask:
         - FullTileMask
         layer:
+        - Opaque
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: end
         mask:
         - TableMask
         layer:
+        - Opaque
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: corner
         mask:
         - TableMask
         layer:
+        - Opaque
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: tjunction
         mask:
         - FullTileMask
         layer:
+        - Opaque
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: InteractionOutline
   - type: Door
     openSpriteState: door_opened
         layer:
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: straight_small
         layer:
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: end_small
         layer:
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: corner_small
         layer:
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: Construction
     graph: FenceWood
     node: tjunction_small
         layer:
         - MidImpassable
         - LowImpassable
+        - BulletImpassable
   - type: InteractionOutline
   - type: Door
     openSpriteState: door_opened_small
       path: /Audio/Effects/door_close.ogg
   - type: Construction
     graph: FenceWood
-    node: gate_small
\ No newline at end of file
+    node: gate_small
index 8ea7172d8b419e944f08627bdb7293583bbe191e..68a0cbd38e45188dbc9767d6a2f241f03b691fb3 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   name: hydroponics tray
-  parent: [ hydroponicsSoil, ConstructibleMachine]
+  parent: [ hydroponicsSoil, SmallConstructibleMachine]
   id: hydroponicsTray
   description: An interstellar-grade space farmplot allowing for rapid growth and selective breeding of crops. Just... keep in mind the space weeds.
   components:
@@ -14,6 +14,8 @@
         hard: true
         mask:
         - MachineMask
+        layer:
+        - BulletImpassable
   - type: Anchorable
   - type: Pullable
   - type: Sprite