diff --git a/code/game/machinery/kitchen/monkeyrecycler.dm b/code/game/machinery/kitchen/monkeyrecycler.dm
index d41558c161e..12feba6cf17 100644
--- a/code/game/machinery/kitchen/monkeyrecycler.dm
+++ b/code/game/machinery/kitchen/monkeyrecycler.dm
@@ -12,6 +12,8 @@
var/grinded = 0
var/required_grind = 5
var/cube_production = 1
+ var/cycle_through = 0
+ var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube
/obj/machinery/monkey_recycler/New()
..()
@@ -44,6 +46,22 @@
default_deconstruction_crowbar(O)
+ if(istype(O, /obj/item/device/multitool))
+ cycle_through++
+ switch(cycle_through)
+ if(1)
+ cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube
+ if(2)
+ cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube
+ if(3)
+ cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube
+ if(4)
+ cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube
+ if(5)
+ cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube
+ cycle_through = 0
+ to_chat(user, "You change the monkeycube type to [cube_type.name].")
+
if (src.stat != 0) //NOPOWER etc
return
if (istype(O, /obj/item/weapon/grab))
@@ -80,7 +98,7 @@
playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1)
grinded -= required_grind
for(var/i = 0, i < cube_production, i++) // Forgot to fix this bit the first time through
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(src.loc)
+ new cube_type(src.loc)
to_chat(user, "The machine's display flashes that it has [grinded] monkey\s worth of material left.")
else // I'm not sure if the \s macro works with a word in between; I'll play it safe
to_chat(user, "The machine needs at least [required_grind] monkey\s worth of material to compress [cube_production] monkey\s. It only has [grinded].")