diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index d0e9b27eb5a..0aac60319b8 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -488,18 +488,15 @@
var/force = W.force
if(istype(W, /obj/item/weapon/scythe))
- force = force * 4
- for(var/obj/effect/spacevine/B in orange(1,src))
- B.health = health - force
- if(B.health < 1)
- wither()
-
- health = health - force
-
- if(health < 1)
- wither()
-
- return
+ var/obj/item/weapon/scythe/S = W
+ if(S.extend) //so folded telescythes won't get damage boosts / insta-clears (they instead will instead be treated like non-scythes)
+ force = force * 4
+ for(var/obj/effect/spacevine/B in range(1,src))
+ if(B.health > force) //this only is going to occur for woodening mutation vines (increased health) or if we nerf scythe damage/multiplier
+ B.health -= force
+ else
+ B.wither()
+ return
if(is_sharp(W))
force = force * 4
@@ -510,7 +507,7 @@
for(var/datum/spacevine_mutation/SM in mutations)
force = SM.on_hit(src, user, W, force) //on_hit now takes override damage as arg and returns new value for other mutations to permutate further
- health = health - force
+ health -= force
if(health < 1)
wither()
diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm
index 7ff1d4ae0d9..608c52bfcb4 100644
--- a/code/modules/hydroponics/hydroitemdefines.dm
+++ b/code/modules/hydroponics/hydroitemdefines.dm
@@ -120,6 +120,7 @@
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 1
edge = 1
+ var/extend = 1
/obj/item/weapon/scythe/suicide_act(mob/user)
user.visible_message("[user] is beheading \himself with the [src.name]! It looks like \he's trying to commit suicide.")
@@ -131,6 +132,64 @@
playsound(loc, pick('sound/misc/desceration-01.ogg','sound/misc/desceration-02.ogg','sound/misc/desceration-01.ogg'), 50, 1, -1)
return (BRUTELOSS)
+/obj/item/weapon/scythe/tele
+ icon_state = "tscythe0"
+ item_state = null //no sprite for folded version, like a tele-baton
+ name = "telescopic scythe"
+ desc = "A sharp and curved blade on a collapsable fibre metal handle, this tool is the pinnacle of covert reaping technology."
+ force = 3
+ sharp = 0
+ edge = 0
+ w_class = 2
+ extend = 0
+ slot_flags = SLOT_BELT
+ origin_tech = "materials=3;combat=3"
+ attack_verb = list("hit", "poked")
+ hitsound = "swing_hit"
+
+/obj/item/weapon/scythe/tele/attack_self(mob/user)
+ extend = !extend
+ if(extend)
+ to_chat(user, "With a flick of your wrist, you extend the scythe. It's reaping time!")
+ icon_state = "tscythe1"
+ item_state = "scythe0" //use the normal scythe in-hands
+ slot_flags = SLOT_BACK //won't fit on belt, but can be worn on belt when extended
+ w_class = 4 //won't fit in backpacks while extended
+ force = 15 //slightly better than normal scythe damage
+ attack_verb = list("chopped", "sliced", "cut", "reaped")
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ //Extend sound (blade unsheath)
+ playsound(src.loc, 'sound/weapons/blade_unsheath.ogg', 50, 1) //Sound credit to Qat of Freesound.org
+ else
+ to_chat(user, "You collapse the scythe, folding it away for easy storage.")
+ icon_state = "tscythe0"
+ item_state = null //no sprite for folded version, like a tele-baton
+ slot_flags = SLOT_BELT //can be worn on belt again, but no longer makes sense to wear on the back
+ w_class = 2
+ force = 3
+ attack_verb = list("hit", "poked")
+ hitsound = "swing_hit"
+ //Collapse sound (blade sheath)
+ playsound(src.loc, 'sound/weapons/blade_sheath.ogg', 50, 1) //Sound credit to Q.K. of Freesound.org
+ sharp = extend
+ edge = extend
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ H.update_inv_l_hand()
+ H.update_inv_r_hand()
+ add_fingerprint(user)
+ if(!blood_DNA)
+ return
+ if(blood_overlay && (blood_DNA.len >= 1)) //updated blood overlay, if any
+ overlays.Cut() //this might delete other item overlays as well but eeeeeh
+
+ var/icon/I = new /icon(icon, icon_state)
+ I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)), ICON_ADD)
+ I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"), ICON_MULTIPLY)
+ blood_overlay = I
+ overlays += blood_overlay
+
+
// *************************************
// Nutrient defines for hydroponics
// *************************************
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 2adfb1f6226..21a810d7b2f 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -1003,7 +1003,7 @@
if(istype(mover) && mover.checkpass(PASSTABLE))
return 1
else
- return 0
+ return ..()
/obj/machinery/hydroponics/attack_animal(mob/living/user)
if(istype(user, /mob/living/simple_animal/diona))
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 7764cd6d0c5..1c4472d5299 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ