mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-02 13:42:32 +00:00
The plating in the maintenance bar now has the correct icon when given tiles. Borgs can no longer add their modules to carts. The hand teleporter now recharges properly again.
56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
/obj/effect/portal
|
|
name = "portal"
|
|
desc = "Looks unstable. Best to test it with the clown."
|
|
icon = 'icons/obj/stationobjs.dmi'
|
|
icon_state = "portal"
|
|
density = 1
|
|
unacidable = 1//Can't destroy energy portals.
|
|
var/failchance = 5
|
|
var/obj/item/target = null
|
|
var/creator = null
|
|
anchored = 1.0
|
|
|
|
/obj/effect/portal/Bumped(mob/M as mob|obj)
|
|
spawn(0)
|
|
src.teleport(M)
|
|
return
|
|
return
|
|
|
|
/obj/effect/portal/Crossed(AM as mob|obj)
|
|
spawn(0)
|
|
src.teleport(AM)
|
|
return
|
|
return
|
|
|
|
/obj/effect/portal/New()
|
|
portals += src
|
|
spawn(300)
|
|
qdel(src)
|
|
return
|
|
return
|
|
|
|
/obj/effect/portal/Destroy()
|
|
portals -= src
|
|
if(istype(creator, /obj/item/weapon/hand_tele))
|
|
var/obj/item/weapon/hand_tele/O = creator
|
|
O.active_portals--
|
|
return ..()
|
|
|
|
/obj/effect/portal/proc/teleport(atom/movable/M as mob|obj)
|
|
if(istype(M, /obj/effect)) //sparks don't teleport
|
|
return
|
|
if (M.anchored&&istype(M, /obj/mecha))
|
|
return
|
|
if (icon_state == "portal1")
|
|
return
|
|
if (!( target ))
|
|
del(src)
|
|
return
|
|
if (istype(M, /atom/movable))
|
|
if(prob(failchance)) //oh dear a problem, put em in deep space
|
|
src.icon_state = "portal1"
|
|
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy -5), 3), 0)
|
|
else
|
|
do_teleport(M, target, 1) ///You will appear adjacent to the beacon
|
|
|