/* CONTAINS: Plant-B-Gone Nettle Deathnettle Craftables (Cob pipes, potato batteries, pumpkinheads) */ // Plant-B-Gone /obj/item/weapon/plantbgone/New() var/datum/reagents/R = new/datum/reagents(100) // 100 units of solution reagents = R R.my_atom = src R.add_reagent("plantbgone", 100) /obj/item/weapon/plantbgone/attack(mob/living/carbon/human/M as mob, mob/user as mob) return /obj/item/weapon/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob) if (istype(A, /obj/item/weapon/storage/backpack )) return else if (locate (/obj/structure/table, src.loc)) return else if (src.reagents.total_volume < 1) src.empty = 1 user << "\blue Add more Plant-B-Gone mixture!" return else src.empty = 0 if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray return else if (istype(A, /obj/effect/blob)) // blob damage in blob code return else var/obj/effect/decal/D = new/obj/effect/decal/(get_turf(src)) // Targeting elsewhere D.name = "chemicals" D.icon = 'icons/obj/chemical.dmi' D.icon_state = "weedpuff" D.create_reagents(5) src.reagents.trans_to(D, 5) // 5 units of solution used at a time => 20 uses playsound(src.loc, 'spray3.ogg', 50, 1, -6) spawn(0) for(var/i=0, i<3, i++) // Max range = 3 tiles step_towards(D,A) // Moves towards target as normally (not thru walls) D.reagents.reaction(get_turf(D)) for(var/atom/T in get_turf(D)) D.reagents.reaction(T) sleep(4) del(D) if((src.reagents.has_reagent("pacid")) || (src.reagents.has_reagent("lube"))) // Messages admins if someone sprays polyacid or space lube from a Plant-B-Gone bottle. message_admins("[key_name_admin(user)] fired Polyacid/Space lube from a PlantBGone bottle.") // Polymorph log_game("[key_name(user)] fired Polyacid/Space lube from a PlantBGone bottle.") return /obj/item/weapon/plantbgone/examine() set src in usr ..() if(!(usr in view(2)) && usr!=src.loc) return usr << "\blue The Plant-B-Gone bottle contains:" if(reagents && reagents.reagent_list.len) for(var/datum/reagent/R in reagents.reagent_list) usr << "\blue [R.volume] units of [R.name]" else usr << "\blue Nothing." return // Sunflower /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]" // 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/datum/organ/external/affecting = user.get_organ(organ) if(affecting.take_damage(0,force)) user.UpdateDamageIcon() else user.take_organ_damage(0,force) /obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user as mob) 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 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/datum/organ/external/affecting = user.get_organ(organ) if(affecting.take_damage(0,force)) user.UpdateDamageIcon() 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])") 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) 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) //Crafting /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/pipe/cobpipe (user.loc) del(src) return /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/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/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy)) user.show_message("You carve a face into [src]!", 1) new /obj/item/clothing/head/pumpkinhead (user.loc) del(src) return /obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(istype(W, /obj/item/weapon/cable_coil)) if(W:amount >= 5) W:amount -= 5 if(!W:amount) del(W) user << "You add some cable to the potato and slide it inside the battery encasing." new /obj/item/weapon/cell/potato(user.loc) del(src) return