]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Add utility knife/box cutter (#39567)
authorSchuyler Duryee <skywd7766@gmail.com>
Thu, 2 Oct 2025 08:51:20 +0000 (01:51 -0700)
committerGitHub <noreply@github.com>
Thu, 2 Oct 2025 08:51:20 +0000 (08:51 +0000)
* add sprites for box cutter

* move box cutter to melee, add yaml

* remove unneeded soundHit yaml

* add opening sound effect to box cutter

* modify sprites to look more like actual box cutters

* add BoxCutter tag and add to belts

* rename box cutter to utility knife

* remove accidental backtick

* move utility knife to correct place in tags

* remove SECOND accidental backtick??

* Fix utility knife arbitrage by reducing steel to 50

* Reduce damage to 4

* Reduce knife bounty reward to $2000

* modify utility knife icon to be larger

* Make utility knife extendable/retractable

* move slicing out of ComponentToggler

* change utility knife extend/retract sound

* Use TiniestShark's larger inhand images for utility knife

* utilty knife is now only Slicing when activated

17 files changed:
Resources/Audio/Weapons/attributions.yml
Resources/Audio/Weapons/utilityknifeclose.ogg [new file with mode: 0644]
Resources/Audio/Weapons/utilityknifeopen.ogg [new file with mode: 0644]
Resources/Prototypes/Catalog/Bounties/bounties.yml
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
Resources/Prototypes/Recipes/Lathes/Packs/cargo.yml
Resources/Prototypes/Recipes/Lathes/cargo.yml
Resources/Prototypes/tags.yml
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/icon.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left-blade.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right-blade.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_blade.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_handle.png [new file with mode: 0644]

index 310b01b7280a9f41b3965a906b3b8382fcf6d152..989e2472f68936e950e9a25f937387b65609350b 100644 (file)
   license: "CC0-1.0"
   copyright: "Taken from ScreamStudio on freesound.org"
   source: "https://freesound.org/people/ScreamStudio/sounds/392617/"
-  
+
 - files: ["pop.ogg"]
   license: "CC0-1.0"
   copyright: "Taken from 0ne_one111yt on freesound.org"
   source: "https://freesound.org/people/0ne_one111yt/sounds/478213/"
+
+- files: ["utilityknifeopen.ogg, utilityknifeclose.ogg"]
+  license: "CC0-1.0"
+  copyright: "Taken from FilmOrbit on freesound.org"
+  source: "https://freesound.org/s/554299/"
diff --git a/Resources/Audio/Weapons/utilityknifeclose.ogg b/Resources/Audio/Weapons/utilityknifeclose.ogg
new file mode 100644 (file)
index 0000000..8c620d2
Binary files /dev/null and b/Resources/Audio/Weapons/utilityknifeclose.ogg differ
diff --git a/Resources/Audio/Weapons/utilityknifeopen.ogg b/Resources/Audio/Weapons/utilityknifeopen.ogg
new file mode 100644 (file)
index 0000000..5053c80
Binary files /dev/null and b/Resources/Audio/Weapons/utilityknifeopen.ogg differ
index 28adfb16acb8afdbee81b80a4ec4788fd05738f0..60fa5147b8700de9e13c417f604df0e849273141 100644 (file)
 
 - type: cargoBounty
   id: BountyKnife
-  reward: 6000
+  reward: 2000
   description: bounty-description-knife
   entries:
   - name: bounty-item-knife
     amount: 5
     whitelist:
       components:
-        - Sharp
+      - Sharp
+      tags:
+      - UtilityKnife # required because retracted utility knives are not Sharp
 
 - type: cargoBounty
   id: BountyLemon
index 06c38cc694546fdeaa8d775cdddbc0cc0a5751a5..5273fa1453a974d70cb41f2de614ab17f6645b6d 100644 (file)
@@ -35,6 +35,7 @@
         - GPS
         - WeldingMask
         - RemoteSignaller
+        - UtilityKnife
       components:
         - StationMap
         - SprayPainter
         - HolofanProjector
         - Multitool
         - AppraisalTool
+        - UtilityKnife
       components:
         - StationMap
         - SprayPainter
index aadf15153e96107532b9c1b10ac901038cc6fefe..bd206596960e8687971ef1b523421b1521d0ec41 100644 (file)
         - ItemMask
         restitution: 0.3
         friction: 0.2
+
+- type: entity
+  name: utility knife
+  parent: BaseItem
+  id: UtilityKnife
+  description: A knife with a retractable, tiny blade. Useful as a box cutter and letter opener, among other things.
+  components:
+  - type: Appearance
+  - type: ComponentToggler
+    components:
+    - type: Execution
+      doAfterDuration: 4.0
+    - type: Sharp
+    - type: Utensil
+      types:
+      - Knife
+    - type: Tool
+      qualities:
+      - Slicing
+      useSound:
+        path: /Audio/Items/Culinary/chop.ogg
+  - type: Item
+    size: Tiny
+    sprite: Objects/Weapons/Melee/utility_knife.rsi
+  - type: ItemToggle
+    soundActivate:
+      path: /Audio/Weapons/utilityknifeopen.ogg
+    soundDeactivate:
+      path: /Audio/Weapons/utilityknifeclose.ogg
+  - type: ItemToggleMeleeWeapon
+    activatedSoundOnHit:
+      path: /Audio/Weapons/bladeslice.ogg
+    activatedDamage:
+      types:
+        Slash: 4
+  - type: MeleeWeapon
+    wideAnimationRotation: -135
+    attackRate: 1
+    damage:
+      types:
+        Blunt: 1
+  - type: PhysicalComposition
+    materialComposition:
+      Steel: 50
+  - type: Sprite
+    sprite: Objects/Weapons/Melee/utility_knife.rsi
+    layers:
+    - state: utility_knife_handle
+    - state: utility_knife_blade
+      visible: false
+      map: [ "blade" ]
+  - type: Tag
+    tags:
+    - Knife
+    - UtilityKnife
+  - type: ToggleableVisuals
+    spriteLayer: blade
+    inhandVisuals:
+      left:
+      - state: inhand-left-blade
+      right:
+      - state: inhand-right-blade
+  - type: UseDelay
+    delay: 0.2
index 6ca2ef85664099d3f2be82b661c8c53eca1a034d..8160cef767456bf81416facbf17a8218cae15461 100644 (file)
@@ -5,6 +5,7 @@
   recipes:
   - AppraisalTool
   - Pickaxe
+  - UtilityKnife
 
 - type: latheRecipePack
   id: CargoBoardsStatic
index 0679132ec0026b10585dcaee26aa0a41fcd9f29b..8c0f1e07f2ddbfaabb0533715de7d3dd83d273dc 100644 (file)
   completetime: 4
   materials:
     Steel: 500
+
+- type: latheRecipe
+  id: UtilityKnife
+  result: UtilityKnife
+  completetime: 2
+  materials:
+    Steel: 100
index 184daa337adc0ef7b03e1075b2116d6869575156..6b705abf4852bd8728ee31349404098b70006443 100644 (file)
 - type: Tag
   id: UtilityBelt
 
+- type: Tag
+  id: UtilityKnife
+
 - type: Tag
   id: Vegetable
 
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/icon.png
new file mode 100644 (file)
index 0000000..9f41d1a
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/icon.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left-blade.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left-blade.png
new file mode 100644 (file)
index 0000000..b53a19e
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left-blade.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left.png
new file mode 100644 (file)
index 0000000..5c64f92
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right-blade.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right-blade.png
new file mode 100644 (file)
index 0000000..acddabc
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right-blade.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right.png
new file mode 100644 (file)
index 0000000..4abf504
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/meta.json
new file mode 100644 (file)
index 0000000..6d96094
--- /dev/null
@@ -0,0 +1,36 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Icon sprited for SS14 by GitHub user sudobeans. Inhand sprites sprited for SS14 by Github user TiniestShark.",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "icon"
+        },
+        {
+            "name": "utility_knife_blade"
+        },
+        {
+            "name": "utility_knife_handle"
+        },
+        {
+            "name": "inhand-left",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-blade",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-blade",
+            "directions": 4
+        }
+    ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_blade.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_blade.png
new file mode 100644 (file)
index 0000000..07599b9
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_blade.png differ
diff --git a/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_handle.png b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_handle.png
new file mode 100644 (file)
index 0000000..9769850
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/utility_knife.rsi/utility_knife_handle.png differ