mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
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>
This commit is contained in:
@@ -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" = (
|
||||
|
||||
@@ -593,7 +593,7 @@
|
||||
},
|
||||
/area/ruin/space/powered/bar)
|
||||
"xZ" = (
|
||||
/obj/item/radio/beacon,
|
||||
/obj/item/beacon,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
},
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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, "<span class='notice'>The This beacon now only be locked on to by emagged teleporters!</span>")
|
||||
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: <i>Activate to have a singularity beacon teleported to your location</i>."
|
||||
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, "<span class='notice'>Locked In</span>")
|
||||
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: <i>Activate to select a bundle</i>."
|
||||
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: <i>Warning: Activating this device will send a power sink to your location</i>."
|
||||
|
||||
/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, "<span class='notice'>Locked In</span>")
|
||||
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: <i>Warning: Activating this device will send a high-ordinance explosive to your location</i>."
|
||||
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, "<span class='notice'>Locked In</span>")
|
||||
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: <i>Warning: Activating this device will send a high-ordinance EMP explosive to your location</i>."
|
||||
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: <i>Warning: Activating this device will send an expensive cloner to your location</i>."
|
||||
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: <i>Warning: This device is used for transportation of high-density objects used for high-yield power generation. Stay away!</i>."
|
||||
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)
|
||||
|
||||
@@ -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("<span class='notice'>The radio can now be attached and modified!</span>")
|
||||
else
|
||||
user.show_message("<span class='notice'>The radio can no longer be modified or attached!</span>")
|
||||
if(b_stat)
|
||||
user.show_message("<span class='notice'>The radio can now be attached and modified!</span>")
|
||||
else
|
||||
user.show_message("<span class='notice'>The radio can no longer be modified or attached!</span>")
|
||||
|
||||
updateDialog()
|
||||
updateDialog()
|
||||
|
||||
/obj/item/radio/wirecutter_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user