diff --git a/GainStation13/code/mechanics/metal_cruncher.dm b/GainStation13/code/mechanics/metal_cruncher.dm
new file mode 100644
index 00000000..2dcd57f9
--- /dev/null
+++ b/GainStation13/code/mechanics/metal_cruncher.dm
@@ -0,0 +1,87 @@
+/datum/quirk/metal_cruncher
+ name = "Metal Cruncher"
+ desc = "You can eat most minerals. Brush your teeth."
+ value = 0 //ERP quirk
+ gain_text = "You feel like you could eat steel."
+ lose_text = "Your teeth hurt too much..."
+ category = CATEGORY_FOOD
+ mob_trait = TRAIT_METAL_CRUNCHER
+
+/obj/item/stack
+ var/crunch_value = 0
+
+/obj/item/stack/attack(mob/living/M, mob/living/user)
+ if(HAS_TRAIT(M, TRAIT_METAL_CRUNCHER))
+ if(crunch_value > 0)
+ if(M == user)
+ user.visible_message("[user] crunches on some of [src].", "You crunch on some of [src].")
+ else
+ M.visible_message("[user] attempts to feed some of [src] to [M].", "[user] attempts to feed some of [src] to [M].")
+ playsound(M,'sound/items/eatfood.ogg', rand(10,50), 1)
+ use(1)
+ M.nutrition += crunch_value
+ if(HAS_TRAIT(M, TRAIT_VORACIOUS))
+ M.changeNext_move(CLICK_CD_MELEE * 0.5)
+ return
+ . = ..()
+
+/obj/item/stack/cable_coil
+ crunch_value = 2
+/obj/item/stack/sheet/metal
+ crunch_value = 4
+/obj/item/stack/rods
+ crunch_value = 2
+/obj/item/stack/sheet/glass
+ crunch_value = 2
+/obj/item/stack/sheet/rglass
+ crunch_value = 4
+/obj/item/stack/sheet/plasmaglass
+ crunch_value = 12
+/obj/item/stack/sheet/plasmarglass
+ crunch_value = 14
+/obj/item/stack/sheet/titaniumglass
+ crunch_value = 27
+/obj/item/stack/sheet/plastitaniumglass
+ crunch_value = 37
+/obj/item/stack/sheet/plasteel
+ crunch_value = 14
+/obj/item/stack/sheet/durathread
+ crunch_value = 10
+/obj/item/stack/sheet/plastic
+ crunch_value = 2
+/obj/item/stack/sheet/micro_bricks
+ crunch_value = 1
+/obj/item/stack/sheet/cardboard
+ crunch_value = 1
+/obj/item/stack/sheet/mineral/calorite
+ crunch_value = 100
+/obj/item/stack/sheet/mineral/sandstone
+ crunch_value = 1
+/obj/item/stack/sheet/mineral/uranium
+ crunch_value = 50
+/obj/item/stack/sheet/mineral/plasma
+ crunch_value = 10
+/obj/item/stack/sheet/mineral/gold
+ crunch_value = 20
+/obj/item/stack/sheet/mineral/silver
+ crunch_value = 15
+/obj/item/stack/sheet/mineral/titanium
+ crunch_value = 25
+/obj/item/stack/sheet/mineral/plastitanium
+ crunch_value = 35
+/obj/item/stack/sheet/mineral/adamantine
+ crunch_value = 75
+/obj/item/stack/sheet/mineral/mythril
+ crunch_value = 75
+/obj/item/stack/sheet/mineral/coal
+ crunch_value = 50
+/obj/item/stack/sheet/mineral/wood
+ crunch_value = 4
+/obj/item/stack/sheet/mineral/bamboo
+ crunch_value = 10
+/obj/item/stack/sheet/mineral/shadoww
+ crunch_value = 15
+/obj/item/stack/sheet/mineral/gmushroom
+ crunch_value = 15
+/obj/item/stack/sheet/mineral/plaswood
+ crunch_value = 15
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 1778d470..f513280b 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -204,6 +204,7 @@
#define TRAIT_WEAKLEGS "weak_legs"
#define TRAIT_STRONGLEGS "strong_legs"
#define TRAIT_WEB_WEAVER "web_weaving"
+#define TRAIT_METAL_CRUNCHER "metal_cruncher"
//Hyper
#define TRAIT_MACROPHILE "macrophile" //likes the big
diff --git a/tgstation.dme b/tgstation.dme
index 65903ef3..a21ddae9 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2784,7 +2784,6 @@
#include "code\modules\research\nanites\nanite_program_hub.dm"
#include "code\modules\research\nanites\nanite_programmer.dm"
#include "code\modules\research\nanites\nanite_programs.dm"
-#include "code\modules\research\nanites\nanite_programs\protocols.dm"
#include "code\modules\research\nanites\nanite_remote.dm"
#include "code\modules\research\nanites\program_disks.dm"
#include "code\modules\research\nanites\public_chamber.dm"
@@ -2796,6 +2795,7 @@
#include "code\modules\research\nanites\extra_settings\type.dm"
#include "code\modules\research\nanites\nanite_programs\buffing.dm"
#include "code\modules\research\nanites\nanite_programs\healing.dm"
+#include "code\modules\research\nanites\nanite_programs\protocols.dm"
#include "code\modules\research\nanites\nanite_programs\rogue.dm"
#include "code\modules\research\nanites\nanite_programs\sensor.dm"
#include "code\modules\research\nanites\nanite_programs\suppression.dm"
@@ -3094,6 +3094,7 @@
#include "GainStation13\code\mechanics\fatness.dm"
#include "GainStation13\code\mechanics\fattening_trap.dm"
#include "GainStation13\code\mechanics\infestation.dm"
+#include "GainStation13\code\mechanics\metal_cruncher.dm"
#include "GainStation13\code\mechanics\spells.dm"
#include "GainStation13\code\mechanics\wand.dm"
#include "GainStation13\code\mechanics\web_weaving.dm"