From d0738395cbf61ad43572f292c1751507fc0b82e4 Mon Sep 17 00:00:00 2001
From: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Date: Thu, 5 Oct 2023 05:29:31 -0400
Subject: [PATCH] Simple knife repath, removes a layer of unecessary nesting
(#9949)
* https://github.com/tgstation/tgstation/pull/62035
* seconds
* requested
---
.../10x10/sk_rdm060_snakefighter.dmm | 2 +-
.../RandomRooms/10x10/sk_rdm142_olddiner.dmm | 2 +-
.../10x10/sk_rdm167_library_ritual.dmm | 2 +-
.../10x5/sk_rdm045_deltacafeteria.dmm | 2 +-
.../RandomRooms/10x5/sk_rdm151_ratburger.dmm | 2 +-
.../10x5/sk_rdm154_butchersden.dmm | 2 +-
.../3x3/sk_rdm059_pubbyclutter3.dmm | 2 +-
.../3x3/sk_rdm163_corgi_butcher.dmm | 2 +-
.../RandomRooms/3x5/sk_rdm013_boxkitchen.dmm | 2 +-
.../RandomRooms/5x4/sk_rdm049_metakitchen.dmm | 2 +-
.../LavaRuins/lavaland_surface_envy.dmm | 2 +-
.../LavaRuins/lavaland_surface_golem_ship.dmm | 2 +-
.../LavaRuins/lavaland_surface_hermit.dmm | 2 +-
.../LavaRuins/lavaland_surface_pizzaparty.dmm | 2 +-
.../lavaland_surface_survivalpod.dmm | 2 +-
.../lavaland_surface_syndicate_base1.dmm | 2 +-
_maps/RandomRuins/SpaceRuins/Fast_Food.dmm | 2 +-
_maps/RandomRuins/SpaceRuins/crashedship.dmm | 10 +-
_maps/RandomRuins/SpaceRuins/deepstorage.dmm | 6 +-
.../RandomRuins/SpaceRuins/gasthelizards.dmm | 2 +-
_maps/RandomRuins/SpaceRuins/spacehotel.dmm | 6 +-
_maps/RandomZLevels/SnowCabin.dmm | 2 +-
_maps/RandomZLevels/moonoutpost19.dmm | 2 +-
_maps/RandomZLevels/snowdin.dmm | 6 +-
_maps/RandomZLevels/spacebattle.dmm | 2 +-
_maps/RuinGeneration/13x13_shotelroom.dmm | 2 +-
_maps/map_files/CorgStation/CorgStation.dmm | 2 +-
.../map_files/Deltastation/DeltaStation2.dmm | 4 +-
_maps/map_files/FlandStation/FlandStation.dmm | 4 +-
_maps/map_files/Mining/Lavaland.dmm | 2 +-
_maps/map_files/RadStation/RadStation.dmm | 4 +-
_maps/map_files/generic/CentCom.dmm | 4 +-
.../emergency_imfedupwiththisworld.dmm | 2 +-
.../emergency/emergency_russiafightpit.dmm | 2 +-
_maps/shuttles/hunter/hunter_russian.dmm | 2 +-
_maps/shuttles/whiteship/whiteship_meta.dmm | 2 +-
_maps/templates/shelter_2.dmm | 4 +-
_maps/templates/warped_room.dmm | 2 +-
beestation.dme | 1 +
code/__DEFINES/inventory.dm | 2 +-
code/datums/components/crafting/recipes.dm | 8 +-
code/game/gamemodes/clown_ops/clown_ops.dm | 2 +-
code/game/gamemodes/nuclear/nuclear.dm | 4 +-
code/game/objects/items/kitchen.dm | 170 +----------------
code/game/objects/items/knives.dm | 179 ++++++++++++++++++
code/game/objects/items/miscellaneous.dm | 2 +-
.../objects/items/robot/robot_upgrades.dm | 2 +-
code/game/objects/items/storage/belt.dm | 4 +-
code/modules/admin/battle_royale.dm | 6 +-
.../blood_contract/blood_contract.dm | 2 +-
.../antagonists/fugitive/fugitive_outfits.dm | 2 +-
.../antagonists/heretic/knowledge/ash_lore.dm | 2 +-
.../heretic/knowledge/flesh_lore.dm | 2 +-
.../heretic/knowledge/rust_lore.dm | 2 +-
.../heretic/knowledge/side_flesh_void.dm | 2 +-
.../heretic/knowledge/void_lore.dm | 2 +-
code/modules/cargo/bounties/mining.dm | 2 +-
code/modules/cargo/exports/lavaland.dm | 2 +-
code/modules/cargo/exports/weapons.dm | 2 +-
code/modules/cargo/packs.dm | 8 +-
code/modules/clothing/outfits/ert.dm | 2 +-
code/modules/clothing/outfits/standard.dm | 4 +-
code/modules/clothing/outfits/vr.dm | 2 +-
.../clothing/spacesuits/miscellaneous.dm | 6 +-
code/modules/clothing/suits/cloaks.dm | 2 +-
.../exploration_crew/exploration_vendor.dm | 2 +-
code/modules/hydroponics/grown/root.dm | 2 +-
code/modules/jobs/job_mail.dm | 4 +-
.../jobs/job_types/exploration_team.dm | 8 +-
code/modules/jobs/job_types/shaft_miner.dm | 4 +-
code/modules/library/lib_items.dm | 2 +-
code/modules/mining/abandoned_crates.dm | 2 +-
code/modules/mining/machine_vending.dm | 2 +-
.../mob/living/simple_animal/bot/cleanbot.dm | 6 +-
.../hostile/mining_mobs/hivelord.dm | 4 +-
.../living/simple_animal/hostile/russian.dm | 2 +-
code/modules/projectiles/gun.dm | 6 +-
.../research/designs/autolathe_designs.dm | 4 +-
.../xenobiology/crossbreeding/_weapons.dm | 4 +-
.../xenobiology/crossbreeding/burning.dm | 2 +-
.../ruins/objects_and_mobs/sin_ruins.dm | 4 +-
.../bioware/experimental_dissection.dm | 2 +-
code/modules/surgery/advanced/lobotomy.dm | 2 +-
code/modules/surgery/amputation.dm | 2 +-
code/modules/surgery/coronary_bypass.dm | 2 +-
code/modules/surgery/gastrectomy.dm | 2 +-
code/modules/surgery/hepatectomy.dm | 2 +-
code/modules/surgery/lipoplasty.dm | 2 +-
code/modules/surgery/lobectomy.dm | 2 +-
code/modules/surgery/mechanic_steps.dm | 16 +-
code/modules/surgery/organic_steps.dm | 6 +-
code/modules/surgery/plastic_surgery.dm | 2 +-
code/modules/uplink/uplink_items.dm | 2 +-
code/modules/vending/drinnerware.dm | 4 +-
code/modules/vending/sustenance.dm | 2 +-
tools/UpdatePaths/Scripts/9994_knives.txt | 2 +
96 files changed, 327 insertions(+), 311 deletions(-)
create mode 100644 code/game/objects/items/knives.dm
create mode 100644 tools/UpdatePaths/Scripts/9994_knives.txt
diff --git a/_maps/RandomRooms/10x10/sk_rdm060_snakefighter.dmm b/_maps/RandomRooms/10x10/sk_rdm060_snakefighter.dmm
index d0049128aaa3d..f3ef635247c61 100644
--- a/_maps/RandomRooms/10x10/sk_rdm060_snakefighter.dmm
+++ b/_maps/RandomRooms/10x10/sk_rdm060_snakefighter.dmm
@@ -46,7 +46,7 @@
/obj/structure/sign/departments/science{
pixel_y = 32
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plating,
/area/template_noop)
"i" = (
diff --git a/_maps/RandomRooms/10x10/sk_rdm142_olddiner.dmm b/_maps/RandomRooms/10x10/sk_rdm142_olddiner.dmm
index dfa856e074a89..a16523fa64813 100644
--- a/_maps/RandomRooms/10x10/sk_rdm142_olddiner.dmm
+++ b/_maps/RandomRooms/10x10/sk_rdm142_olddiner.dmm
@@ -194,7 +194,7 @@
/area/template_noop)
"Hd" = (
/obj/structure/table/wood,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/monotile/steel,
/area/template_noop)
"Il" = (
diff --git a/_maps/RandomRooms/10x10/sk_rdm167_library_ritual.dmm b/_maps/RandomRooms/10x10/sk_rdm167_library_ritual.dmm
index ad5224bae5b85..a16665d31c0e1 100644
--- a/_maps/RandomRooms/10x10/sk_rdm167_library_ritual.dmm
+++ b/_maps/RandomRooms/10x10/sk_rdm167_library_ritual.dmm
@@ -50,7 +50,7 @@
"gy" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/remains/human,
-/obj/item/kitchen/knife{
+/obj/item/knife/kitchen{
pixel_x = 18;
pixel_y = 8
},
diff --git a/_maps/RandomRooms/10x5/sk_rdm045_deltacafeteria.dmm b/_maps/RandomRooms/10x5/sk_rdm045_deltacafeteria.dmm
index 1a740205b9d1d..4a759228d88cd 100644
--- a/_maps/RandomRooms/10x5/sk_rdm045_deltacafeteria.dmm
+++ b/_maps/RandomRooms/10x5/sk_rdm045_deltacafeteria.dmm
@@ -62,7 +62,7 @@
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/box/donkpockets,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/obj/item/stack/package_wrap,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
diff --git a/_maps/RandomRooms/10x5/sk_rdm151_ratburger.dmm b/_maps/RandomRooms/10x5/sk_rdm151_ratburger.dmm
index 34d57ada9c21d..05b98935d255b 100644
--- a/_maps/RandomRooms/10x5/sk_rdm151_ratburger.dmm
+++ b/_maps/RandomRooms/10x5/sk_rdm151_ratburger.dmm
@@ -78,7 +78,7 @@
/obj/structure/rack,
/obj/item/stack/cable_coil/blue,
/obj/item/stack/cable_coil/blue,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/obj/item/clothing/suit/hooded/wintercoat/security,
/turf/open/floor/plating{
icon_state = "platingdmg1"
diff --git a/_maps/RandomRooms/10x5/sk_rdm154_butchersden.dmm b/_maps/RandomRooms/10x5/sk_rdm154_butchersden.dmm
index 02caa1f97fdfa..d24c3e4bd92ad 100644
--- a/_maps/RandomRooms/10x5/sk_rdm154_butchersden.dmm
+++ b/_maps/RandomRooms/10x5/sk_rdm154_butchersden.dmm
@@ -106,7 +106,7 @@
/obj/effect/mapping_helpers/dead_body_placer/maint_fridge,
/obj/structure/closet/secure_closet/freezer/meat,
/obj/effect/decal/cleanable/blood/old,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/turf/open/floor/plating,
/area/template_noop)
"O" = (
diff --git a/_maps/RandomRooms/3x3/sk_rdm059_pubbyclutter3.dmm b/_maps/RandomRooms/3x3/sk_rdm059_pubbyclutter3.dmm
index 61b7af3422444..be2ebff5418c1 100644
--- a/_maps/RandomRooms/3x3/sk_rdm059_pubbyclutter3.dmm
+++ b/_maps/RandomRooms/3x3/sk_rdm059_pubbyclutter3.dmm
@@ -15,7 +15,7 @@
"c" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/template_noop)
diff --git a/_maps/RandomRooms/3x3/sk_rdm163_corgi_butcher.dmm b/_maps/RandomRooms/3x3/sk_rdm163_corgi_butcher.dmm
index 7699d1705320b..c5f0d2820c8ad 100644
--- a/_maps/RandomRooms/3x3/sk_rdm163_corgi_butcher.dmm
+++ b/_maps/RandomRooms/3x3/sk_rdm163_corgi_butcher.dmm
@@ -71,7 +71,7 @@
/obj/structure/sign/poster/contraband/random{
pixel_x = 32
},
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/obj/effect/decal/cleanable/blood/old,
/obj/item/toy/plush/snakeplushie,
/obj/effect/turf_decal/bot,
diff --git a/_maps/RandomRooms/3x5/sk_rdm013_boxkitchen.dmm b/_maps/RandomRooms/3x5/sk_rdm013_boxkitchen.dmm
index d78064405436a..00f4df14b8216 100644
--- a/_maps/RandomRooms/3x5/sk_rdm013_boxkitchen.dmm
+++ b/_maps/RandomRooms/3x5/sk_rdm013_boxkitchen.dmm
@@ -37,7 +37,7 @@
/area/template_noop)
"h" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/item/storage/box/donkpockets,
/turf/open/floor/plating,
/area/template_noop)
diff --git a/_maps/RandomRooms/5x4/sk_rdm049_metakitchen.dmm b/_maps/RandomRooms/5x4/sk_rdm049_metakitchen.dmm
index 60d04ef91bde1..849569ebf9189 100644
--- a/_maps/RandomRooms/5x4/sk_rdm049_metakitchen.dmm
+++ b/_maps/RandomRooms/5x4/sk_rdm049_metakitchen.dmm
@@ -27,7 +27,7 @@
/area/template_noop)
"e" = (
/obj/structure/closet/crate/bin,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plating,
/area/template_noop)
"f" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
index df9620cb67f56..a12c98b2a3ed9 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
@@ -61,7 +61,7 @@
pixel_y = 28;
broken = 1
},
-/obj/item/kitchen/knife/envy,
+/obj/item/knife/envy,
/turf/open/floor/plating,
/area/ruin/unpowered)
"l" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
index a6d99cc4bb8fc..babc68c68cc13 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
@@ -46,7 +46,7 @@
dir = 1
},
/obj/item/stack/sheet/cotton/cloth/five,
-/obj/item/kitchen/knife/combat/survival,
+/obj/item/knife/combat/survival,
/obj/effect/decal/cleanable/oil,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/pod/dark,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index bbc1f790c8a15..f63d863bc5713 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -116,7 +116,7 @@
/area/ruin/powered)
"A" = (
/obj/structure/table,
-/obj/item/kitchen/knife/combat/survival,
+/obj/item/knife/combat/survival,
/turf/open/floor/plating,
/area/ruin/powered)
"B" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
index 8c57e67dc7ffd..f38dc61b5262e 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
@@ -268,7 +268,7 @@
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"O" = (
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood{
initial_gas_mix = "o2=14;n2=5;co2=13;TEMP=300"
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
index 01cbeb09fd64c..ba34caf3c2b6f 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
@@ -76,7 +76,7 @@
/area/lavaland/surface/outdoors)
"p" = (
/obj/structure/table/survival_pod,
-/obj/item/kitchen/knife/combat/survival,
+/obj/item/knife/combat/survival,
/turf/open/floor/pod/dark,
/area/ruin/powered)
"q" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index 9e7945c187687..24aaa506e382d 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -3125,7 +3125,7 @@
/obj/structure/table/wood,
/obj/machinery/reagentgrinder,
/obj/item/kitchen/rollingpin,
-/obj/item/kitchen/knife{
+/obj/item/knife/kitchen{
pixel_x = 6
},
/turf/open/floor/wood,
diff --git a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm
index 6a7445bfbd34d..82374d1978269 100644
--- a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm
+++ b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm
@@ -172,7 +172,7 @@
/area/ruin/space/has_grav/powered/macspace)
"aK" = (
/obj/machinery/light,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/has_grav/powered/macspace)
"aL" = (
diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
index 08e839295f1f5..d7d7c41464b4a 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
@@ -752,7 +752,7 @@
dir = 4;
id = "meatConvey2"
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plating,
/area/awaymission/BMPship/Midship)
"tB" = (
@@ -922,7 +922,7 @@
/area/awaymission/BMPship)
"yx" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/turf_decal/tile/bar/opposingcorners,
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Midship)
@@ -1376,7 +1376,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plating,
/area/awaymission/BMPship/Aft)
"HJ" = (
@@ -1418,7 +1418,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/turf_decal/tile/bar/opposingcorners,
/turf/open/floor/plasteel,
/area/awaymission/BMPship/Midship)
@@ -2009,7 +2009,7 @@
/area/awaymission/BMPship/Midship)
"Vr" = (
/obj/structure/table,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/obj/item/reagent_containers/food/drinks/beer,
/obj/item/reagent_containers/food/snacks/meat,
/obj/effect/turf_decal/tile/blue/opposingcorners{
diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
index 18c27fd679acd..07c62171067a6 100644
--- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
+++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
@@ -340,8 +340,8 @@
/area/ruin/space/has_grav/deepstorage/storage)
"aU" = (
/obj/structure/closet/cardboard,
-/obj/item/kitchen/knife,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
+/obj/item/knife/kitchen,
/obj/item/cultivator,
/obj/item/hatchet,
/obj/item/kitchen/rollingpin,
@@ -413,7 +413,7 @@
pixel_x = 4;
pixel_y = 4
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
diff --git a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
index f8bf5afe521c4..52b36eb659cd2 100644
--- a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
+++ b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
@@ -181,7 +181,7 @@
/area/ruin/space/has_grav/gasthelizard)
"y" = (
/obj/structure/table/reinforced,
-/obj/item/kitchen/knife/butcher,
+/obj/item/knife/butcher,
/obj/item/restraints/handcuffs,
/obj/item/reagent_containers/peppercloud_deployer,
/turf/open/floor/plasteel/airless/dark,
diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
index 1444171d3bd38..b46370bfc5c51 100644
--- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
@@ -1881,7 +1881,7 @@
/area/ruin/space/has_grav/hotel/dock)
"fY" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/machinery/light{
dir = 8
},
@@ -2064,7 +2064,7 @@
/area/ruin/space/has_grav/hotel/bar)
"gD" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/has_grav/hotel/bar)
"gE" = (
@@ -2344,7 +2344,7 @@
/area/ruin/space/has_grav/hotel/bar)
"hw" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plasteel/freezer,
/area/ruin/space/has_grav/hotel/bar)
"hx" = (
diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm
index ef2c8357ab554..75443fcaf550f 100644
--- a/_maps/RandomZLevels/SnowCabin.dmm
+++ b/_maps/RandomZLevels/SnowCabin.dmm
@@ -3951,7 +3951,7 @@
/area/awaymission/cabin/caves)
"lr" = (
/obj/effect/decal/cleanable/blood/old,
-/obj/item/kitchen/knife/carrotshiv,
+/obj/item/knife/carrotshiv,
/obj/effect/decal/cleanable/glitter/blue{
desc = "It looks like fancy glitter to me.";
name = "icy wind"
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index 113a9d318f29a..5d6fd25b0bf10 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -4361,7 +4361,7 @@
"kp" = (
/obj/structure/table,
/obj/item/kitchen/rollingpin,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plasteel/cafeteria{
dir = 5
},
diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm
index a81858e52fb67..c49ebc3194758 100644
--- a/_maps/RandomZLevels/snowdin.dmm
+++ b/_maps/RandomZLevels/snowdin.dmm
@@ -1278,7 +1278,7 @@
/area/awaymission/snowdin/post/kitchen)
"dU" = (
/obj/structure/table,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/awaymission/snowdin/post/kitchen)
@@ -1496,7 +1496,7 @@
/turf/open/floor/plating,
/area/awaymission/snowdin/post/kitchen)
"eC" = (
-/obj/item/kitchen/knife{
+/obj/item/knife/kitchen{
pixel_x = 6;
pixel_y = 6
},
@@ -12766,7 +12766,7 @@
},
/area/awaymission/snowdin/post/mining_dock)
"RM" = (
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/turf_decal/tile/green/half/contrasted{
dir = 4
},
diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm
index d587d63973674..ad05ab90e3777 100644
--- a/_maps/RandomZLevels/spacebattle.dmm
+++ b/_maps/RandomZLevels/spacebattle.dmm
@@ -551,7 +551,7 @@
/area/awaymission/spacebattle/cruiser)
"cE" = (
/obj/structure/table/reinforced,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/plasteel/cafeteria{
dir = 2
},
diff --git a/_maps/RuinGeneration/13x13_shotelroom.dmm b/_maps/RuinGeneration/13x13_shotelroom.dmm
index aad5f931dbd71..ae44e142ffb7f 100644
--- a/_maps/RuinGeneration/13x13_shotelroom.dmm
+++ b/_maps/RuinGeneration/13x13_shotelroom.dmm
@@ -14,7 +14,7 @@
"c" = (
/obj/structure/table/wood/fancy/purple,
/obj/item/food/cake/chocolate,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/carpet/orange,
/area/ruin/unpowered)
"d" = (
diff --git a/_maps/map_files/CorgStation/CorgStation.dmm b/_maps/map_files/CorgStation/CorgStation.dmm
index afad5d9e344a3..8a54a11c5ce42 100644
--- a/_maps/map_files/CorgStation/CorgStation.dmm
+++ b/_maps/map_files/CorgStation/CorgStation.dmm
@@ -3483,7 +3483,7 @@
/area/bridge)
"aPw" = (
/obj/structure/table/reinforced,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/item/reagent_containers/food/snacks/chocolatebar,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 646e542f4f02c..3955d0f510dbf 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -11661,7 +11661,7 @@
/obj/item/reagent_containers/food/condiment/peppermill{
pixel_x = -8
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/crew_quarters/kitchen)
@@ -37241,7 +37241,7 @@
/obj/structure/table,
/obj/item/hemostat,
/obj/item/hatchet,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/machinery/light/small{
dir = 4
},
diff --git a/_maps/map_files/FlandStation/FlandStation.dmm b/_maps/map_files/FlandStation/FlandStation.dmm
index 092dad1370f59..1e7f47b76c0ea 100644
--- a/_maps/map_files/FlandStation/FlandStation.dmm
+++ b/_maps/map_files/FlandStation/FlandStation.dmm
@@ -63837,7 +63837,7 @@
/obj/item/wrench,
/obj/item/kitchen/rollingpin,
/obj/item/reagent_containers/food/condiment/enzyme,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/structure/extinguisher_cabinet{
pixel_y = -30
},
@@ -94153,7 +94153,7 @@
/obj/structure/table,
/obj/item/hemostat,
/obj/item/hatchet,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/machinery/light/small{
dir = 4
},
diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm
index fb7570b30642b..a40ce71341621 100644
--- a/_maps/map_files/Mining/Lavaland.dmm
+++ b/_maps/map_files/Mining/Lavaland.dmm
@@ -919,7 +919,7 @@
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance,
/obj/item/reagent_containers/food/condiment/sugar,
/obj/item/reagent_containers/food/snacks/tofu/prison,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/item/reagent_containers/food/condiment/enzyme,
/obj/item/kitchen/rollingpin,
/obj/item/wrench,
diff --git a/_maps/map_files/RadStation/RadStation.dmm b/_maps/map_files/RadStation/RadStation.dmm
index 116d14209f4a7..8be59af94a9d6 100644
--- a/_maps/map_files/RadStation/RadStation.dmm
+++ b/_maps/map_files/RadStation/RadStation.dmm
@@ -16383,7 +16383,7 @@
/area/crew_quarters/dorms)
"eYH" = (
/obj/structure/table_frame/wood,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plasteel/cafeteria,
/area/maintenance/port/aft)
@@ -34268,7 +34268,7 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
-/obj/item/kitchen/knife/carrotshiv{
+/obj/item/knife/carrotshiv{
pixel_x = 9;
pixel_y = 9
},
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 8dcd8301aac6e..bb1d780df7c80 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -6494,7 +6494,7 @@
/obj/structure/destructible/cult/talisman{
desc = "An altar dedicated to the Wizards' Federation"
},
-/obj/item/kitchen/knife/ritual,
+/obj/item/knife/ritual,
/turf/open/floor/engine/cult,
/area/wizard_station)
"zP" = (
@@ -10910,7 +10910,7 @@
/obj/item/reagent_containers/food/condiment/peppermill{
pixel_x = -8
},
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/machinery/newscaster{
pixel_x = -32
},
diff --git a/_maps/shuttles/emergency/emergency_imfedupwiththisworld.dmm b/_maps/shuttles/emergency/emergency_imfedupwiththisworld.dmm
index 4f832d8a4d02d..5c02938d4c1ab 100644
--- a/_maps/shuttles/emergency/emergency_imfedupwiththisworld.dmm
+++ b/_maps/shuttles/emergency/emergency_imfedupwiththisworld.dmm
@@ -41,7 +41,7 @@
/area/shuttle/escape)
"i" = (
/obj/structure/table/reinforced,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/carpet,
/area/shuttle/escape)
"l" = (
diff --git a/_maps/shuttles/emergency/emergency_russiafightpit.dmm b/_maps/shuttles/emergency/emergency_russiafightpit.dmm
index 3e11b5c942dcb..89fe6da7d51a4 100644
--- a/_maps/shuttles/emergency/emergency_russiafightpit.dmm
+++ b/_maps/shuttles/emergency/emergency_russiafightpit.dmm
@@ -156,7 +156,7 @@
/turf/open/floor/engine,
/area/shuttle/escape)
"aC" = (
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/turf/open/floor/engine,
/area/shuttle/escape)
"aD" = (
diff --git a/_maps/shuttles/hunter/hunter_russian.dmm b/_maps/shuttles/hunter/hunter_russian.dmm
index a2385b9a5ec9b..cc9f963c1502a 100644
--- a/_maps/shuttles/hunter/hunter_russian.dmm
+++ b/_maps/shuttles/hunter/hunter_russian.dmm
@@ -1040,7 +1040,7 @@
pixel_y = 11
},
/obj/item/gun/ballistic/revolver/russian,
-/obj/item/kitchen/knife/hunting{
+/obj/item/knife/hunting{
pixel_y = -1
},
/obj/effect/turf_decal/siding/wood,
diff --git a/_maps/shuttles/whiteship/whiteship_meta.dmm b/_maps/shuttles/whiteship/whiteship_meta.dmm
index dd95d4e0dbe4d..13d7261d09c66 100644
--- a/_maps/shuttles/whiteship/whiteship_meta.dmm
+++ b/_maps/shuttles/whiteship/whiteship_meta.dmm
@@ -1362,7 +1362,7 @@
/obj/item/kitchen/rollingpin{
pixel_x = 8
},
-/obj/item/kitchen/knife{
+/obj/item/knife/kitchen{
pixel_x = 16
},
/obj/item/reagent_containers/food/condiment/sugar{
diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm
index 4245dd760b6c7..46387b928f7e6 100644
--- a/_maps/templates/shelter_2.dmm
+++ b/_maps/templates/shelter_2.dmm
@@ -39,7 +39,7 @@
/area/survivalpod)
"i" = (
/obj/structure/toilet/secret{
- secret_type = /obj/item/kitchen/knife/combat/survival
+ secret_type = /obj/item/knife/combat/survival
},
/turf/open/floor/pod,
/area/survivalpod)
@@ -76,7 +76,7 @@
/area/survivalpod)
"o" = (
/obj/structure/chair/fancy/comfy{
- color = "#666666"
+ color = "#666666"
},
/obj/item/cardboard_cutout{
desc = "A cardboard cutout of a xenomorph maid.";
diff --git a/_maps/templates/warped_room.dmm b/_maps/templates/warped_room.dmm
index 6efe813cf026f..4126f8d815447 100644
--- a/_maps/templates/warped_room.dmm
+++ b/_maps/templates/warped_room.dmm
@@ -101,7 +101,7 @@
"u" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/soda_cans/cola,
-/obj/item/kitchen/knife,
+/obj/item/knife/kitchen,
/obj/item/kitchen/rollingpin,
/turf/open/indestructible/hotelwood,
/area/warped_room)
diff --git a/beestation.dme b/beestation.dme
index 540efb79906b9..fa0bba9705c75 100644
--- a/beestation.dme
+++ b/beestation.dme
@@ -1302,6 +1302,7 @@
#include "code\game\objects\items\hourglass.dm"
#include "code\game\objects\items\inducer.dm"
#include "code\game\objects\items\kitchen.dm"
+#include "code\game\objects\items\knives.dm"
#include "code\game\objects\items\latexballoon.dm"
#include "code\game\objects\items\mail.dm"
#include "code\game\objects\items\manuals.dm"
diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm
index 8c9f5222b1e3d..0c98e04b13906 100644
--- a/code/__DEFINES/inventory.dm
+++ b/code/__DEFINES/inventory.dm
@@ -168,7 +168,7 @@ GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list(
/obj/item/gun/ballistic,
/obj/item/gun/energy,
/obj/item/gun/grenadelauncher,
- /obj/item/kitchen/knife/combat,
+ /obj/item/knife/combat,
/obj/item/melee/baton,
/obj/item/melee/classic_baton/police/telescopic,
/obj/item/reagent_containers/peppercloud_deployer,
diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm
index 01a34f065cf12..64c2a5ce940f0 100644
--- a/code/datums/components/crafting/recipes.dm
+++ b/code/datums/components/crafting/recipes.dm
@@ -464,7 +464,7 @@
result = /obj/item/switchblade/kitchen
reqs = list(/obj/item/stack/sheet/iron = 2,
/obj/item/weaponcrafting/receiver = 1,
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/item/stack/cable_coil = 2)
tools = list(TOOL_WELDER)
time = 45
@@ -488,7 +488,7 @@
result = /obj/item/switchblade/plastitanium
reqs = list(/obj/item/weaponcrafting/stock = 1,
/obj/item/weaponcrafting/receiver = 1,
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/stack/sheet/mineral/plastitanium = 2)
tools = list(TOOL_WELDER)
@@ -790,7 +790,7 @@
/datum/crafting_recipe/bonedagger
name = "Bone Dagger"
- result = /obj/item/kitchen/knife/combat/bone
+ result = /obj/item/knife/combat/bone
time = 20
reqs = list(/obj/item/stack/sheet/bone = 2)
category = CAT_PRIMAL
@@ -968,7 +968,7 @@
name = "Shank"
reqs = list(/obj/item/shard = 1,
/obj/item/stack/cable_coil = 10) // 1 glass shard + 10 cable; needs a wirecutter to snip the cable.
- result = /obj/item/kitchen/knife/shank
+ result = /obj/item/knife/shank
tools = list(TOOL_WIRECUTTER)
time = 20
category = CAT_WEAPONRY
diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm
index a8901ecb720c9..ec6cf1b4e5a31 100644
--- a/code/game/gamemodes/clown_ops/clown_ops.dm
+++ b/code/game/gamemodes/clown_ops/clown_ops.dm
@@ -38,7 +38,7 @@
r_pocket = /obj/item/bikehorn
id = /obj/item/card/id/syndicate
backpack_contents = list(/obj/item/storage/box/syndie=1,\
- /obj/item/kitchen/knife/combat/survival,
+ /obj/item/knife/combat/survival,
/obj/item/reagent_containers/spray/waterflower/lube)
implants = list(/obj/item/implant/sad_trombone)
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 9d2880be163aa..c1159acd3941b 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -126,7 +126,7 @@
id = /obj/item/card/id/syndicate
belt = /obj/item/gun/ballistic/automatic/pistol
backpack_contents = list(/obj/item/storage/box/syndie=1,\
- /obj/item/kitchen/knife/combat/survival)
+ /obj/item/knife/combat/survival)
var/tc = 25
var/command_radio = FALSE
@@ -176,7 +176,7 @@
backpack_contents = list(/obj/item/storage/box/syndie=1,\
/obj/item/tank/jetpack/oxygen/harness=1,\
/obj/item/gun/ballistic/automatic/pistol=1,\
- /obj/item/kitchen/knife/combat/survival)
+ /obj/item/knife/combat/survival)
/datum/game_mode/nuclear/generate_credit_text()
diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm
index 1e0656914bed9..41de38bc42992 100644
--- a/code/game/objects/items/kitchen.dm
+++ b/code/game/objects/items/kitchen.dm
@@ -57,7 +57,7 @@
else
return ..()
-/obj/item/kitchen/knife/poison/attack(mob/living/M, mob/user)
+/obj/item/knife/poison/attack(mob/living/M, mob/user)
if (!istype(M))
return
. = ..()
@@ -70,175 +70,9 @@
reagents.reaction(M,INJECT,amount)
reagents.trans_to(M,amount_inject)
-/obj/item/kitchen/knife
+/obj/item/knife/kitchen
name = "kitchen knife"
- icon_state = "knife"
- item_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
- flags_1 = CONDUCT_1
- force = 10
- w_class = WEIGHT_CLASS_SMALL
- throwforce = 10
- hitsound = 'sound/weapons/bladeslice.ogg'
- block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY
- throw_speed = 3
- throw_range = 6
- materials = list(/datum/material/iron=12000)
- attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut")
- sharpness = IS_SHARP_ACCURATE
- armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, STAMINA = 0)
- var/bayonet = FALSE //Can this be attached to a gun?
- custom_price = 30
- tool_behaviour = TOOL_KNIFE
-
-/obj/item/kitchen/knife/Initialize(mapload)
- . = ..()
-
- AddComponent(/datum/component/butchering, 80 - force, 100, force - 10) //bonus chance increases depending on force
-
-/obj/item/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user)
- if(user.zone_selected == BODY_ZONE_PRECISE_EYES)
- if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- M = user
- return eyestab(M,user)
- else
- return ..()
-
-/obj/item/kitchen/knife/suicide_act(mob/user)
- user.visible_message(pick("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \
- "[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \
- "[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku."))
- return (BRUTELOSS)
-
-/obj/item/kitchen/knife/ritual
- name = "ritual knife"
- desc = "The unearthly energies that once powered this blade are now dormant."
- icon = 'icons/obj/wizard.dmi'
- icon_state = "render"
- lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
- w_class = WEIGHT_CLASS_NORMAL
-
-/obj/item/kitchen/knife/butcher
- name = "butcher's cleaver"
- icon_state = "butch"
- item_state = "butch"
- desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products."
- flags_1 = CONDUCT_1
- force = 15
- throwforce = 10
- materials = list(/datum/material/iron=18000)
- attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut")
- w_class = WEIGHT_CLASS_NORMAL
- custom_price = 60
-
-/obj/item/kitchen/knife/hunting
- name = "hunting knife"
- desc = "Despite its name, it's mainly used for cutting meat from dead prey rather than actual hunting."
- item_state = "huntingknife"
- icon_state = "huntingknife"
- force = 12
-
-/obj/item/kitchen/knife/poison
- name = "venom knife"
- icon_state = "poisonknife"
- force = 12
- throwforce = 15
- throw_speed = 5
- throw_range = 7
- var/amount_per_transfer_from_this = 10
- var/list/possible_transfer_amounts
- desc = "An infamous knife of syndicate design, it has a tiny hole going through the blade to the handle which stores toxins."
- materials = null
-
-/obj/item/kitchen/knife/poison/Initialize(mapload)
- . = ..()
- create_reagents(40,OPENCONTAINER)
- possible_transfer_amounts = list(5, 10)
-
-/obj/item/kitchen/knife/poison/attack_self(mob/user)
- if(possible_transfer_amounts.len)
- var/i=0
- for(var/A in possible_transfer_amounts)
- i++
- if(A == amount_per_transfer_from_this)
- if(i[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
- return
-
-/obj/item/kitchen/knife/combat
- name = "combat knife"
- icon_state = "buckknife"
- desc = "A military combat utility survival knife."
- embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE, "armour_block" = 60)
- force = 20
- throwforce = 20
- attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "cut")
- bayonet = TRUE
-
-/obj/item/kitchen/knife/combat/survival
- name = "survival knife"
- icon_state = "survivalknife"
- embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10, "armour_block" = 40)
- desc = "A hunting grade survival knife."
- force = 15
- throwforce = 15
- bayonet = TRUE
-
-/obj/item/kitchen/knife/combat/bone
- name = "bone dagger"
- item_state = "bone_dagger"
- icon_state = "bone_dagger"
- lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
- desc = "A sharpened bone. The bare minimum in survival."
- embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10, "armour_block" = 40)
- force = 15
- throwforce = 15
- materials = list()
-
-/obj/item/kitchen/knife/combat/cyborg
- name = "cyborg knife"
- icon = 'icons/obj/items_cyborg.dmi'
- icon_state = "knife_cyborg"
- desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
-
-/obj/item/kitchen/knife/carrotshiv
- name = "carrot shiv"
- icon_state = "carrotshiv"
- item_state = "carrotshiv"
- lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
- desc = "Unlike other carrots, you should probably keep this far away from your eyes."
- force = 8
- throwforce = 12//fuck git
- materials = list()
- attack_verb = list("shanked", "shivved")
- armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0)
-
-// Shank - Makeshift weapon that can embed on throw
-/obj/item/kitchen/knife/shank
- name = "Shank"
- desc = "A crude knife fashioned by wrapping some cable around a glass shard. It looks like it could be thrown with some force.. and stick. Good to throw at someone chasing you"
- icon = 'icons/obj/items_and_weapons.dmi'
- icon_state = "shank"
- item_state = "shank"
- lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
- force = 8 // 3 more than base glass shard
- throwforce = 8
- throw_speed = 5 //yeets
- armour_penetration = 10 //spear has 10 armour pen, I think its fitting another glass tipped item should have it too
- embedding = list("embedded_pain_multiplier" = 6, "embed_chance" = 40, "embedded_fall_chance" = 5, "armour_block" = 30) // Incentive to disengage/stop chasing when stuck
- attack_verb = list("stuck", "shanked")
-
-/obj/item/kitchen/knife/shank/suicide_act(mob/user)
- user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat")] with the shank! It looks like [user.p_theyre()] trying to commit suicide.")
- return (BRUTELOSS)
/obj/item/kitchen/rollingpin
name = "rolling pin"
diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm
new file mode 100644
index 0000000000000..12561ce5fe64e
--- /dev/null
+++ b/code/game/objects/items/knives.dm
@@ -0,0 +1,179 @@
+// Knife Template, should not appear in game normally //
+/obj/item/knife
+ name = "knife"
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "knife"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
+ item_state = "knife"
+ worn_icon_state = "knife"
+ desc = "The original knife, it is said that all other knives are only copies of this one."
+ flags_1 = CONDUCT_1
+ force = 10
+ w_class = WEIGHT_CLASS_SMALL
+ throwforce = 10
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ throw_speed = 3
+ throw_range = 6
+ materials = list(/datum/material/iron=12000)
+ attack_verb = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts")
+ //attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")
+ sharpness = IS_SHARP_ACCURATE
+ armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50)
+ var/bayonet = FALSE //Can this be attached to a gun?
+ //wound_bonus = 5
+ //bare_wound_bonus = 15
+ tool_behaviour = TOOL_KNIFE
+
+/obj/item/knife/Initialize(mapload)
+ . = ..()
+
+ set_butchering()
+
+/obj/item/knife/attack(mob/living/carbon/M, mob/living/carbon/user)
+ if(user.zone_selected == BODY_ZONE_PRECISE_EYES)
+ if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
+ M = user
+ return eyestab(M,user)
+ else
+ return ..()
+
+///Adds the butchering component, used to override stats for special cases
+/obj/item/knife/proc/set_butchering()
+ AddComponent(/datum/component/butchering, 8 SECONDS - force, 100, force - 10) //bonus chance increases depending on force
+
+/obj/item/knife/suicide_act(mob/user)
+ user.visible_message(pick("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \
+ "[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \
+ "[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku."))
+ return (BRUTELOSS)
+
+/obj/item/knife/ritual
+ name = "ritual knife"
+ desc = "The unearthly energies that once powered this blade are now dormant."
+ icon = 'icons/obj/wizard.dmi'
+ icon_state = "render"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
+ w_class = WEIGHT_CLASS_NORMAL
+
+/obj/item/knife/butcher
+ name = "butcher's cleaver"
+ icon_state = "butch"
+ item_state = "butch"
+ desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products."
+ flags_1 = CONDUCT_1
+ force = 15
+ throwforce = 10
+ materials = list(/datum/material/iron=18000)
+ attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut")
+ w_class = WEIGHT_CLASS_NORMAL
+ custom_price = 60
+
+/obj/item/knife/hunting
+ name = "hunting knife"
+ desc = "Despite its name, it's mainly used for cutting meat from dead prey rather than actual hunting."
+ item_state = "huntingknife"
+ icon_state = "huntingknife"
+ force = 12
+
+/obj/item/knife/poison
+ name = "venom knife"
+ icon_state = "poisonknife"
+ force = 12
+ throwforce = 15
+ throw_speed = 5
+ throw_range = 7
+ var/amount_per_transfer_from_this = 10
+ var/list/possible_transfer_amounts
+ desc = "An infamous knife of syndicate design, it has a tiny hole going through the blade to the handle which stores toxins."
+ materials = null
+
+/obj/item/knife/poison/Initialize(mapload)
+ . = ..()
+ create_reagents(40,OPENCONTAINER)
+ possible_transfer_amounts = list(5, 10)
+
+/obj/item/knife/poison/attack_self(mob/user)
+ if(possible_transfer_amounts.len)
+ var/i=0
+ for(var/A in possible_transfer_amounts)
+ i++
+ if(A == amount_per_transfer_from_this)
+ if(i[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
+ return
+
+/obj/item/knife/combat
+ name = "combat knife"
+ icon_state = "buckknife"
+ desc = "A military combat utility survival knife."
+ embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE, "armour_block" = 60)
+ force = 20
+ throwforce = 20
+ attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "cut")
+ bayonet = TRUE
+
+/obj/item/knife/combat/survival
+ name = "survival knife"
+ icon_state = "survivalknife"
+ embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10, "armour_block" = 40)
+ desc = "A hunting grade survival knife."
+ force = 15
+ throwforce = 15
+ bayonet = TRUE
+
+/obj/item/knife/combat/bone
+ name = "bone dagger"
+ item_state = "bone_dagger"
+ icon_state = "bone_dagger"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ desc = "A sharpened bone. The bare minimum in survival."
+ embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10, "armour_block" = 40)
+ force = 15
+ throwforce = 15
+ materials = list()
+
+/obj/item/knife/combat/cyborg
+ name = "cyborg knife"
+ icon = 'icons/obj/items_cyborg.dmi'
+ icon_state = "knife_cyborg"
+ desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
+
+/obj/item/knife/carrotshiv
+ name = "carrot shiv"
+ icon_state = "carrotshiv"
+ item_state = "carrotshiv"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ desc = "Unlike other carrots, you should probably keep this far away from your eyes."
+ force = 8
+ throwforce = 12//fuck git
+ materials = list()
+ attack_verb = list("shanked", "shivved")
+ armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0)
+
+// Shank - Makeshift weapon that can embed on throw
+/obj/item/knife/shank
+ name = "Shank"
+ desc = "A crude knife fashioned by wrapping some cable around a glass shard. It looks like it could be thrown with some force.. and stick. Good to throw at someone chasing you"
+ icon = 'icons/obj/items_and_weapons.dmi'
+ icon_state = "shank"
+ item_state = "shank"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ force = 8 // 3 more than base glass shard
+ throwforce = 8
+ throw_speed = 5 //yeets
+ armour_penetration = 10 //spear has 10 armour pen, I think its fitting another glass tipped item should have it too
+ embedding = list("embedded_pain_multiplier" = 6, "embed_chance" = 40, "embedded_fall_chance" = 5, "armour_block" = 30) // Incentive to disengage/stop chasing when stuck
+ attack_verb = list("stuck", "shanked")
+
+/obj/item/knife/shank/suicide_act(mob/user)
+ user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat")] with the shank! It looks like [user.p_theyre()] trying to commit suicide.")
+ return (BRUTELOSS)
diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm
index 3a8fa5aae0941..dac0fb93cb424 100644
--- a/code/game/objects/items/miscellaneous.dm
+++ b/code/game/objects/items/miscellaneous.dm
@@ -168,7 +168,7 @@
/obj/item/storage/box/hero/carphunter/PopulateContents()
new /obj/item/clothing/suit/space/hardsuit/carp/old(src)
new /obj/item/clothing/mask/gas/carp(src)
- new /obj/item/kitchen/knife/hunting(src)
+ new /obj/item/knife/hunting(src)
/obj/item/storage/box/hero/ronin
name = "Sword Saint, Wandering Vagabond - 1600's."
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index c186f7203aeb4..10f26f65e92f3 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -824,7 +824,7 @@
desc = "A service cyborg upgrade allowing for basic food handling."
hat = /obj/item/clothing/head/chefhat
addmodules = list (
- /obj/item/kitchen/knife,
+ /obj/item/knife/kitchen,
/obj/item/kitchen/rollingpin,
)
additional_reagents = list(
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 141dffb0dffe9..91ee8cce36fcb 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -324,7 +324,7 @@
/obj/item/ammo_casing/shotgun,
/obj/item/ammo_box,
/obj/item/reagent_containers/food/snacks/donut,
- /obj/item/kitchen/knife/combat,
+ /obj/item/knife/combat,
/obj/item/flashlight/seclite,
/obj/item/melee/classic_baton/police/telescopic,
/obj/item/radio,
@@ -408,7 +408,7 @@
/obj/item/storage/fancy/cigarettes,
/obj/item/reagent_containers/food/drinks/bottle,
/obj/item/stack/medical,
- /obj/item/kitchen/knife,
+ /obj/item/knife/kitchen,
/obj/item/reagent_containers/hypospray,
/obj/item/gps,
/obj/item/storage/bag/ore,
diff --git a/code/modules/admin/battle_royale.dm b/code/modules/admin/battle_royale.dm
index edcccecdf3f74..1c6e4f8fcf9bc 100644
--- a/code/modules/admin/battle_royale.dm
+++ b/code/modules/admin/battle_royale.dm
@@ -1,9 +1,9 @@
//Global lists so they can be editted by admins
GLOBAL_LIST_INIT(battle_royale_basic_loot, list(
/obj/item/soap,
- /obj/item/kitchen/knife,
- /obj/item/kitchen/knife/combat,
- /obj/item/kitchen/knife/poison,
+ /obj/item/knife/kitchen,
+ /obj/item/knife/combat,
+ /obj/item/knife/poison,
/obj/item/throwing_star,
/obj/item/syndie_glue,
/obj/item/book_of_babel,
diff --git a/code/modules/antagonists/blood_contract/blood_contract.dm b/code/modules/antagonists/blood_contract/blood_contract.dm
index c1b79bc13b166..903f177ed4fff 100644
--- a/code/modules/antagonists/blood_contract/blood_contract.dm
+++ b/code/modules/antagonists/blood_contract/blood_contract.dm
@@ -41,6 +41,6 @@
log_game("[key_name(P)] was selected to kill [key_name(H)] by blood contract") // holy shit why is there no antag datum. I'm doing a huge refactor so I don't have time for one but I had to add this log here
to_chat(P, "You have an overwhelming desire to kill [H]. [H.p_theyve(TRUE)] been marked red! Whoever [H.p_they()] [H.p_were()], friend or foe, go kill [H.p_them()]!")
- var/obj/item/I = new /obj/item/kitchen/knife/butcher(get_turf(P))
+ var/obj/item/I = new /obj/item/knife/butcher(get_turf(P))
P.put_in_hands(I, del_on_fail=TRUE)
QDEL_IN(I, duration)
diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm
index dc75b475b2e72..01e22002c3274 100644
--- a/code/modules/antagonists/fugitive/fugitive_outfits.dm
+++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm
@@ -2,7 +2,7 @@
name = "Prison Escapee"
uniform = /obj/item/clothing/under/rank/prisoner
shoes = /obj/item/clothing/shoes/sneakers/orange
- r_pocket = /obj/item/kitchen/knife/carrotshiv
+ r_pocket = /obj/item/knife/carrotshiv
/datum/outfit/prisoner/post_equip(mob/living/carbon/human/H, visualsOnly=FALSE)
if(visualsOnly)
diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
index 1ed21d3a4169a..a4a146a36ec46 100644
--- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
@@ -40,7 +40,7 @@
/datum/heretic_knowledge/final/void_final,
)
required_atoms = list(
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/item/match = 1,
)
result_atoms = list(/obj/item/melee/sickly_blade/ash)
diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
index b8e0edc37be29..2a3c0d73eeb41 100644
--- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
@@ -45,7 +45,7 @@
/datum/heretic_knowledge/final/void_final,
)
required_atoms = list(
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/effect/decal/cleanable/blood = 1,
)
result_atoms = list(/obj/item/melee/sickly_blade/flesh)
diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
index bd7b4acf21d78..0b4d1a6452156 100644
--- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
@@ -40,7 +40,7 @@
/datum/heretic_knowledge/limited_amount/base_void,
)
required_atoms = list(
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/item/trash = 1,
)
result_atoms = list(/obj/item/melee/sickly_blade/rust)
diff --git a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
index ac5e3382868d0..bb0df2ef29368 100644
--- a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
@@ -32,7 +32,7 @@
/datum/heretic_knowledge/summon/raw_prophet,
)
required_atoms = list(
- /obj/item/kitchen/knife = 1,
+ /obj/item/knife = 1,
/obj/item/shard = 1,
/obj/item/paper = 1,
)
diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm
index c06f7283c9cc5..1a77d2a8409a1 100644
--- a/code/modules/antagonists/heretic/knowledge/void_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm
@@ -40,7 +40,7 @@
/datum/heretic_knowledge/final/flesh_final,
/datum/heretic_knowledge/final/rust_final,
)
- required_atoms = list(/obj/item/kitchen/knife = 1)
+ required_atoms = list(/obj/item/knife = 1)
result_atoms = list(/obj/item/melee/sickly_blade/void)
limit = 2
cost = 1
diff --git a/code/modules/cargo/bounties/mining.dm b/code/modules/cargo/bounties/mining.dm
index 49c09c356adb4..a0d311fd81778 100644
--- a/code/modules/cargo/bounties/mining.dm
+++ b/code/modules/cargo/bounties/mining.dm
@@ -54,7 +54,7 @@
description = "Central Command's canteen is undergoing budget cuts. Ship over some bone daggers so our Chef can keep working."
reward = 5000
required_count = 3
- wanted_types = list(/obj/item/kitchen/knife/combat/bone)
+ wanted_types = list(/obj/item/knife/combat/bone)
/datum/bounty/item/mining/polypore_mushroom
name = "Mushroom Bowl"
diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm
index 6e610c247fe14..c544834246e20 100644
--- a/code/modules/cargo/exports/lavaland.dm
+++ b/code/modules/cargo/exports/lavaland.dm
@@ -23,7 +23,7 @@
/obj/item/ship_in_a_bottle,
/obj/item/clothing/shoes/clown_shoes/banana_shoes,
/obj/item/gun/magic/staff/honk,
- /obj/item/kitchen/knife/envy,
+ /obj/item/knife/envy,
/obj/item/gun/ballistic/revolver/russian/soul,
/obj/item/veilrender/vealrender)
diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm
index 9df570ac2441a..e7d2b6bd2cc28 100644
--- a/code/modules/cargo/exports/weapons.dm
+++ b/code/modules/cargo/exports/weapons.dm
@@ -13,7 +13,7 @@
/datum/export/weapon/knife
cost = 100
unit_name = "combat knife"
- export_types = list(/obj/item/kitchen/knife/combat)
+ export_types = list(/obj/item/knife/combat)
/datum/export/weapon/taser
diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm
index fbef700866543..014f4147dc900 100644
--- a/code/modules/cargo/packs.dm
+++ b/code/modules/cargo/packs.dm
@@ -593,16 +593,16 @@
cost = 700 // 300 credits per 1 knife
small_item = TRUE
max_supply = 2
- contains = list(/obj/item/kitchen/knife/combat)
+ contains = list(/obj/item/knife/combat)
/datum/supply_pack/security/armory/combatknives
name = "Combat Knives Crate"
desc = "Contains three sharpened combat knives. Each knife guaranteed to fit snugly inside any Nanotrasen-standard boot. Requires Armory access to open."
cost = 1120 //20% discount
max_supply = 1
- contains = list(/obj/item/kitchen/knife/combat,
- /obj/item/kitchen/knife/combat,
- /obj/item/kitchen/knife/combat)
+ contains = list(/obj/item/knife/combat,
+ /obj/item/knife/combat,
+ /obj/item/knife/combat)
crate_name = "combat knife crate"
/datum/supply_pack/security/armory/ballistic_single
diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm
index 496f32ec0e7ff..17216fb400af2 100644
--- a/code/modules/clothing/outfits/ert.dm
+++ b/code/modules/clothing/outfits/ert.dm
@@ -500,7 +500,7 @@
suit_store = /obj/item/gun/energy/pulse/destroyer
belt = /obj/item/storage/belt/grenade/full/webbing
back = /obj/item/storage/backpack/hammerspace
- l_pocket = /obj/item/kitchen/knife/combat
+ l_pocket = /obj/item/knife/combat
r_pocket = /obj/item/tank/internals/emergency_oxygen/double
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/reagent_containers/hypospray/combat,\
diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm
index 2babefe518264..c3209f1c26888 100644
--- a/code/modules/clothing/outfits/standard.dm
+++ b/code/modules/clothing/outfits/standard.dm
@@ -51,7 +51,7 @@
suit = /obj/item/clothing/suit/armor/vest
head = /obj/item/clothing/head/helmet/thunderdome
r_hand = /obj/item/gun/energy/pulse/destroyer
- l_hand = /obj/item/kitchen/knife
+ l_hand = /obj/item/knife/kitchen
r_pocket = /obj/item/grenade/smokebomb
/datum/outfit/tournament/green
@@ -181,7 +181,7 @@
ears = /obj/item/radio/headset
glasses = /obj/item/clothing/glasses/thermal/monocle
suit = /obj/item/clothing/suit/apron
- l_pocket = /obj/item/kitchen/knife
+ l_pocket = /obj/item/knife/kitchen
r_pocket = /obj/item/scalpel
r_hand = /obj/item/fireaxe
diff --git a/code/modules/clothing/outfits/vr.dm b/code/modules/clothing/outfits/vr.dm
index bfd90cf88257f..4eba242b85c82 100644
--- a/code/modules/clothing/outfits/vr.dm
+++ b/code/modules/clothing/outfits/vr.dm
@@ -23,7 +23,7 @@
belt = /obj/item/gun/ballistic/automatic/pistol
l_pocket = /obj/item/paper/fluff/vr/fluke_ops
backpack_contents = list(/obj/item/storage/box/syndie=1,\
- /obj/item/kitchen/knife/combat/survival)
+ /obj/item/knife/combat/survival)
/datum/outfit/vr/syndicate/post_equip(mob/living/carbon/human/H)
. = ..()
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 59be5d0d416d9..ce975fd242d57 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -36,7 +36,7 @@ Contains:
desc = "A prototype designed to replace the ageing MK.II SWAT suit. Based on the streamlined MK.II model, the traditional ceramic and graphene plate construction was replaced with plasteel, allowing superior armor against most threats. There's room for some kind of energy projection device on the back."
icon_state = "deathsquad"
item_state = "swat_suit"
- allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat)
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat)
armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, STAMINA = 100)
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -51,7 +51,7 @@ Contains:
desc = "A tactical space suit first developed in a joint effort by the defunct IS-ERI and Nanotrasen in 20XX for military space operations. A tried and true workhorse, it is very difficult to move in but offers robust protection against all threats!"
icon_state = "heavy"
item_state = "swat_suit"
- allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat)
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat)
armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100, STAMINA = 60)
strip_delay = 120
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -485,7 +485,7 @@ Contains:
desc = "A custom version of the MK.II SWAT suit, modified to look rugged and tough. Works as a space suit, if you can find a helmet."
icon_state = "hunter"
item_state = "swat_suit"
- allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat)
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat)
armor = list(melee = 60, bullet = 40, laser = 40, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100, stamina = 70)
strip_delay = 130
resistance_flags = FIRE_PROOF | ACID_PROOF
diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm
index bd7321aa97953..935fd3ac08407 100644
--- a/code/modules/clothing/suits/cloaks.dm
+++ b/code/modules/clothing/suits/cloaks.dm
@@ -54,7 +54,7 @@
name = "goliath cloak"
icon_state = "goliath_cloak"
desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits."
- allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/spear/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/spear/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/knife/combat/bone, /obj/item/knife/combat/survival)
armor = list(MELEE = 50, BULLET = 10, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 60, STAMINA = 30) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot
hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath
body_parts_covered = CHEST|GROIN|ARMS
diff --git a/code/modules/exploration_crew/exploration_vendor.dm b/code/modules/exploration_crew/exploration_vendor.dm
index c3b15ce4a6912..53a3d7c3b9779 100644
--- a/code/modules/exploration_crew/exploration_vendor.dm
+++ b/code/modules/exploration_crew/exploration_vendor.dm
@@ -23,7 +23,7 @@
new /datum/data/vendor_equipment("Charge Detonator", /obj/item/exploration_detonator, 10000),
new /datum/data/vendor_equipment("Multi-Purpose Energy Gun", /obj/item/gun/energy/e_gun/mini/exploration, 20000),
new /datum/data/vendor_equipment("Expanded E. Oxygen Tank", /obj/item/tank/internals/emergency_oxygen/engi, 1000),
- new /datum/data/vendor_equipment("Survival Knife", /obj/item/kitchen/knife/combat/survival, 1000),
+ new /datum/data/vendor_equipment("Survival Knife", /obj/item/knife/combat/survival, 1000),
new /datum/data/vendor_equipment("Pizza", /obj/item/pizzabox/margherita, 200),
new /datum/data/vendor_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 1000),
new /datum/data/vendor_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 1000),
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
index faf8ce4cef259..e442080a7a5b9 100644
--- a/code/modules/hydroponics/grown/root.dm
+++ b/code/modules/hydroponics/grown/root.dm
@@ -28,7 +28,7 @@
/obj/item/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
if(I.is_sharp())
to_chat(user, "You sharpen the carrot into a shiv with [I].")
- var/obj/item/kitchen/knife/carrotshiv/Shiv = new /obj/item/kitchen/knife/carrotshiv
+ var/obj/item/knife/carrotshiv/Shiv = new /obj/item/knife/carrotshiv
remove_item_from_storage(user)
qdel(src)
user.put_in_hands(Shiv)
diff --git a/code/modules/jobs/job_mail.dm b/code/modules/jobs/job_mail.dm
index f8aaefd96ba68..e1c02e3c92194 100644
--- a/code/modules/jobs/job_mail.dm
+++ b/code/modules/jobs/job_mail.dm
@@ -157,9 +157,9 @@
/obj/item/storage/box/ingredients/wildcard = 10,
//EEEEEEEK
/obj/item/storage/box/monkeycubes = 5,
- /obj/item/kitchen/knife = 4,
+ /obj/item/knife/kitchen = 4,
/obj/item/storage/box/ingredients/exotic = 3,
- /obj/item/kitchen/knife/butcher = 2,
+ /obj/item/knife/butcher = 2,
)
//CURATOR
diff --git a/code/modules/jobs/job_types/exploration_team.dm b/code/modules/jobs/job_types/exploration_team.dm
index 5115a931b441b..b159038f1affa 100644
--- a/code/modules/jobs/job_types/exploration_team.dm
+++ b/code/modules/jobs/job_types/exploration_team.dm
@@ -72,7 +72,7 @@
gloves = /obj/item/clothing/gloves/color/black
uniform = /obj/item/clothing/under/rank/cargo/exploration
backpack_contents = list(
- /obj/item/kitchen/knife/combat/survival=1,\
+ /obj/item/knife/combat/survival=1,\
/obj/item/stack/marker_beacon/thirty=1)
l_pocket = /obj/item/gps/mining/exploration
r_pocket = /obj/item/gun/energy/e_gun/mini/exploration
@@ -90,7 +90,7 @@
r_pocket = /obj/item/modular_computer/tablet/pda/exploration_crew
backpack_contents = list(
- /obj/item/kitchen/knife/combat/survival=1,
+ /obj/item/knife/combat/survival=1,
/obj/item/stack/marker_beacon/thirty=1,
/obj/item/gun/energy/e_gun/mini/exploration=1,
/obj/item/grenade/exploration=3, //Breaching charges for entering ruins
@@ -108,7 +108,7 @@
glasses = /obj/item/clothing/glasses/science
backpack_contents = list(
- /obj/item/kitchen/knife/combat/survival=1,
+ /obj/item/knife/combat/survival=1,
/obj/item/stack/marker_beacon/thirty=1,
/obj/item/discovery_scanner=1,
/obj/item/sbeacondrop/exploration=1, //Spawns in a bluespace beacon
@@ -122,7 +122,7 @@
name = "Exploration Crew (Medical Doctor)"
backpack_contents = list(
- /obj/item/kitchen/knife/combat/survival=1,
+ /obj/item/knife/combat/survival=1,
/obj/item/stack/marker_beacon/thirty=1,
/obj/item/pinpointer/crew=1,
/obj/item/sensor_device=1,
diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm
index 738462cbfa3f5..855af73cac372 100644
--- a/code/modules/jobs/job_types/shaft_miner.dm
+++ b/code/modules/jobs/job_types/shaft_miner.dm
@@ -46,7 +46,7 @@
r_pocket = /obj/item/storage/bag/ore //causes issues if spawned in backpack
backpack_contents = list(
/obj/item/flashlight/seclite=1,\
- /obj/item/kitchen/knife/combat/survival=1,\
+ /obj/item/knife/combat/survival=1,\
/obj/item/mining_voucher=1,\
/obj/item/stack/marker_beacon/ten=1,\
/obj/item/discovery_scanner=1)
@@ -67,7 +67,7 @@
internals_slot = ITEM_SLOT_SUITSTORE
backpack_contents = list(
/obj/item/flashlight/seclite=1,\
- /obj/item/kitchen/knife/combat/survival=1,
+ /obj/item/knife/combat/survival=1,
/obj/item/mining_voucher=1,
/obj/item/t_scanner/adv_mining_scanner/lesser=1,
/obj/item/gun/energy/kinetic_accelerator=1,\
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index b852de189d455..0b27fdfa1f532 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -307,7 +307,7 @@
scanner.computer.inventory.Add(src)
to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'")
- else if((istype(I, /obj/item/kitchen/knife) || I.tool_behaviour == TOOL_WIRECUTTER) && !(flags_1 & HOLOGRAM_1))
+ else if((istype(I, /obj/item/knife) || I.tool_behaviour == TOOL_WIRECUTTER) && !(flags_1 & HOLOGRAM_1))
to_chat(user, "You begin to carve out [title]...")
if(do_after(user, 30, target = src))
to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.")
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index bc341a9879311..d1b4fbc17bde7 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -129,7 +129,7 @@
new /obj/item/lighter(src)
if(6 to 10)
new /obj/item/bedsheet(src)
- new /obj/item/kitchen/knife(src)
+ new /obj/item/knife/kitchen(src)
new /obj/item/wirecutters(src)
new /obj/item/screwdriver(src)
new /obj/item/weldingtool(src)
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 3d3175aed70c7..f4621b043c840 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -164,7 +164,7 @@
new /datum/data/vendor_equipment("Advanced Plasma Cutter", /obj/item/gun/energy/plasmacutter/adv, 4000),
//Assorted other equipment
new /datum/data/vendor_equipment("Explorer's Webbing", /obj/item/storage/belt/mining, 500),
- new /datum/data/vendor_equipment("Survival Knife", /obj/item/kitchen/knife/combat/survival, 500),
+ new /datum/data/vendor_equipment("Survival Knife", /obj/item/knife/combat/survival, 500),
new /datum/data/vendor_equipment("Seclite", /obj/item/flashlight/seclite, 500),
new /datum/data/vendor_equipment("Advanced Ore Scanner", /obj/item/t_scanner/adv_mining_scanner, 800),
new /datum/data/vendor_equipment("Jaunter", /obj/item/wormhole_jaunter, 750),
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index b4c64ad9fd61f..316551de4f536 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -306,7 +306,7 @@
name = "\improper Larry"
desc = "A little Larry, he looks so excited!"
icon_state = "larry0"
- var/obj/item/kitchen/knife/knife //You know exactly what this is about
+ var/obj/item/knife/knife //You know exactly what this is about
/mob/living/simple_animal/bot/cleanbot/larry/Initialize(mapload)
. = ..()
@@ -383,8 +383,8 @@
/mob/living/simple_animal/bot/cleanbot/larry/attackby(obj/item/I, mob/living/user)
if(user.a_intent == INTENT_HELP)
- if(istype(I, /obj/item/kitchen/knife) && !knife) //Is it a knife?
- var/obj/item/kitchen/knife/newknife = I
+ if(istype(I, /obj/item/knife) && !knife) //Is it a knife?
+ var/obj/item/knife/newknife = I
knife = newknife
newknife.forceMove(src)
message_admins("[user] attached a [newknife.name] to [src]") //This should definitely be a notified thing.
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index 5192043b41b55..08f3ea7678c37 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -303,9 +303,9 @@
if(prob(10))
belt = /obj/item/storage/belt/mining/primitive
if(prob(30))
- r_pocket = /obj/item/kitchen/knife/combat/bone
+ r_pocket = /obj/item/knife/combat/bone
if(prob(30))
- l_pocket = /obj/item/kitchen/knife/combat/bone
+ l_pocket = /obj/item/knife/combat/bone
if(JOB_NAME_CLOWN)
name = pick(GLOB.clown_names)
outfit = /datum/outfit/job/clown
diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm
index bdea87a2f87a9..0d6324aa5a88d 100644
--- a/code/modules/mob/living/simple_animal/hostile/russian.dm
+++ b/code/modules/mob/living/simple_animal/hostile/russian.dm
@@ -20,7 +20,7 @@
attack_sound = 'sound/weapons/punch1.ogg'
a_intent = INTENT_HARM
loot = list(/obj/effect/mob_spawn/human/corpse/russian,
- /obj/item/kitchen/knife)
+ /obj/item/knife/combat)
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
faction = list("russian")
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 95b1c2af7f007..2790d499dcbbe 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -63,7 +63,7 @@
var/datum/action/item_action/toggle_gunlight/alight
var/can_bayonet = FALSE //if a bayonet can be added or removed if it already has one.
- var/obj/item/kitchen/knife/bayonet
+ var/obj/item/knife/bayonet
var/mutable_appearance/knife_overlay
var/knife_x_offset = 0
var/knife_y_offset = 0
@@ -480,8 +480,8 @@
alight = new(src)
if(loc == user)
alight.Grant(user)
- else if(istype(I, /obj/item/kitchen/knife))
- var/obj/item/kitchen/knife/K = I
+ else if(istype(I, /obj/item/knife))
+ var/obj/item/knife/K = I
if(!can_bayonet || !K.bayonet || bayonet) //ensure the gun has an attachment point available, and that the knife is compatible with it.
return ..()
if(!user.transferItemToLoc(I, src))
diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm
index 750944f1a5da2..1717192706724 100644
--- a/code/modules/research/designs/autolathe_designs.dm
+++ b/code/modules/research/designs/autolathe_designs.dm
@@ -358,7 +358,7 @@
id = "kitchen_knife"
build_type = AUTOLATHE
materials = list(/datum/material/iron = 12000)
- build_path = /obj/item/kitchen/knife
+ build_path = /obj/item/knife/kitchen
category = list("initial","Dinnerware")
/datum/design/fork
@@ -873,7 +873,7 @@
id = "cleaver"
build_type = AUTOLATHE
materials = list(/datum/material/iron = 18000)
- build_path = /obj/item/kitchen/knife/butcher
+ build_path = /obj/item/knife/butcher
category = list("hacked", "Dinnerware")
/datum/design/spraycan
diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm
index 919e89af00f3a..377677262d579 100644
--- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_weapons.dm
@@ -23,7 +23,7 @@ Slimecrossing Weapons
//Rainbow knife - Burning Rainbow
-/obj/item/kitchen/knife/rainbowknife
+/obj/item/knife/rainbowknife
name = "rainbow knife"
desc = "A strange, transparent knife which constantly shifts color. It hums slightly when moved."
icon = 'icons/obj/slimecrossing.dmi'
@@ -33,7 +33,7 @@ Slimecrossing Weapons
throwforce = 15
damtype = BRUTE
-/obj/item/kitchen/knife/rainbowknife/afterattack(atom/O, mob/user, proximity)
+/obj/item/knife/rainbowknife/afterattack(atom/O, mob/user, proximity)
if(proximity && istype(O, /mob/living))
damtype = pick(BRUTE, BURN, TOX, OXY, CLONE)
switch(damtype)
diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm
index 48c3b5dff3959..9edba79689ae9 100644
--- a/code/modules/research/xenobiology/crossbreeding/burning.dm
+++ b/code/modules/research/xenobiology/crossbreeding/burning.dm
@@ -308,5 +308,5 @@ Burning extracts:
/obj/item/slimecross/burning/rainbow/do_effect(mob/user)
user.visible_message("[src] flattens into a glowing rainbow blade.")
- new /obj/item/kitchen/knife/rainbowknife(get_turf(user))
+ new /obj/item/knife/rainbowknife(get_turf(user))
..()
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index 2cf58fe8d1585..ba1bf0ecbbbf4 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -126,7 +126,7 @@
//can't be bothered to do sloth right now, will make later
-/obj/item/kitchen/knife/envy //Envy's knife: Found in the Envy ruin. Attackers take on the appearance of whoever they strike.
+/obj/item/knife/envy //Envy's knife: Found in the Envy ruin. Attackers take on the appearance of whoever they strike.
name = "envy's knife"
desc = "Their success will be yours."
icon = 'icons/obj/wizard.dmi'
@@ -139,7 +139,7 @@
w_class = WEIGHT_CLASS_NORMAL
hitsound = 'sound/weapons/bladeslice.ogg'
-/obj/item/kitchen/knife/envy/afterattack(atom/movable/AM, mob/living/carbon/human/user, proximity)
+/obj/item/knife/envy/afterattack(atom/movable/AM, mob/living/carbon/human/user, proximity)
. = ..()
if(!proximity)
return
diff --git a/code/modules/surgery/advanced/bioware/experimental_dissection.dm b/code/modules/surgery/advanced/bioware/experimental_dissection.dm
index 76361e156f3a7..12de45aa7a2a6 100644
--- a/code/modules/surgery/advanced/bioware/experimental_dissection.dm
+++ b/code/modules/surgery/advanced/bioware/experimental_dissection.dm
@@ -22,7 +22,7 @@
/datum/surgery_step/dissection
name = "dissection"
- implements = list(TOOL_SCALPEL = 60, /obj/item/kitchen/knife = 30, /obj/item/shard = 15)
+ implements = list(TOOL_SCALPEL = 60, /obj/item/knife = 30, /obj/item/shard = 15)
time = 125
/datum/surgery_step/dissection/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm
index 56a396c7c221e..796c7e2f26d6e 100644
--- a/code/modules/surgery/advanced/lobotomy.dm
+++ b/code/modules/surgery/advanced/lobotomy.dm
@@ -23,7 +23,7 @@
/datum/surgery_step/lobotomize
name = "perform lobotomy"
- implements = list(TOOL_SCALPEL = 85, /obj/item/melee/transforming/energy/sword = 55, /obj/item/kitchen/knife = 35,
+ implements = list(TOOL_SCALPEL = 85, /obj/item/melee/transforming/energy/sword = 55, /obj/item/knife = 35,
/obj/item/shard = 25, /obj/item = 20)
time = 100
preop_sound = 'sound/surgery/scalpel1.ogg'
diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm
index a3c511057d356..98e66b71e3103 100644
--- a/code/modules/surgery/amputation.dm
+++ b/code/modules/surgery/amputation.dm
@@ -10,7 +10,7 @@
/datum/surgery_step/sever_limb
name = "sever limb"
- implements = list(TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/arm_blade = 80, /obj/item/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/kitchen/knife/butcher = 25)
+ implements = list(TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/arm_blade = 80, /obj/item/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/knife/butcher = 25)
time = 64
preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/organ2.ogg'
diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm
index c1bb905f58e5c..eb74be456b856 100644
--- a/code/modules/surgery/coronary_bypass.dm
+++ b/code/modules/surgery/coronary_bypass.dm
@@ -15,7 +15,7 @@
//an incision but with greater bleed, and a 90% base success chance
/datum/surgery_step/incise_heart
name = "incise heart"
- implements = list(TOOL_SCALPEL = 90, /obj/item/melee/transforming/energy/sword = 45, /obj/item/kitchen/knife = 45,
+ implements = list(TOOL_SCALPEL = 90, /obj/item/melee/transforming/energy/sword = 45, /obj/item/knife = 45,
/obj/item/shard = 25)
time = 16
preop_sound = 'sound/surgery/scalpel1.ogg'
diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm
index e7133ca9f2a36..cbc56604a0597 100644
--- a/code/modules/surgery/gastrectomy.dm
+++ b/code/modules/surgery/gastrectomy.dm
@@ -22,7 +22,7 @@
//95% chance of success to be consistent with most organ-repairing surgeries.
/datum/surgery_step/gastrectomy
name = "remove lower duodenum"
- implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/kitchen/knife = 45,
+ implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/knife = 45,
/obj/item/shard = 35)
time = 52
diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm
index c6ad222e2b997..a2f7165c8e239 100644
--- a/code/modules/surgery/hepatectomy.dm
+++ b/code/modules/surgery/hepatectomy.dm
@@ -21,7 +21,7 @@
//95% chance of success, not 100 because organs are delicate
/datum/surgery_step/hepatectomy
name = "remove damaged liver section"
- implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/kitchen/knife = 45,
+ implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/knife = 45,
/obj/item/shard = 35)
time = 52
diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm
index dc4b240a5f441..1202e292de7ee 100644
--- a/code/modules/surgery/lipoplasty.dm
+++ b/code/modules/surgery/lipoplasty.dm
@@ -12,7 +12,7 @@
//cut fat
/datum/surgery_step/cut_fat
name = "cut excess fat"
- implements = list(TOOL_SAW = 100, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25)
+ implements = list(TOOL_SAW = 100, /obj/item/hatchet = 35, /obj/item/knife/butcher = 25)
time = 64
/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm
index bbaa3e7989be7..0bb0ab39a8122 100644
--- a/code/modules/surgery/lobectomy.dm
+++ b/code/modules/surgery/lobectomy.dm
@@ -15,7 +15,7 @@
//lobectomy, removes the most damaged lung lobe with a 95% base success chance
/datum/surgery_step/lobectomy
name = "excise damaged lung node"
- implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/kitchen/knife = 45,
+ implements = list(TOOL_SCALPEL = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/knife = 45,
/obj/item/shard = 35)
time = 42
preop_sound = 'sound/surgery/scalpel1.ogg'
diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm
index bbf86a0cf7db2..930c109c4667a 100644
--- a/code/modules/surgery/mechanic_steps.dm
+++ b/code/modules/surgery/mechanic_steps.dm
@@ -2,10 +2,10 @@
/datum/surgery_step/mechanic_open
name = "unscrew shell"
implements = list(
- TOOL_SCREWDRIVER = 100,
- TOOL_SCALPEL = 75, // med borgs could try to unskrew shell with scalpel
- /obj/item/kitchen/knife = 50,
- /obj/item = 10) // 10% success with any sharp item.
+ TOOL_SCREWDRIVER = 100,
+ TOOL_SCALPEL = 75, // med borgs could try to unskrew shell with scalpel
+ /obj/item/knife = 50,
+ /obj/item = 10) // 10% success with any sharp item.
time = 24
preop_sound = 'sound/items/screwdriver.ogg'
success_sound = 'sound/items/screwdriver2.ogg'
@@ -27,10 +27,10 @@
/datum/surgery_step/mechanic_close
name = "screw shell"
implements = list(
- TOOL_SCREWDRIVER = 100,
- TOOL_SCALPEL = 75,
- /obj/item/kitchen/knife = 50,
- /obj/item = 10) // 10% success with any sharp item.
+ TOOL_SCREWDRIVER = 100,
+ TOOL_SCALPEL = 75,
+ /obj/item/knife/ = 50,
+ /obj/item = 10) // 10% success with any sharp item.
time = 24
preop_sound = 'sound/items/screwdriver.ogg'
success_sound = 'sound/items/screwdriver2.ogg'
diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm
index fd399e6d52962..4c56c9709197e 100644
--- a/code/modules/surgery/organic_steps.dm
+++ b/code/modules/surgery/organic_steps.dm
@@ -2,7 +2,7 @@
//make incision
/datum/surgery_step/incise
name = "make incision"
- implements = list(TOOL_SCALPEL = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/kitchen/knife = 65,
+ implements = list(TOOL_SCALPEL = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/knife = 65,
/obj/item/shard = 45, /obj/item = 30) // 30% success with any sharp item.
time = 16
preop_sound = 'sound/surgery/scalpel1.ogg'
@@ -103,14 +103,14 @@
/datum/surgery_step/saw
name = "saw bone"
implements = list(TOOL_SAW = 100,/obj/item/melee/arm_blade = 75,
- /obj/item/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25)
+ /obj/item/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/knife/butcher = 25)
time = 54
preop_sound = list(
/obj/item/circular_saw = 'sound/surgery/saw.ogg',
/obj/item/melee/arm_blade = 'sound/surgery/scalpel1.ogg',
/obj/item/fireaxe = 'sound/surgery/scalpel1.ogg',
/obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
- /obj/item/kitchen/knife/butcher = 'sound/surgery/scalpel1.ogg',
+ /obj/item/knife/butcher = 'sound/surgery/scalpel1.ogg',
/obj/item = 'sound/surgery/scalpel1.ogg',
)
success_sound = 'sound/surgery/organ2.ogg'
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index 1ff300e266fa7..48f3d69a72f05 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -6,7 +6,7 @@
//reshape_face
/datum/surgery_step/reshape_face
name = "reshape face"
- implements = list(TOOL_SCALPEL = 100, /obj/item/kitchen/knife = 50, TOOL_WIRECUTTER = 35)
+ implements = list(TOOL_SCALPEL = 100, /obj/item/knife = 50, TOOL_WIRECUTTER = 35)
time = 64
/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index c8e2b1f45ac92..e9c6d1c287be9 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -450,7 +450,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/dangerous/poisonknife
name = "Poisoned Knife"
desc = "A knife that is made of two razor sharp blades, it has a secret compartment in the handle to store liquids which are injected when stabbing something. Can hold up to forty units of reagents but comes empty."
- item = /obj/item/kitchen/knife/poison
+ item = /obj/item/knife/poison
cost = 6 // all in all it's not super stealthy and you have to get some chemicals yourself
/datum/uplink_item/dangerous/rawketlawnchair
diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm
index 30244e50bd2ee..bde9e6e6d0a66 100644
--- a/code/modules/vending/drinnerware.dm
+++ b/code/modules/vending/drinnerware.dm
@@ -15,10 +15,10 @@
/obj/item/reagent_containers/food/condiment/peppermill = 5,
/obj/item/clothing/suit/apron/chef = 2,
/obj/item/kitchen/rollingpin = 2,
- /obj/item/kitchen/knife = 2,
+ /obj/item/knife/kitchen = 2,
/obj/item/book/granter/crafting_recipe/cooking_sweets_101 = 2)
contraband = list(/obj/item/kitchen/rollingpin = 2,
- /obj/item/kitchen/knife/butcher = 2)
+ /obj/item/knife/butcher = 2)
refill_canister = /obj/item/vending_refill/dinnerware
default_price = 5
extra_price = 50
diff --git a/code/modules/vending/sustenance.dm b/code/modules/vending/sustenance.dm
index da528e48be83b..00973a8ef6c11 100644
--- a/code/modules/vending/sustenance.dm
+++ b/code/modules/vending/sustenance.dm
@@ -8,7 +8,7 @@
products = list(/obj/item/reagent_containers/food/snacks/tofu/prison = 24,
/obj/item/reagent_containers/food/drinks/ice/prison = 12,
/obj/item/reagent_containers/food/snacks/candy_corn/prison = 6)
- contraband = list(/obj/item/kitchen/knife = 6,
+ contraband = list(/obj/item/knife/kitchen = 6,
/obj/item/reagent_containers/food/drinks/coffee = 12,
/obj/item/tank/internals/emergency_oxygen = 6,
/obj/item/clothing/mask/breath = 6)
diff --git a/tools/UpdatePaths/Scripts/9994_knives.txt b/tools/UpdatePaths/Scripts/9994_knives.txt
new file mode 100644
index 0000000000000..321c8af71b6a3
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/9994_knives.txt
@@ -0,0 +1,2 @@
+/obj/item/knife/ : /obj/item/kitchen/knife/{@OLD}
+/obj/item/knife/kitchen : /obj/item/kitchen/knife{@OLD}