From 7df5e186a0f9d36ada96fcaec000aa89a07e991a Mon Sep 17 00:00:00 2001
From: Contrabang <91113370+Contrabang@users.noreply.github.com>
Date: Wed, 12 Jun 2024 14:00:08 -0400
Subject: [PATCH] Beacons are no longer radios (#25559)
* lets goooo
* name change
* yes
* dgamer review
* Update code/modules/projectiles/projectile/special_projectiles.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
---------
Signed-off-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
---
.../RandomRuins/SpaceRuins/abandonedtele.dmm | 2 +-
.../RandomRuins/SpaceRuins/spacebar.dmm | 2 +-
_maps/map_files/generic/Lavaland.dmm | 2 +-
_maps/map_files/generic/centcomm.dmm | 10 +--
_maps/map_files/stations/boxstation.dmm | 12 ++--
_maps/map_files/stations/cerestation.dmm | 10 +--
_maps/map_files/stations/deltastation.dmm | 20 +++---
_maps/map_files/stations/metastation.dmm | 18 ++---
_maps/map_files/templates/biodome_beach.dmm | 2 +-
code/datums/uplink_items/uplink_general.dm | 4 +-
code/datums/uplink_items/uplink_traitor.dm | 6 +-
code/game/machinery/Beacon.dm | 4 +-
.../game/machinery/computer/depot_consoles.dm | 2 +-
code/game/machinery/teleporter.dm | 6 +-
code/game/objects/effects/anomalies.dm | 6 +-
.../objects/items/devices/enginepicker.dm | 4 +-
.../objects/items/devices/radio/beacon.dm | 66 ++++++++++---------
.../items/devices/radio/radio_objects.dm | 11 ++--
.../items/weapons/storage/uplink_kits.dm | 2 +-
.../closets/secure/cargo_lockers.dm | 2 +-
.../food_and_drinks/food/foods/meat.dm | 4 +-
.../mining/equipment/wormhole_jaunter.dm | 8 +--
code/modules/mining/machine_vending.dm | 8 +--
.../projectiles/guns/energy/telegun.dm | 2 +-
.../projectile/special_projectiles.dm | 2 +-
.../research/designs/bluespace_designs.dm | 2 +-
code/modules/shuttle/supply.dm | 2 +-
27 files changed, 112 insertions(+), 107 deletions(-)
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedtele.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedtele.dmm
index 59f18712e33..671ac747142 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedtele.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedtele.dmm
@@ -62,7 +62,7 @@
/area/ruin/space/abandtele)
"q" = (
/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plating/airless,
/area/ruin/space/abandtele)
"r" = (
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
index 88ca979c764..ae749ca53ef 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
@@ -593,7 +593,7 @@
},
/area/ruin/space/powered/bar)
"xZ" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm
index ae3ca3c8756..cb35f36cd34 100644
--- a/_maps/map_files/generic/Lavaland.dmm
+++ b/_maps/map_files/generic/Lavaland.dmm
@@ -7922,7 +7922,7 @@
d1 = 1;
d2 = 4
},
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/baseturf_helper/lava_land,
/turf/simulated/floor/plasteel{
dir = 1;
diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index 1ff78da0ea2..f82ce6666f4 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -3127,13 +3127,13 @@
/area/syndicate_mothership)
"kR" = (
/obj/structure/table/reinforced,
-/obj/item/radio/beacon/syndicate/bomb{
+/obj/item/beacon/syndicate/bomb{
pixel_y = 8
},
-/obj/item/radio/beacon/syndicate/bomb{
+/obj/item/beacon/syndicate/bomb{
pixel_y = 4
},
-/obj/item/radio/beacon/syndicate/bomb,
+/obj/item/beacon/syndicate/bomb,
/turf/simulated/floor/plasteel/dark,
/area/syndicate_mothership)
"kS" = (
@@ -6034,10 +6034,10 @@
/area/shuttle/syndicate)
"ur" = (
/obj/structure/table,
-/obj/item/radio/beacon/syndicate/bomb{
+/obj/item/beacon/syndicate/bomb{
pixel_y = 5
},
-/obj/item/radio/beacon/syndicate/bomb,
+/obj/item/beacon/syndicate/bomb,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/syndicate)
"us" = (
diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm
index 2fd6ea67cbe..9716989f6d9 100644
--- a/_maps/map_files/stations/boxstation.dmm
+++ b/_maps/map_files/stations/boxstation.dmm
@@ -18778,7 +18778,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry)
"bgI" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/camera{
c_tag = "Arrivals South"
},
@@ -19794,7 +19794,7 @@
/turf/simulated/floor/wood,
/area/station/service/bar)
"bji" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel,
/area/station/engineering/atmos)
"bjj" = (
@@ -58085,7 +58085,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"glt" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/turf_decal/stripes,
/obj/machinery/camera{
c_tag = "Research Toxins Test Chamber Center";
@@ -71097,7 +71097,7 @@
/turf/simulated/floor/plating,
/area/station/command/office/hop)
"mFb" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -86316,7 +86316,7 @@
},
/area/station/medical/medbay)
"tWz" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
@@ -88437,7 +88437,7 @@
/area/station/science/lobby)
"vfn" = (
/obj/structure/table,
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/status_display{
layer = 4;
pixel_y = 32
diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm
index f2b9f1c217e..e31f07164ed 100644
--- a/_maps/map_files/stations/cerestation.dmm
+++ b/_maps/map_files/stations/cerestation.dmm
@@ -9721,7 +9721,7 @@
/area/station/command/office/cmo)
"bhm" = (
/obj/structure/table,
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/item/radio/intercom{
pixel_x = -28;
name = "custom placement"
@@ -21509,7 +21509,7 @@
/turf/simulated/wall/r_wall,
/area/station/engineering/tech_storage)
"clm" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -51704,7 +51704,7 @@
/turf/simulated/floor/plasteel,
/area/station/service/janitor)
"jwo" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/turf_decal/delivery/red/hollow,
/turf/simulated/floor/plasteel/airless/indestructible,
/area/station/science/toxins/test)
@@ -80704,7 +80704,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/starboard/south)
"sCV" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -91340,7 +91340,7 @@
},
/area/station/security/brig)
"vRR" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm
index ddc73926e49..ba5548912f8 100644
--- a/_maps/map_files/stations/deltastation.dmm
+++ b/_maps/map_files/stations/deltastation.dmm
@@ -1103,7 +1103,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/north)
"ajd" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/turf_decal/delivery,
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
@@ -33931,7 +33931,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"bSh" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -35273,7 +35273,7 @@
},
/area/station/hallway/primary/starboard/east)
"bVp" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=hall12";
location = "hall11"
@@ -43393,7 +43393,7 @@
},
/area/station/hallway/primary/central)
"crF" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -45236,7 +45236,7 @@
/turf/simulated/floor/plasteel/dark,
/area/station/ai_monitored/storage/eva)
"cwV" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkblue"
@@ -79310,7 +79310,7 @@
},
/area/station/hallway/primary/starboard/west)
"msl" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -79391,7 +79391,7 @@
},
/area/station/medical/reception)
"mtx" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel/airless,
/area/station/science/toxins/test)
"mtL" = (
@@ -81508,7 +81508,7 @@
/turf/simulated/floor/plasteel/white,
/area/station/command/office/rd)
"nCh" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -81520,7 +81520,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel/dark,
/area/station/aisat)
"nCu" = (
@@ -83398,7 +83398,7 @@
},
/area/station/maintenance/starboard)
"oIJ" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/engine,
/area/station/science/test_chamber)
"oIN" = (
diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm
index 330d9dca9e4..21fcada0333 100644
--- a/_maps/map_files/stations/metastation.dmm
+++ b/_maps/map_files/stations/metastation.dmm
@@ -7366,7 +7366,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/se)
"aKK" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
@@ -17545,7 +17545,7 @@
/turf/simulated/floor/carpet,
/area/station/command/office/captain/bedroom)
"bnB" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
@@ -22398,7 +22398,7 @@
},
/area/station/engineering/smes)
"bAQ" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/turf_decal/delivery,
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
@@ -26528,7 +26528,7 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel,
/area/station/command/teleporter)
"bPB" = (
@@ -30469,7 +30469,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"cdw" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel,
/area/station/engineering/atmos)
"cdB" = (
@@ -33900,7 +33900,7 @@
/turf/simulated/floor/engine/n2,
/area/station/engineering/atmos)
"cqM" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plating/airless,
/area/station/science/toxins/test)
"cqN" = (
@@ -37944,7 +37944,7 @@
/turf/simulated/floor/plating,
/area/station/medical/cryo)
"cGy" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -52396,7 +52396,7 @@
},
/area/station/engineering/atmos)
"gIm" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
@@ -73189,7 +73189,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/templates/biodome_beach.dmm b/_maps/map_files/templates/biodome_beach.dmm
index 2be2f80961b..3e0d5667f94 100644
--- a/_maps/map_files/templates/biodome_beach.dmm
+++ b/_maps/map_files/templates/biodome_beach.dmm
@@ -469,7 +469,7 @@
/turf/simulated/floor/wood,
/area/ruin/powered/beach)
"uA" = (
-/obj/item/radio/beacon,
+/obj/item/beacon,
/turf/simulated/floor/beach/sand,
/area/ruin/powered/beach)
"uP" = (
diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm
index c2060f4ef79..842dfc63cd7 100644
--- a/code/datums/uplink_items/uplink_general.dm
+++ b/code/datums/uplink_items/uplink_general.dm
@@ -666,7 +666,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
name = "Power Sink"
desc = "When screwed to wiring attached to an electric grid, then activated, this large device places excessive load on the grid, causing a stationwide blackout. The sink cannot be carried because of its excessive size. Ordering this sends you a small beacon that will teleport the power sink to your location on activation."
reference = "PS"
- item = /obj/item/radio/beacon/syndicate/power_sink
+ item = /obj/item/beacon/syndicate/power_sink
cost = 50
/datum/uplink_item/device_tools/singularity_beacon
@@ -676,7 +676,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
in containment. Because of its size, it cannot be carried. Ordering this \
sends you a small beacon that will teleport the larger beacon to your location upon activation."
reference = "SNGB"
- item = /obj/item/radio/beacon/syndicate
+ item = /obj/item/beacon/syndicate
cost = 10
surplus = 0
hijack_only = TRUE //This is an item only useful for a hijack traitor, as such, it should only be available in those scenarios.
diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm
index 4566d67b188..2fa237fac10 100644
--- a/code/datums/uplink_items/uplink_traitor.dm
+++ b/code/datums/uplink_items/uplink_traitor.dm
@@ -625,7 +625,7 @@
name = "Syndicate Bundle"
desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 100 telecrystals. You can select one out of three specialisations after purchase."
reference = "SYB"
- item = /obj/item/radio/beacon/syndicate/bundle
+ item = /obj/item/beacon/syndicate/bundle
cost = 100
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
@@ -664,7 +664,7 @@
desc = "The Syndicate Bomb has an adjustable timer with a minimum setting of 90 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \
You can wrench the bomb down to prevent removal. The crew may attempt to defuse the bomb."
reference = "SB"
- item = /obj/item/radio/beacon/syndicate/bomb
+ item = /obj/item/beacon/syndicate/bomb
cost = 40
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
@@ -676,7 +676,7 @@
desc = "The EMP has an adjustable timer with a minimum setting of 90 seconds. Ordering the bomb sends you a small beacon, which will teleport the explosive to your location when you activate it. \
You can wrench the bomb down to prevent removal. The crew may attempt to defuse the bomb. Will pulse 3 times."
reference = "SBEMP"
- item = /obj/item/radio/beacon/syndicate/bomb/emp
+ item = /obj/item/beacon/syndicate/bomb/emp
cost = 40
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm
index 3015fcaf27e..d414c77f0b8 100644
--- a/code/game/machinery/Beacon.dm
+++ b/code/game/machinery/Beacon.dm
@@ -9,7 +9,7 @@
anchored = TRUE
var/syndicate = FALSE
var/area_bypass = FALSE
- var/obj/item/radio/beacon/Beacon
+ var/obj/item/beacon/Beacon
var/enabled = TRUE
var/cc_beacon = FALSE //can be teleported to even if on zlevel2
@@ -19,7 +19,7 @@
/obj/machinery/bluespace_beacon/proc/create_beacon()
var/turf/T = loc
- Beacon = new /obj/item/radio/beacon
+ Beacon = new /obj/item/beacon
Beacon.invisibility = INVISIBILITY_MAXIMUM
Beacon.loc = T
Beacon.syndicate = syndicate
diff --git a/code/game/machinery/computer/depot_consoles.dm b/code/game/machinery/computer/depot_consoles.dm
index 4683014979c..1a44d688d6a 100644
--- a/code/game/machinery/computer/depot_consoles.dm
+++ b/code/game/machinery/computer/depot_consoles.dm
@@ -439,7 +439,7 @@
var/list/L = list()
var/list/areaindex = list()
- for(var/obj/item/radio/beacon/R in GLOB.beacons)
+ for(var/obj/item/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!T)
continue
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 7557de5696a..a64d2b4228d 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -197,7 +197,7 @@
var/list/L = list()
var/list/areaindex = list()
- for(var/obj/item/radio/beacon/R in GLOB.beacons)
+ for(var/obj/item/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!T)
continue
@@ -274,8 +274,8 @@
/obj/machinery/computer/teleporter/proc/teleport_helper()
area_bypass = FALSE
for(var/item in target.contents)
- if(istype(item, /obj/item/radio/beacon))
- var/obj/item/radio/beacon/B = item
+ if(istype(item, /obj/item/beacon))
+ var/obj/item/beacon/B = item
if(B.area_bypass)
area_bypass = TRUE
cc_beacon = B.cc_beacon
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index d94e36e03aa..002a392877c 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -274,9 +274,9 @@
var/turf/T = pick(get_area_turfs(impact_area))
if(T)
// Calculate new position (searches through beacons in world)
- var/obj/item/radio/beacon/chosen
+ var/obj/item/beacon/chosen
var/list/possible = list()
- for(var/obj/item/radio/beacon/W in GLOB.beacons)
+ for(var/obj/item/beacon/W in GLOB.beacons)
if(!is_station_level(W.z))
continue
possible += W
@@ -300,7 +300,7 @@
var/y_distance = turf_to.y - turf_from.y
var/x_distance = turf_to.x - turf_from.x
for(var/atom/movable/A in urange(BLUESPACE_MASS_TELEPORT_RANGE, turf_from)) // iterate thru list of mobs in the area
- if(istype(A, /obj/item/radio/beacon))
+ if(istype(A, /obj/item/beacon))
continue // don't teleport beacons because that's just insanely stupid
if(A.anchored || A.move_resist == INFINITY)
continue
diff --git a/code/game/objects/items/devices/enginepicker.dm b/code/game/objects/items/devices/enginepicker.dm
index f5fe7521608..7a728c4637b 100644
--- a/code/game/objects/items/devices/enginepicker.dm
+++ b/code/game/objects/items/devices/enginepicker.dm
@@ -38,12 +38,12 @@
//This proc re-assigns all of engine beacons in the global list to a local list.
/obj/item/enginepicker/proc/locatebeacons()
LAZYCLEARLIST(list_enginebeacons)
- for(var/obj/item/radio/beacon/engine/B in GLOB.engine_beacon_list)
+ for(var/obj/item/beacon/engine/B in GLOB.engine_beacon_list)
if(B && !QDELETED(B)) //This ensures that the input pop-up won't have any qdeleted beacons
list_enginebeacons += B
//Spawns and logs / announces the appropriate engine based on the choice made
-/obj/item/enginepicker/proc/processchoice(obj/item/radio/beacon/engine/choice, mob/living/carbon/user)
+/obj/item/enginepicker/proc/processchoice(obj/item/beacon/engine/choice, mob/living/carbon/user)
var/issuccessful = FALSE //Check for a successful choice
var/engtype //Engine type
var/G //Generator that will be spawned
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index eabcd0e9433..ae560fec034 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -1,55 +1,61 @@
-/obj/item/radio/beacon
- name = "Tracking Beacon"
+/obj/item/beacon
+ name = "tracking beacon"
desc = "A beacon used by a teleporter."
+ icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
item_state = "signaler"
origin_tech = "bluespace=1"
+ flags = CONDUCT
+ slot_flags = SLOT_FLAG_BELT
+ throw_speed = 2
+ throw_range = 9
+ w_class = WEIGHT_CLASS_SMALL
+
+ materials = list(MAT_METAL = 200, MAT_GLASS = 100)
var/syndicate = FALSE
var/area_bypass = FALSE
var/cc_beacon = FALSE //set if allowed to teleport to even if on zlevel2
-/obj/item/radio/beacon/New()
- ..()
- GLOB.beacons += src
+/obj/item/beacon/Initialize()
+ . = ..()
+ GLOB.beacons |= src
-/obj/item/radio/beacon/Destroy()
+/obj/item/beacon/Destroy()
GLOB.beacons -= src
return ..()
-/obj/item/radio/beacon/emag_act(user as mob)
+/obj/item/beacon/emag_act(user)
if(!emagged)
emagged = TRUE
syndicate = TRUE
to_chat(user, "The This beacon now only be locked on to by emagged teleporters!")
return TRUE
-/obj/item/radio/beacon/hear_talk()
- return
/// Probably a better way of doing this, I'm lazy.
-/obj/item/radio/beacon/bacon
+/obj/item/beacon/bacon
-/obj/item/radio/beacon/bacon/proc/digest_delay()
- QDEL_IN(src, 600)
+/obj/item/beacon/bacon/proc/digest_delay()
+ QDEL_IN(src, 60 SECONDS)
-/obj/item/radio/beacon/emagged
+/obj/item/beacon/emagged
syndicate = TRUE
emagged = TRUE
// SINGULO BEACON SPAWNER
-/obj/item/radio/beacon/syndicate
+/obj/item/beacon/syndicate
name = "suspicious beacon"
desc = "A label on it reads: Activate to have a singularity beacon teleported to your location."
origin_tech = "bluespace=6;syndicate=5"
syndicate = TRUE
var/obj/machinery/computer/syndicate_depot/teleporter/mycomputer
-/obj/item/radio/beacon/syndicate/Destroy()
+/obj/item/beacon/syndicate/Destroy()
if(mycomputer)
mycomputer.mybeacon = null
return ..()
-/obj/item/radio/beacon/syndicate/attack_self(mob/user)
+/obj/item/beacon/syndicate/attack_self(mob/user)
if(user)
to_chat(user, "Locked In")
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
@@ -57,7 +63,7 @@
user.drop_item()
qdel(src)
-/obj/item/radio/beacon/syndicate/bundle
+/obj/item/beacon/syndicate/bundle
name = "suspicious beacon"
desc = "A label on it reads: Activate to select a bundle."
var/list/static/bundles = list(
@@ -80,7 +86,7 @@
var/list/selected = list()
var/list/unselected = list()
-/obj/item/radio/beacon/syndicate/bundle/attack_self(mob/user)
+/obj/item/beacon/syndicate/bundle/attack_self(mob/user)
if(!user)
return
@@ -104,11 +110,11 @@
qdel(src)
user.put_in_hands(bundle)
-/obj/item/radio/beacon/syndicate/power_sink
+/obj/item/beacon/syndicate/power_sink
name = "suspicious beacon"
desc = "A label on it reads: Warning: Activating this device will send a power sink to your location."
-/obj/item/radio/beacon/syndicate/power_sink/attack_self(mob/user)
+/obj/item/beacon/syndicate/power_sink/attack_self(mob/user)
if(user)
to_chat(user, "Locked In")
new /obj/item/powersink(user.loc)
@@ -116,13 +122,13 @@
user.drop_item()
qdel(src)
-/obj/item/radio/beacon/syndicate/bomb
+/obj/item/beacon/syndicate/bomb
name = "suspicious beacon"
desc = "A label on it reads: Warning: Activating this device will send a high-ordinance explosive to your location."
origin_tech = "bluespace=5;syndicate=5"
var/bomb = /obj/machinery/syndicatebomb
-/obj/item/radio/beacon/syndicate/bomb/attack_self(mob/user)
+/obj/item/beacon/syndicate/bomb/attack_self(mob/user)
if(user)
to_chat(user, "Locked In")
new bomb(user.loc)
@@ -130,36 +136,36 @@
user.drop_item()
qdel(src)
-/obj/item/radio/beacon/syndicate/bomb/emp
+/obj/item/beacon/syndicate/bomb/emp
desc = "A label on it reads: Warning: Activating this device will send a high-ordinance EMP explosive to your location."
bomb = /obj/machinery/syndicatebomb/emp
-/obj/item/radio/beacon/syndicate/bomb/grey_autocloner
+/obj/item/beacon/syndicate/bomb/grey_autocloner
desc = "A label on it reads: Warning: Activating this device will send an expensive cloner to your location."
origin_tech = "bluespace=2;syndicate=2"
bomb = /obj/machinery/grey_autocloner
-/obj/item/radio/beacon/engine
+/obj/item/beacon/engine
desc = "A label on it reads: Warning: This device is used for transportation of high-density objects used for high-yield power generation. Stay away!."
anchored = TRUE //Let's not move these around. Some folk might get the idea to use these for assassinations
var/list/enginetype = list()
-/obj/item/radio/beacon/engine/Initialize(mapload)
+/obj/item/beacon/engine/Initialize(mapload)
LAZYADD(GLOB.engine_beacon_list, src)
return ..()
-/obj/item/radio/beacon/engine/Destroy()
+/obj/item/beacon/engine/Destroy()
GLOB.engine_beacon_list -= src
return ..()
-/obj/item/radio/beacon/engine/tesling
+/obj/item/beacon/engine/tesling
name = "Engine Beacon for Tesla and Singularity"
enginetype = list(ENGTYPE_TESLA, ENGTYPE_SING)
-/obj/item/radio/beacon/engine/tesla
+/obj/item/beacon/engine/tesla
name = "Engine Beacon for Tesla"
enginetype = list(ENGTYPE_TESLA)
-/obj/item/radio/beacon/engine/sing
+/obj/item/beacon/engine/sing
name = "Engine Beacon for Singularity"
enginetype = list(ENGTYPE_SING)
diff --git a/code/game/objects/items/devices/radio/radio_objects.dm b/code/game/objects/items/devices/radio/radio_objects.dm
index f960d25e090..307c2e0f87f 100644
--- a/code/game/objects/items/devices/radio/radio_objects.dm
+++ b/code/game/objects/items/devices/radio/radio_objects.dm
@@ -574,13 +574,12 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
return
b_stat = !b_stat
- if(!istype(src, /obj/item/radio/beacon))
- if(b_stat)
- user.show_message("The radio can now be attached and modified!")
- else
- user.show_message("The radio can no longer be modified or attached!")
+ if(b_stat)
+ user.show_message("The radio can now be attached and modified!")
+ else
+ user.show_message("The radio can no longer be modified or attached!")
- updateDialog()
+ updateDialog()
/obj/item/radio/wirecutter_act(mob/user, obj/item/I)
. = TRUE
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 6bfe4d60fd8..cdd1ae5d68d 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -549,7 +549,7 @@
/obj/item/storage/box/syndie_kit/prescan/populate_contents()
new /obj/item/bio_chip_implanter/grey_autocloner(src)
- new /obj/item/radio/beacon/syndicate/bomb/grey_autocloner(src)
+ new /obj/item/beacon/syndicate/bomb/grey_autocloner(src)
/obj/item/storage/box/syndie_kit/pen_bomb
name = "\improper Pen bomb"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm
index 50298cb22db..6bf3bb51f92 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm
@@ -24,7 +24,7 @@
new /obj/item/gun/energy/kinetic_accelerator/pistol(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/clothing/accessory/holster(src)
- new /obj/item/radio/beacon(src)
+ new /obj/item/beacon(src)
new /obj/item/storage/box/relay_kit(src)
new /obj/item/gps(src)
new /obj/item/storage/bag/ore(src)
diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm
index c3341fcaab1..20e57c7c0ed 100644
--- a/code/modules/food_and_drinks/food/foods/meat.dm
+++ b/code/modules/food_and_drinks/food/foods/meat.dm
@@ -234,14 +234,14 @@
desc = "It tastes a little odd but it's still delicious."
icon = 'icons/obj/food/meat.dmi'
icon_state = "bacon"
- var/obj/item/radio/beacon/bacon/baconbeacon
+ var/obj/item/beacon/bacon/baconbeacon
list_reagents = list("nutriment" = 4, "porktonium" = 10)
tastes = list("bacon" = 1)
goal_difficulty = FOOD_GOAL_NORMAL
/obj/item/food/snacks/telebacon/Initialize(mapload)
. = ..()
- baconbeacon = new /obj/item/radio/beacon/bacon(src)
+ baconbeacon = new /obj/item/beacon/bacon(src)
/obj/item/food/snacks/telebacon/Destroy()
QDEL_NULL(baconbeacon)
diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm
index 50e08b83566..3e89ea63ae7 100644
--- a/code/modules/mining/equipment/wormhole_jaunter.dm
+++ b/code/modules/mining/equipment/wormhole_jaunter.dm
@@ -25,7 +25,7 @@
/obj/item/wormhole_jaunter/proc/get_destinations(mob/user)
var/list/destinations = list()
- for(var/obj/item/radio/beacon/B in GLOB.global_radios)
+ for(var/obj/item/beacon/B in GLOB.beacons)
var/turf/T = get_turf(B)
if(is_station_level(T.z))
destinations += B
@@ -109,7 +109,7 @@
var/list/L = list()
var/list/areaindex = list()
- for(var/obj/item/radio/beacon/R in GLOB.beacons)
+ for(var/obj/item/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!T)
continue
@@ -162,7 +162,7 @@
/obj/item/storage/box/syndie_kit/escape_flare/populate_contents()
new /obj/item/wormhole_jaunter/contractor(src)
- new /obj/item/radio/beacon/emagged(src)
+ new /obj/item/beacon/emagged(src)
/obj/effect/portal/advanced/getaway
one_use = TRUE
@@ -197,7 +197,7 @@
/obj/item/grenade/jaunter_grenade/prime()
update_mob()
var/list/destinations = list()
- for(var/obj/item/radio/beacon/B in GLOB.global_radios)
+ for(var/obj/item/beacon/B in GLOB.beacons)
var/turf/BT = get_turf(B)
if(is_station_level(BT.z))
destinations += BT
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 3146e6f2a21..726f74d7f44 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -399,7 +399,7 @@
EQUIPMENT ("Robust Treasure Satchel", /obj/item/storage/bag/expedition/robust, 300),
EQUIPMENT("Tracking Bio-chip Kit", /obj/item/storage/box/minertracker, 600),
EQUIPMENT("Telecommunications Relay Kit", /obj/item/storage/box/relay_kit, 500),
- EQUIPMENT("Tracking Beacon", /obj/item/radio/beacon, 200),
+ EQUIPMENT("Tracking Beacon", /obj/item/beacon, 200),
)
prize_list["Modsuits"] = list(
EQUIPMENT("Standard MODsuit", /obj/item/mod/control/pre_equipped/standard/explorer, 1000),
@@ -410,7 +410,7 @@
EQUIPMENT("Mining MODsuit", /obj/item/mod/control/pre_equipped/mining/vendor, 3500),
EQUIPMENT("Asteroid MODsuit Skin", /obj/item/mod/skin_applier/asteroid, 1000),
)
-
+
prize_list["Consumables"] = list(
EQUIPMENT("First-Aid Kit", /obj/item/storage/firstaid/regular, 400),
EQUIPMENT("Advanced First-Aid Kit", /obj/item/storage/firstaid/adv, 600),
@@ -418,7 +418,7 @@
EQUIPMENT("Point Transfer Card", /obj/item/card/mining_point_card, 500),
EQUIPMENT("Stabilizing Serum", /obj/item/hivelordstabilizer, 400),
)
-
+
prize_list["Kinetic Accelerator"] = list(
EQUIPMENT("Kinetic Pistol", /obj/item/gun/energy/kinetic_accelerator/pistol, 750),
EQUIPMENT("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
@@ -430,7 +430,7 @@
EQUIPMENT("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250),
EQUIPMENT("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
)
-
+
prize_list["Miscellaneous"] = list(
EQUIPMENT("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
EQUIPMENT("Toy Sword", /obj/item/toy/sword, 200),
diff --git a/code/modules/projectiles/guns/energy/telegun.dm b/code/modules/projectiles/guns/energy/telegun.dm
index e2a43b7a30f..16078734d84 100644
--- a/code/modules/projectiles/guns/energy/telegun.dm
+++ b/code/modules/projectiles/guns/energy/telegun.dm
@@ -18,7 +18,7 @@
var/list/L = list()
var/list/areaindex = list()
- for(var/obj/item/radio/beacon/R in GLOB.beacons)
+ for(var/obj/item/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
var/turf/M = get_turf(user)
if(!T)
diff --git a/code/modules/projectiles/projectile/special_projectiles.dm b/code/modules/projectiles/projectile/special_projectiles.dm
index d1d7d2db448..8fdda383023 100644
--- a/code/modules/projectiles/projectile/special_projectiles.dm
+++ b/code/modules/projectiles/projectile/special_projectiles.dm
@@ -290,7 +290,7 @@
damage = 0
nodamage = 1
alwayslog = TRUE
- var/obj/item/radio/beacon/teleport_target = null
+ var/obj/item/beacon/teleport_target
/obj/item/projectile/energy/teleport/New(loc, tele_target)
..(loc)
diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm
index 3ba6b9b610d..6c54e8cb583 100644
--- a/code/modules/research/designs/bluespace_designs.dm
+++ b/code/modules/research/designs/bluespace_designs.dm
@@ -78,7 +78,7 @@
req_tech = list("bluespace" = 1)
build_type = PROTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
- build_path = /obj/item/radio/beacon
+ build_path = /obj/item/beacon
category = list("Bluespace")
/datum/design/brpd
diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm
index 76206d22cdf..2aced999236 100644
--- a/code/modules/shuttle/supply.dm
+++ b/code/modules/shuttle/supply.dm
@@ -29,7 +29,7 @@
/obj/item/disk/nuclear,
/obj/machinery/nuclearbomb),
"homing beacons" = list(
- /obj/item/radio/beacon,
+ /obj/item/beacon,
/obj/machinery/quantumpad,
/obj/machinery/teleport/station,
/obj/machinery/teleport/hub,