diff --git a/baystation12.dme b/baystation12.dme
index 57711d68ba..ff27aacf3f 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1260,10 +1260,6 @@
#include "code\modules\surgery\ribcage.dm"
#include "code\modules\surgery\robolimbs.dm"
#include "code\modules\surgery\surgery.dm"
-#include "code\modules\telesci\bscrystal.dm"
-#include "code\modules\telesci\gps.dm"
-#include "code\modules\telesci\telepad.dm"
-#include "code\modules\telesci\telesci_computer.dm"
#include "code\modules\virus2\analyser.dm"
#include "code\modules\virus2\antibodies.dm"
#include "code\modules\virus2\centrifuge.dm"
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index fdd840589d..8f769a6046 100755
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -1373,10 +1373,6 @@ var/list/ghostteleportlocs = list()
name = "\improper Miscellaneous Research"
icon_state = "toxmisc"
-/area/toxins/telesci
- name = "\improper Telescience Lab"
- icon_state = "toxmisc"
-
/area/toxins/server
name = "\improper Server Room"
icon_state = "server"
diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm
index b31914a81e..e7f45999a4 100644
--- a/code/modules/mining/abandonedcrates.dm
+++ b/code/modules/mining/abandonedcrates.dm
@@ -43,10 +43,7 @@
if(10)
for(var/i = 0, i < 3, i++)
new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src)
- if(11 to 12)
- for(var/i = 0, i < 9, i++)
- new/obj/item/bluespace_crystal(src)
- if(13)
+ if(11 to 13)
new/obj/item/weapon/melee/classic_baton(src)
if(14)
return
diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm
deleted file mode 100644
index d9e968f4da..0000000000
--- a/code/modules/telesci/bscrystal.dm
+++ /dev/null
@@ -1,38 +0,0 @@
-// Bluespace crystals, used in telescience and when crushed it will blink you to a random turf.
-
-/obj/item/bluespace_crystal
- name = "bluespace crystal"
- desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate."
- icon = 'icons/obj/telescience.dmi'
- icon_state = "bluespace_crystal"
- w_class = 1
- origin_tech = "bluespace=4;materials=3"
- var/blink_range = 8 // The teleport range when crushed/thrown at someone.
-
-/obj/item/bluespace_crystal/New()
- ..()
- pixel_x = rand(-5, 5)
- pixel_y = rand(-5, 5)
-
-/obj/item/bluespace_crystal/attack_self(var/mob/user)
- blink_mob(user)
- user.drop_item()
- user.visible_message("[user] crushes the [src]!")
- del(src)
-
-/obj/item/bluespace_crystal/proc/blink_mob(var/mob/living/L)
- do_teleport(L, get_turf(L), blink_range, asoundin = 'sound/effects/phasein.ogg')
-
-/obj/item/bluespace_crystal/throw_impact(atom/hit_atom)
- ..()
- if(isliving(hit_atom))
- blink_mob(hit_atom)
- del(src)
-
-// Artifical bluespace crystal, doesn't give you much research.
-
-/obj/item/bluespace_crystal/artificial
- name = "artificial bluespace crystal"
- desc = "An artificially made bluespace crystal, it looks delicate."
- origin_tech = "bluespace=2"
- blink_range = 4 // Not as good as the organic stuff!
\ No newline at end of file
diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm
deleted file mode 100644
index 94ea86e23d..0000000000
--- a/code/modules/telesci/gps.dm
+++ /dev/null
@@ -1,70 +0,0 @@
-var/list/GPS_list = list()
-/obj/item/device/gps
- name = "global positioning system"
- desc = "Helping lost spacemen find their way through the planets since 2016."
- icon = 'icons/obj/telescience.dmi'
- icon_state = "gps-c"
- w_class = 2.0
- flags = FPRINT | TABLEPASS
- slot_flags = SLOT_BELT
- origin_tech = "programming=2;engineering=2"
- var/gpstag = "COM0"
- var/emped = 0
-
-/obj/item/device/gps/New()
- ..()
- GPS_list.Add(src)
- name = "global positioning system ([gpstag])"
- overlays += "working"
-/obj/item/device/gps/Del()
- GPS_list.Remove(src)
- ..()
-/obj/item/device/gps/emp_act(severity)
- emped = 1
- overlays -= "working"
- overlays += "emp"
- spawn(300)
- emped = 0
- overlays -= "emp"
- overlays += "working"
-
-/obj/item/device/gps/attack_self(mob/user as mob)
-
- var/obj/item/device/gps/t = ""
- if(emped)
- t += "ERROR"
- else
- t += "
Set Tag "
- t += "
Tag: [gpstag]"
-
- for(var/obj/item/device/gps/G in GPS_list)
- var/turf/pos = get_turf(G)
- var/area/gps_area = get_area(G)
- var/tracked_gpstag = G.gpstag
- if(G.emped == 1)
- t += "
[tracked_gpstag]: ERROR"
- else
- t += "
[tracked_gpstag]: [format_text(gps_area.name)] ([pos.x], [pos.y], [pos.z])"
-
- var/datum/browser/popup = new(user, "GPS", name, 600, 450)
- popup.set_content(t)
- popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
- popup.open()
-
-/obj/item/device/gps/Topic(href, href_list)
- ..()
- if(href_list["tag"] )
- var/a = input("Please enter desired tag.", name, gpstag) as text
- a = uppertext(copytext(sanitize(a), 1, 5))
- if(src.loc == usr)
- gpstag = a
- name = "global positioning system ([gpstag])"
- attack_self(usr)
-
-/obj/item/device/gps/science
- icon_state = "gps-s"
- gpstag = "SCI0"
-
-/obj/item/device/gps/engineering
- icon_state = "gps-e"
- gpstag = "ENG0"
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
deleted file mode 100644
index c54d079afd..0000000000
--- a/code/modules/telesci/telepad.dm
+++ /dev/null
@@ -1,122 +0,0 @@
-///SCI TELEPAD///
-/obj/machinery/telepad
- name = "telepad"
- desc = "A bluespace telepad used for teleporting objects to and from a location."
- icon = 'icons/obj/telescience.dmi'
- icon_state = "pad-idle"
- anchored = 1
- use_power = 1
- idle_power_usage = 200
- active_power_usage = 5000
-//CARGO TELEPAD//
-/obj/machinery/telepad_cargo
- name = "cargo telepad"
- desc = "A telepad used by the Rapid Crate Sender."
- icon = 'icons/obj/telescience.dmi'
- icon_state = "pad-idle"
- anchored = 1
- use_power = 1
- idle_power_usage = 20
- active_power_usage = 500
- var/stage = 0
-/obj/machinery/telepad_cargo/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(istype(W, /obj/item/weapon/wrench))
- anchored = 0
- playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
- if(anchored)
- anchored = 0
- user << " The [src] can now be moved."
- else if(!anchored)
- anchored = 1
- user << " The [src] is now secured."
- if(istype(W, /obj/item/weapon/screwdriver))
- if(stage == 0)
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
- user << " You unscrew the telepad's tracking beacon."
- stage = 1
- else if(stage == 1)
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
- user << " You screw in the telepad's tracking beacon."
- stage = 0
- if(istype(W, /obj/item/weapon/weldingtool) && stage == 1)
- playsound(src, 'sound/items/Welder.ogg', 50, 1)
- user << " You disassemble the telepad."
- new /obj/item/stack/sheet/metal(get_turf(src))
- new /obj/item/stack/sheet/glass(get_turf(src))
- del(src)
-
-///TELEPAD CALLER///
-/obj/item/device/telepad_beacon
- name = "telepad beacon"
- desc = "Use to warp in a cargo telepad."
- icon = 'icons/obj/radio.dmi'
- icon_state = "beacon"
- item_state = "signaler"
- origin_tech = "bluespace=3"
-
-/obj/item/device/telepad_beacon/attack_self(mob/user as mob)
- if(user)
- user << " Locked In"
- new /obj/machinery/telepad_cargo(user.loc)
- playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
- del(src)
- return
-
-///HANDHELD TELEPAD USER///
-/obj/item/weapon/rcs
- name = "rapid-crate-sender (RCS)"
- desc = "Use this to send crates and closets to cargo telepads."
- icon = 'icons/obj/telescience.dmi'
- icon_state = "rcs"
- flags = FPRINT | TABLEPASS| CONDUCT
- force = 10.0
- throwforce = 10.0
- throw_speed = 1
- throw_range = 5
- var/rcharges = 10
- var/obj/machinery/pad = null
- var/last_charge = 30
- var/mode = 0
- var/rand_x = 0
- var/rand_y = 0
- var/emagged = 0
- var/teleporting = 0
-
-/obj/item/weapon/rcs/New()
- ..()
- processing_objects.Add(src)
-/obj/item/weapon/rcs/examine()
- desc = "Use this to send crates and closets to cargo telepads. There are [rcharges] charges left."
- ..()
-
-/obj/item/weapon/rcs/Del()
- processing_objects.Remove(src)
- ..()
-/obj/item/weapon/rcs/process()
- if(rcharges > 10)
- rcharges = 10
- if(last_charge == 0)
- rcharges++
- last_charge = 30
- else
- last_charge--
-
-/obj/item/weapon/rcs/attack_self(mob/user)
- if(emagged)
- if(mode == 0)
- mode = 1
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- user << " The telepad locator has become uncalibrated."
- else
- mode = 0
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- user << " You calibrate the telepad locator."
-
-/obj/item/weapon/rcs/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/weapon/card/emag) && emagged == 0)
- emagged = 1
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(5, 1, src)
- s.start()
- user << " You emag the RCS. Click on it to toggle between modes."
- return
\ No newline at end of file
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
deleted file mode 100644
index 06f968b5f1..0000000000
--- a/code/modules/telesci/telesci_computer.dm
+++ /dev/null
@@ -1,312 +0,0 @@
-/obj/machinery/computer/telescience
- name = "\improper Telepad Control Console"
- desc = "Used to teleport objects to and from the telescience telepad."
- icon_state = "teleport"
- var/sending = 1
- var/obj/machinery/telepad/telepad = null
- var/temp_msg = "Telescience control console initialized.
Welcome."
-
- // VARIABLES //
- var/teles_left // How many teleports left until it becomes uncalibrated
- var/datum/projectile_data/last_tele_data = null
- var/z_co = 1
- var/power_off
- var/rotation_off
- var/angle_off
-
- var/rotation = 0
- var/angle = 45
- var/power
-
- // Based on the power used
- var/teleport_cooldown = 0
- var/list/power_options = list(5, 10, 20, 25, 30, 40, 50, 80, 100) // every index requires a bluespace crystal
- var/teleporting = 0
- var/starting_crystals = 3
- var/list/crystals = list()
-
-/obj/machinery/computer/telescience/New()
- ..()
- link_telepad()
- recalibrate()
-
-/obj/machinery/computer/telescience/Del()
- eject()
- ..()
-
-/obj/machinery/computer/telescience/examine()
- ..()
- usr << "There are [crystals.len] bluespace crystals in the crystal ports."
-
-/obj/machinery/computer/telescience/initialize()
- ..()
- link_telepad()
- for(var/i = 1; i <= starting_crystals; i++)
- crystals += new /obj/item/bluespace_crystal/artificial(null) // starting crystals
- power = power_options[1]
-
-/obj/machinery/computer/telescience/proc/link_telepad()
- telepad = locate() in range(src, 7)
-
-/obj/machinery/computer/telescience/update_icon()
- if(stat & BROKEN)
- icon_state = "telescib"
- else
- if(stat & NOPOWER)
- src.icon_state = "teleport0"
- stat |= NOPOWER
- else
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
-
-/obj/machinery/computer/telescience/attack_paw(mob/user)
- user << "You are too primitive to use this computer."
- return
-
-/obj/machinery/computer/telescience/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/bluespace_crystal))
- if(crystals.len >= power_options.len)
- user << "There are not enough crystal ports."
- return
- user.drop_item()
- crystals += W
- W.loc = null
- user.visible_message("[user] inserts a [W] into the [src]'s crystal port.")
- else
- ..()
-
-/obj/machinery/computer/telescience/attack_ai(mob/user)
- src.attack_hand(user)
-
-/obj/machinery/computer/telescience/attack_hand(mob/user)
- if(..())
- return
- interact(user)
-
-/obj/machinery/computer/telescience/interact(mob/user)
- user.machine = src
- in_use = 1
-
- var/t = "