diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 17fb0b9745a..501bfaa5db7 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -108,11 +108,9 @@ Frequency: /obj/item/hand_tele/attack_self(mob/user as mob) var/turf/current_location = get_turf(user)//What turf is the user on? - var/area/current_area = get_area(user) - if(!current_location || !is_teleport_allowed(current_location.z) || current_area.tele_proof)//If turf was not found or they're somewhere teleproof + if(!current_location||!is_teleport_allowed(current_location.z))//If turf was not found or they're somewhere teleproof to_chat(user, "\The [src] is malfunctioning.") return - var/list/L = list( ) for(var/obj/machinery/computer/teleporter/com in world) if(com.target) @@ -120,16 +118,13 @@ Frequency: L["[com.id] (Active)"] = com.target else L["[com.id] (Inactive)"] = com.target - var/list/turfs = list() + var/list/turfs = list( ) var/area/A for(var/turf/T in orange(10)) - if(T.x>world.maxx-8 || T.x<8) - continue //putting them at the edge is dumb - if(T.y>world.maxy-8 || T.y<8) - continue + if(T.x>world.maxx-8 || T.x<8) continue //putting them at the edge is dumb + if(T.y>world.maxy-8 || T.y<8) continue A = get_area(T) - if(A.tele_proof == 1) - continue // Telescience-proofed areas require a beacon. + if(A.tele_proof == 1) continue // Telescience-proofed areas require a beacon. turfs += T if(turfs.len) L["None (Dangerous)"] = pick(turfs) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index f4e8e60f948..5b4a35262d7 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -307,21 +307,14 @@ /datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) if(isliving(target)) - var/turf/T = get_turf(target) - var/area/A = get_area(T) - if(!T || !is_teleport_allowed(T.z) || A.tele_proof) - return var/teleport_radius = max(round(G.seed.potency / 10), 1) + var/turf/T = get_turf(target) new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... do_teleport(target, T, teleport_radius) /datum/plant_gene/trait/teleport/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - var/turf/T = get_turf(C) - var/area/A = get_area(T) - if(!T || !is_teleport_allowed(T.z) || A.tele_proof) - qdel(G) - return var/teleport_radius = max(round(G.seed.potency / 10), 1) + var/turf/T = get_turf(C) to_chat(C, "You slip through spacetime!") do_teleport(C, T, teleport_radius) if(prob(50))