Merge pull request #6907 from FalseIncarnate/botany2

Don't Fear the Reaper
This commit is contained in:
Fox McCloud
2017-03-26 18:12:52 -04:00
committed by GitHub
4 changed files with 70 additions and 14 deletions
+10 -13
View File
@@ -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()
@@ -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("<span class='suicide'>[user] is beheading \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
@@ -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, "<span class='warning'>With a flick of your wrist, you extend the scythe. It's reaping time!</span>")
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, "<span class='notice'>You collapse the scythe, folding it away for easy storage.</span>")
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
// *************************************
+1 -1
View File
@@ -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))