/* Hydroponic Item Procs and Stuff * Contains: * Sunflowers Novaflowers Nettle Deathnettle Corncob */ //Sun/Novaflower /obj/item/weapon/grown/sunflower/attack(mob/M as mob, mob/user as mob) M << " [user] smacks you with a sunflower!FLOWER POWER" user << " Your sunflower's FLOWER POWER strikes [M]" /obj/item/weapon/grown/novaflower/attack(mob/living/carbon/M as mob, mob/user as mob) if(!..()) return if(istype(M, /mob/living)) M << "\red You are heated by the warmth of the of the [name]!" M.bodytemperature += potency/2 * TEMPERATURE_DAMAGE_COEFFICIENT /obj/item/weapon/grown/novaflower/afterattack(atom/A as mob|obj, mob/user as mob,proximity) if(!proximity) return if(endurance > 0) endurance -= rand(1,(endurance/3)+1) else usr << "All the petals have fallen off the [name] from violent whacking." del(src) /obj/item/weapon/grown/novaflower/pickup(mob/living/carbon/human/user as mob) if(!user.gloves) user << "\red The [name] burns your bare hand!" user.adjustFireLoss(rand(1,5)) //Nettle /obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob) if(!user.gloves) user << "\red The nettle burns your bare hand!" if(istype(user, /mob/living/carbon/human)) var/organ = ((user.hand ? "l_":"r_") + "arm") var/obj/item/organ/limb/affecting = user.get_organ(organ) if(affecting.take_damage(0,force)) user.update_damage_overlays(0) else user.take_organ_damage(0,force) /obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user as mob,proximity) if(!proximity) return if(force > 0) force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) else usr << "All the leaves have fallen off the nettle from violent whacking." del(src) /obj/item/weapon/grown/nettle/changePotency(newValue) //-QualityVan potency = newValue force = round((5+potency/5), 1) //Deathnettle /obj/item/weapon/grown/deathnettle/pickup(mob/living/carbon/human/user as mob) if(!user.gloves) if(istype(user, /mob/living/carbon/human)) var/organ = ((user.hand ? "l_":"r_") + "arm") var/obj/item/organ/limb/affecting = user.get_organ(organ) if(affecting.take_damage(0,force)) user.update_damage_overlays(0) else user.take_organ_damage(0,force) if(prob(50)) user.Paralyse(5) user << "\red You are stunned by the Deathnettle when you try picking it up!" /obj/item/weapon/grown/deathnettle/attack(mob/living/carbon/M as mob, mob/user as mob) if(!..()) return if(istype(M, /mob/living)) M << "\red You are stunned by the powerful acid of the Deathnettle!" M.attack_log += text("\[[time_stamp()]\] Had the [src.name] used on them by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [src.name] on [M.name] ([M.ckey])") log_attack(" [user.name] ([user.ckey]) used the [src.name] on [M.name] ([M.ckey])") playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) M.eye_blurry += force/7 if(prob(20)) M.Paralyse(force/6) M.Weaken(force/15) M.drop_item() /obj/item/weapon/grown/deathnettle/afterattack(atom/A as mob|obj, mob/user as mob,proximity) if(!proximity) return if (force > 0) force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off else usr << "All the leaves have fallen off the deathnettle from violent whacking." del(src) /obj/item/weapon/grown/deathnettle/changePotency(newValue) //-QualityVan potency = newValue force = round((5+potency/2.5), 1) //Corncob /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) del(src) return //Bluespace Tomatoes /obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato/throw_impact(atom/hit_atom) ..() var/mob/M = usr var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport. var/inner_teleport_radius = potency/15 var/list/turfs = new/list() var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats. new/obj/effect/decal/cleanable/oil(src.loc) src.visible_message("The [src.name] has been squashed.","You hear a smack.") del(src) return for(var/turf/T in orange(M,outer_teleport_radius)) if(T in orange(M,inner_teleport_radius)) continue if(istype(T,/turf/space)) continue if(T.density) continue if(T.x>world.maxx-outer_teleport_radius || T.xworld.maxy-outer_teleport_radius || T.yThe [src.name] has been squashed, causing a distortion in space-time.","You hear a splat and a crackle.") del(src) return