Ports "Bluespace research updates" and "Teleportation standardization, channels, and interception"

This commit is contained in:
Ghommie
2019-07-31 18:56:00 +02:00
parent 3d597ea508
commit ec2a3ea778
48 changed files with 258 additions and 141 deletions
@@ -680,7 +680,7 @@ datum/status_effect/stabilized/blue/on_remove()
if(!F)
F = get_turf(owner)
range = 50
if(do_teleport(owner, F, range))
if(do_teleport(owner, F, range, channel = TELEPORT_CHANNEL_BLUESPACE))
to_chat(owner, "<span class='notice'>[linked_extract] will take some time to re-align you on the bluespace axis.</span>")
do_sparks(5,FALSE,owner)
owner.apply_status_effect(/datum/status_effect/bluespacestabilization)
@@ -144,7 +144,7 @@ Burning extracts:
user.visible_message("<span class='danger'>[src] sparks, and lets off a shockwave of bluespace energy!</span>")
for(var/mob/living/L in range(1, get_turf(user)))
if(L != user)
do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg') //Somewhere between the effectiveness of fake and real BS crystal
do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //Somewhere between the effectiveness of fake and real BS crystal
new /obj/effect/particle_effect/sparks(get_turf(L))
playsound(get_turf(L), "sparks", 50, 1)
..()
@@ -232,7 +232,7 @@ Consuming extracts:
L.Cut(I,I+1)
if(target)
do_teleport(M, target, 0, asoundin = 'sound/effects/phasein.ogg')
do_teleport(M, target, 0, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
new /obj/effect/particle_effect/sparks(get_turf(M))
playsound(get_turf(M), "sparks", 50, 1)
@@ -494,7 +494,7 @@
to_chat(user, "<span class='warning'>You feel your body vibrating...</span>")
if(do_after(user, 25, target = user))
to_chat(user, "<span class='warning'>You teleport!</span>")
do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg')
do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
return 300
if(SLIME_ACTIVATE_MAJOR)
@@ -510,7 +510,7 @@
if(teleport_x && teleport_y && teleport_z)
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
to_chat(user, "<span class='notice'>You snap back to your anchor point!</span>")
do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg')
do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
return 450