diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index 85e03b2d45..4ba706a410 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -1,156 +1,53 @@
-//////Kitchen Spike
-#define VIABLE_MOB_CHECK(X) (isliving(X) && !issilicon(X) && !isbot(X))
-
-/obj/structure/kitchenspike_frame
- name = "meatspike frame"
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "spikeframe"
- desc = "The frame of a meat spike."
+//////Kitchen Spike
+#define VIABLE_MOB_CHECK(X) (isliving(X) && !issilicon(X) && !isbot(X))
+
+/obj/structure/kitchenspike_frame
+ name = "meatspike frame"
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "spikeframe"
+ desc = "The frame of a meat spike."
density = TRUE
anchored = FALSE
- max_integrity = 200
-
-/obj/structure/kitchenspike_frame/attackby(obj/item/I, mob/user, params)
- add_fingerprint(user)
- if(default_unfasten_wrench(user, I))
- return
- else if(istype(I, /obj/item/stack/rods))
- var/obj/item/stack/rods/R = I
- if(R.get_amount() >= 4)
- R.use(4)
- to_chat(user, "You add spikes to the frame.")
- var/obj/F = new /obj/structure/kitchenspike(src.loc)
- transfer_fingerprints_to(F)
- qdel(src)
- else if(istype(I, /obj/item/weldingtool))
- var/obj/item/weldingtool/WT = I
- if(!WT.remove_fuel(0, user))
- return
- to_chat(user, "You begin cutting \the [src] apart...")
- playsound(src.loc, WT.usesound, 40, 1)
- if(do_after(user, 40*WT.toolspeed, 1, target = src))
- if(!WT.isOn())
- return
- playsound(src.loc, WT.usesound, 50, 1)
- visible_message("[user] slices apart \the [src].",
- "You cut \the [src] apart with \the [WT].",
- "You hear welding.")
- new /obj/item/stack/sheet/metal(src.loc, 4)
- qdel(src)
- return
- else
- return ..()
-
-/obj/structure/kitchenspike
- name = "meat spike"
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "spike"
- desc = "A spike for collecting meat from animals"
+ max_integrity = 200
+
+/obj/structure/kitchenspike_frame/attackby(obj/item/I, mob/user, params)
+ add_fingerprint(user)
+ if(default_unfasten_wrench(user, I))
+ return
+ else if(istype(I, /obj/item/stack/rods))
+ var/obj/item/stack/rods/R = I
+ if(R.get_amount() >= 4)
+ R.use(4)
+ to_chat(user, "You add spikes to the frame.")
+ var/obj/F = new /obj/structure/kitchenspike(src.loc)
+ transfer_fingerprints_to(F)
+ qdel(src)
+ else if(istype(I, /obj/item/weldingtool))
+ var/obj/item/weldingtool/WT = I
+ if(!WT.remove_fuel(0, user))
+ return
+ to_chat(user, "You begin cutting \the [src] apart...")
+ playsound(src.loc, WT.usesound, 40, 1)
+ if(do_after(user, 40*WT.toolspeed, 1, target = src))
+ if(!WT.isOn())
+ return
+ playsound(src.loc, WT.usesound, 50, 1)
+ visible_message("[user] slices apart \the [src].",
+ "You cut \the [src] apart with \the [WT].",
+ "You hear welding.")
+ new /obj/item/stack/sheet/metal(src.loc, 4)
+ qdel(src)
+ return
+ else
+ return ..()
+
+/obj/structure/kitchenspike
+ name = "meat spike"
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "spike"
+ desc = "A spike for collecting meat from animals"
density = TRUE
anchored = TRUE
-<<<<<<< HEAD
- buckle_lying = 0
- can_buckle = 1
- max_integrity = 250
-
-
-/obj/structure/kitchenspike/attack_paw(mob/user)
- return src.attack_hand(usr)
-
-
-/obj/structure/kitchenspike/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/crowbar))
- if(!has_buckled_mobs())
- playsound(loc, I.usesound, 100, 1)
- if(do_after(user, 20*I.toolspeed, target = src))
- to_chat(user, "You pry the spikes out of the frame.")
- deconstruct(TRUE)
- else
- to_chat(user, "You can't do that while something's on the spike!")
- else
- return ..()
-
-/obj/structure/kitchenspike/attack_hand(mob/user)
- if(VIABLE_MOB_CHECK(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs())
- var/mob/living/L = user.pulling
- if(do_mob(user, src, 120))
- if(has_buckled_mobs()) //to prevent spam/queing up attacks
- return
- if(L.buckled)
- return
- if(user.pulling != L)
- return
- playsound(src.loc, 'sound/effects/splat.ogg', 25, 1)
- L.visible_message("[user] slams [L] onto the meat spike!", "[user] slams you onto the meat spike!", "You hear a squishy wet noise.")
- L.loc = src.loc
- L.emote("scream")
- L.add_splatter_floor()
- L.adjustBruteLoss(30)
- L.setDir(2)
- buckle_mob(L, force=1)
- var/matrix/m180 = matrix(L.transform)
- m180.Turn(180)
- animate(L, transform = m180, time = 3)
- L.pixel_y = L.get_standard_pixel_y_offset(180)
- else if (has_buckled_mobs())
- for(var/mob/living/L in buckled_mobs)
- user_unbuckle_mob(L, user)
- else
- ..()
-
-
-
-/obj/structure/kitchenspike/user_buckle_mob(mob/living/M, mob/living/user) //Don't want them getting put on the rack other than by spiking
- return
-
-/obj/structure/kitchenspike/user_unbuckle_mob(mob/living/buckled_mob, mob/living/carbon/human/user)
- if(buckled_mob)
- var/mob/living/M = buckled_mob
- if(M != user)
- M.visible_message(\
- "[user.name] tries to pull [M.name] free of the [src]!",\
- "[user.name] is trying to pull you off the [src], opening up fresh wounds!",\
- "You hear a squishy wet noise.")
- if(!do_after(user, 300, target = src))
- if(M && M.buckled)
- M.visible_message(\
- "[user.name] fails to free [M.name]!",\
- "[user.name] fails to pull you off of the [src].")
- return
-
- else
- M.visible_message(\
- "[M.name] struggles to break free from the [src]!",\
- "You struggle to break free from the [src], exacerbating your wounds! (Stay still for two minutes.)",\
- "You hear a wet squishing noise..")
- M.adjustBruteLoss(30)
- if(!do_after(M, 1200, target = src))
- if(M && M.buckled)
- to_chat(M, "You fail to free yourself!")
- return
- if(!M.buckled)
- return
- var/matrix/m180 = matrix(M.transform)
- m180.Turn(180)
- animate(M, transform = m180, time = 3)
- M.pixel_y = M.get_standard_pixel_y_offset(180)
- M.adjustBruteLoss(30)
- src.visible_message(text("[M] falls free of the [src]!"))
- unbuckle_mob(M,force=1)
- M.emote("scream")
- M.AdjustKnockdown(20)
-
-/obj/structure/kitchenspike/deconstruct(disassembled = TRUE)
- if(disassembled)
- var/obj/F = new /obj/structure/kitchenspike_frame(src.loc)
- transfer_fingerprints_to(F)
- else
- new /obj/item/stack/sheet/metal(src.loc, 4)
- new /obj/item/stack/rods(loc, 4)
- qdel(src)
-
-#undef VIABLE_MOB_CHECK
-=======
buckle_lying = 0
can_buckle = 1
max_integrity = 250
@@ -252,4 +149,3 @@
qdel(src)
#undef VIABLE_MOB_CHECK
->>>>>>> 7998a3c... Merge pull request #31601 from AutomaticFrenzy/patch/thethe