mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
[MIRROR] Moves the GPS component from the upload computers and communications console to the boards themselves when used (#27291)
* Moves the GPS component from the upload computers and communications console to the boards themselves when used (#82574) ## About The Pull Request Moves the GPS component on Upload computers and Communications Console to be handled from the board, not the machine, when a board is used to modify the AI or used to login. ## Why It's Good For The Game Quite frankely, the mechanic already exists. But it does not work due to the component being attatched to the computer. Currently it's intended for these critical computers to give GPS signals because they can be taken, and built extremely easily, anywhere, and deconstructed. Especially the upload boards, since the AI and borgs are directly in the center of it when people keep subverting and fixing laws. This is extremely annoying for the silicons. On top of that, you building a communications console to hack in maint somewhere will leave some sort of a trace to justify the reward. Yes, they have a computer that sends out the GPS signal. But anyone with a brain could realize all that's needed to circumvent this mechanic is the use of a screwdriver. Now, the GPS is registered on the boards themselves. The boards get stored in the contents of the computer. You can't circumvent this now. ## Changelog 🆑 balance: The upload and communication boards directly have trackers installed, activated only when authenticated. /🆑 --------- Co-authored-by: Jacquerel <hnevard@ gmail.com> * Moves the GPS component from the upload computers and communications console to the boards themselves when used --------- Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@ gmail.com>
This commit is contained in:
co-authored by
Jacquerel
The Sharkening
parent
65e5b22cc9
commit
40beaad0b3
@@ -87,6 +87,16 @@
|
||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
|
||||
set_light(0)
|
||||
|
||||
/obj/machinery/computer/proc/imprint_gps(gps_tag) // Currently used by the upload computers and communications console
|
||||
var/tracker = gps_tag
|
||||
if(!tracker) // Don't give a null GPS signal if there is none
|
||||
return
|
||||
for(var/obj/item/circuitboard/computer/board in src.contents)
|
||||
if(!contents || board.GetComponent(/datum/component/gps))
|
||||
return
|
||||
board.AddComponent(/datum/component/gps, "[tracker]")
|
||||
balloon_alert_to_viewers("board tracker enabled", vision_distance = 1)
|
||||
|
||||
/obj/machinery/computer/emp_act(severity)
|
||||
. = ..()
|
||||
if (!(. & EMP_PROTECT_SELF))
|
||||
|
||||
@@ -98,7 +98,6 @@ GLOBAL_VAR_INIT(cops_arrived, FALSE)
|
||||
REGISTER_REQUIRED_MAP_ITEM(1, INFINITY)
|
||||
|
||||
GLOB.shuttle_caller_list += src
|
||||
AddComponent(/datum/component/gps, "Secured Communications Signal")
|
||||
|
||||
/// Are we NOT a silicon, AND we're logged in as the captain?
|
||||
/obj/machinery/computer/communications/proc/authenticated_as_non_silicon_captain(mob/user)
|
||||
@@ -445,6 +444,8 @@ GLOBAL_VAR_INIT(cops_arrived, FALSE)
|
||||
|
||||
state = STATE_MAIN
|
||||
playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE)
|
||||
imprint_gps(gps_tag = "Encrypted Communications Channel")
|
||||
|
||||
if ("toggleEmergencyAccess")
|
||||
if(emergency_access_cooldown(usr)) //if were in cooldown, dont allow the following code
|
||||
return
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
/obj/machinery/computer/upload/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/gps, "Encrypted Upload")
|
||||
if(!mapload)
|
||||
log_silicon("\A [name] was created at [loc_name(src)].")
|
||||
message_admins("\A [name] was created at [ADMIN_VERBOSEJMP(src)].")
|
||||
@@ -29,6 +28,7 @@
|
||||
current = null
|
||||
return
|
||||
M.install(current.laws, user)
|
||||
imprint_gps(gps_tag = "Weak Upload Signal")
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
name = "Generic"
|
||||
name_extension = "(Computer Board)"
|
||||
|
||||
/obj/item/circuitboard/computer/examine()
|
||||
. = ..()
|
||||
if(GetComponent(/datum/component/gps))
|
||||
. += span_info("there's a small, blinking light!")
|
||||
|
||||
//Command
|
||||
|
||||
/obj/item/circuitboard/computer/aiupload
|
||||
|
||||
Reference in New Issue
Block a user