mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-27 06:54:18 +01:00
Unapologetic Teleporter Buffs (#15628)
This commit is contained in:
@@ -2,27 +2,43 @@ var/global/list/teleportbeacons = list()
|
||||
|
||||
/obj/item/device/radio/beacon
|
||||
name = "tracking beacon"
|
||||
desc = "A beacon used by a teleporter."
|
||||
desc = "A sophisticated beacon with integrated bluespace circuitry, capable of being targetted by a teleportation hub for localized jumps."
|
||||
icon_state = "beacon"
|
||||
item_state = "signaler"
|
||||
show_modify_on_examine = FALSE
|
||||
var/code = "electronic"
|
||||
origin_tech = list(TECH_BLUESPACE = 1)
|
||||
|
||||
/obj/item/device/radio/beacon/New()
|
||||
..()
|
||||
/obj/item/device/radio/beacon/Initialize()
|
||||
. = ..()
|
||||
teleportbeacons += src
|
||||
|
||||
/obj/item/device/radio/beacon/Destroy()
|
||||
teleportbeacons.Remove(src)
|
||||
teleportbeacons -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/beacon/examine(mob/user)
|
||||
. = ..()
|
||||
if(anchored)
|
||||
to_chat(user, SPAN_NOTICE("It's been secured to the ground with anchoring screws."))
|
||||
|
||||
/obj/item/device/radio/beacon/attack_hand(mob/user)
|
||||
if(anchored)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/beacon/hear_talk()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/device/radio/beacon/send_hear()
|
||||
return null
|
||||
|
||||
/obj/item/device/radio/beacon/attackby(obj/item/W, mob/user)
|
||||
if(isturf(loc) && W.isscrewdriver())
|
||||
anchored = !anchored
|
||||
user.visible_message("<b>[user]</b> [anchored ? "" : "un"]fastens \the [src] [anchored ? "to" : "from"] the floor.", "You [anchored ? "" : "un"]fasten \the [src] [anchored ? "to" : "from"] the floor.")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/beacon/verb/alter_signal(t as text)
|
||||
set name = "Alter Beacon's Signal"
|
||||
@@ -39,4 +55,15 @@ var/global/list/teleportbeacons = list()
|
||||
|
||||
/obj/item/device/radio/beacon/bacon //Probably a better way of doing this, I'm lazy.
|
||||
proc/digest_delay()
|
||||
QDEL_IN(src, 600)
|
||||
QDEL_IN(src, 600)
|
||||
|
||||
/obj/item/device/radio/beacon/fixed
|
||||
alpha = 0
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
anchored = TRUE
|
||||
|
||||
/obj/item/device/radio/beacon/fixed/ex_act(severity)
|
||||
return
|
||||
|
||||
/obj/item/device/radio/beacon/fixed/emp_act(severity)
|
||||
return
|
||||
|
||||
@@ -75,6 +75,7 @@ var/global/list/default_medbay_channels = list(
|
||||
var/traitor_frequency = 0 //tune to frequency to unlock traitor supplies
|
||||
var/mob/living/announcer/announcer = null // used in autosay, held by the radio for re-use
|
||||
var/datum/wires/radio/wires = null
|
||||
var/show_modify_on_examine = TRUE
|
||||
var/b_stat = 0
|
||||
|
||||
var/list/channels = list() //see communications.dm for full list. First non-common, non-entertainment channel is a "default" for :h
|
||||
@@ -506,12 +507,11 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/examine(mob/user)
|
||||
. = ..()
|
||||
if ((in_range(src, user) || loc == user))
|
||||
if(show_modify_on_examine && (in_range(src, user) || loc == user))
|
||||
if (b_stat)
|
||||
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
|
||||
else
|
||||
user.show_message("<span class='notice'>\The [src] can not be modified or attached!</span>")
|
||||
return
|
||||
|
||||
/obj/item/device/radio/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user