Ports "Bluespace research updates" and "Teleportation standardization, channels, and interception"
This commit is contained in:
@@ -460,6 +460,16 @@
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/quantum_keycard
|
||||
name = "Quantum Keycard"
|
||||
desc = "Allows for the construction of a quantum keycard."
|
||||
id = "quantum_keycard"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 500, MAT_METAL = 500, MAT_SILVER = 500, MAT_BLUESPACE = 1000)
|
||||
build_path = /obj/item/quantum_keycard
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/anomaly_neutralizer
|
||||
name = "Anomaly Neutralizer"
|
||||
desc = "An advanced tool capable of instantly neutralizing anomalies, designed to capture the fleeting aberrations created by the engine."
|
||||
|
||||
@@ -651,7 +651,7 @@
|
||||
if(loc == user && !is_centcom_level(userturf.z)) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you!
|
||||
visible_message("<span class='notice'>[src] twists and bends, relocating itself!</span>")
|
||||
throwSmoke(userturf)
|
||||
do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg')
|
||||
do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
|
||||
throwSmoke(get_turf(user))
|
||||
warn_admins(user, "Teleport", 0)
|
||||
|
||||
|
||||
@@ -227,33 +227,42 @@
|
||||
display_name = "Basic Bluespace Theory"
|
||||
description = "Basic studies into the mysterious alternate dimension known as bluespace."
|
||||
prereq_ids = list("base", "datatheory")
|
||||
design_ids = list("beacon", "xenobioconsole", "telesci_gps")
|
||||
design_ids = list("beacon", "xenobioconsole", "telesci_gps", "bluespace_crystal", "xenobio_monkeys")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/bluespace_travel
|
||||
id = "bluespace_travel"
|
||||
display_name = "Bluespace Travel"
|
||||
description = "Application of Bluespace for static teleportation technology."
|
||||
prereq_ids = list("practical_bluespace")
|
||||
design_ids = list("tele_station", "tele_hub", "quantumpad", "launchpad", "launchpad_console", "bluespace_pod")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/micro_bluespace
|
||||
id = "micro_bluespace"
|
||||
display_name = "Miniaturized Bluespace Research"
|
||||
description = "Extreme reduction in space required for bluespace engines, leading to portable bluespace technology."
|
||||
prereq_ids = list("bluespace_travel", "practical_bluespace", "high_efficiency")
|
||||
design_ids = list("bluespace_matter_bin", "femto_mani", "triphasic_scanning", "bag_holding", "quantum_keycard", "wormholeprojector", "xenobio_slimeadv")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/practical_bluespace
|
||||
id = "practical_bluespace"
|
||||
display_name = "Applied Bluespace Research"
|
||||
description = "Using bluespace to make things faster and better."
|
||||
prereq_ids = list("bluespace_basic", "engineering")
|
||||
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart")
|
||||
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/adv_bluespace
|
||||
id = "adv_bluespace"
|
||||
display_name = "Advanced Bluespace Research"
|
||||
description = "Deeper understanding of how the Bluespace dimension works"
|
||||
prereq_ids = list("practical_bluespace", "high_efficiency")
|
||||
design_ids = list("bluespace_matter_bin", "femto_mani", "triphasic_scanning", "bluespace_crystal")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/bluespace_power
|
||||
id = "bluespace_power"
|
||||
display_name = "Bluespace Power Technology"
|
||||
description = "Even more powerful.. power!"
|
||||
prereq_ids = list("adv_power", "adv_bluespace")
|
||||
prereq_ids = list("adv_power", "practical_bluespace")
|
||||
design_ids = list("bluespace_cell", "quadratic_capacitor")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user