mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 09:34:21 +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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user