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