mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
split teleportation changes out into another PR
This commit is contained in:
@@ -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, "<span class='notice'>\The [src] is malfunctioning.</span>")
|
||||
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)
|
||||
|
||||
@@ -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, "<span class='warning'>You slip through spacetime!</span>")
|
||||
do_teleport(C, T, teleport_radius)
|
||||
if(prob(50))
|
||||
|
||||
Reference in New Issue
Block a user