From c7e3b72888db44361c5bc4120efd50debd730ee2 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Mon, 23 Apr 2018 15:34:58 +0300 Subject: [PATCH] It started in a tavern on the edge of Macke town (#37362) --- code/modules/hydroponics/grown.dm | 7 ------ code/modules/hydroponics/growninedible.dm | 7 ------ code/modules/hydroponics/plant_genes.dm | 29 ++++++++++------------- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index e632ccf297..c102c03873 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -126,13 +126,6 @@ T.on_consume(src, usr) ..() -/obj/item/reagent_containers/food/snacks/grown/Crossed(atom/movable/AM) - if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_cross(src, AM) - ..() - - /obj/item/reagent_containers/food/snacks/grown/generate_trash(atom/location) if(trash && ispath(trash, /obj/item/grown)) . = new trash(location, seed) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 1c53f296cc..76e42c722b 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -47,13 +47,6 @@ return 1 return 0 - -/obj/item/grown/Crossed(atom/movable/AM) - if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_cross(src, AM) - ..() - /obj/item/grown/throw_impact(atom/hit_atom) if(!..()) //was it caught by a mob? if(seed) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 563af7866f..97bf2a31b9 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -161,9 +161,6 @@ /datum/plant_gene/trait/proc/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return -/datum/plant_gene/trait/proc/on_cross(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - return - /datum/plant_gene/trait/proc/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return @@ -190,23 +187,21 @@ rate = 1.6 examine_line = "It has a very slippery skin." -/datum/plant_gene/trait/slip/on_cross(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(iscarbon(target)) - var/obj/item/seeds/seed = G.seed - var/mob/living/carbon/M = target +/datum/plant_gene/trait/slip/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) + ..() + if(istype(G) && ispath(G.trash, /obj/item/grown)) + return + var/obj/item/seeds/seed = G.seed + var/stun_len = seed.potency * rate - if(istype(G) && ispath(G.trash, /obj/item/grown)) - return - var/stun_len = seed.potency * rate + if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent("lube"))) + stun_len /= 3 - if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent("lube"))) - stun_len /= 3 + G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, .proc/handle_slip, G)) - var/knockdown = min(stun_len, 140) - - if(M.slip(knockdown, G)) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_slip(G, M) +/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M) + for(var/datum/plant_gene/trait/T in G.seed.genes) + T.on_slip(G, M) /datum/plant_gene/trait/cell_charge // Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten.