mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-04-25 01:41:36 +01:00
## About The Pull Request adds a station trait which adds a new role, the bridge assistant he is designed to help commandeer the bridge and help out other heads when needed. he is armed with the mini energy gun (the one heads used to have on kilostation), a flash, a toolbelt (with an inducer), some cool shades and a swanky scarf. as he is a nerd he is weak and unable to twohand weapons, preventing him from wielding the fire axe. currently he does not have a mindshield but he cannot roll antag he currently has access to the bridge, announcement console, eva, teleporter, gateway, maint, and a weapon permit (somewhat (not really other than for nerds) interestingly this is the first job that isnt assistant that doesnt have access to any lathes, so he doesnt have orm access unlike all the other jobs (except assistant)) the trait also makes a coffee machine spawn on the bridge here is some useful art of your role  and ingame screenshots    ## Why It's Good For The Game Adds upon the station trait job system with a straight forward role that IS just a human (unlike the cargorilla), and is pretty basic with no custom assets or whatever other than hud icons Having the bridge assistant in some rounds seems like a neat way to protect it since it gets fucked up in like half the time, while also not having enough mechanical depth or gameplay as to warrant it as a permanent role ## Changelog 🆑 add: Bridge Assistant job accessible from a station trait. /🆑 --------- Co-authored-by: san7890 <the@san7890.com>
84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
// All the procs that admins can use to view something like a global list in a cleaner manner than just View Variables are contained in this file.
|
|
|
|
/datum/admins/proc/list_bombers()
|
|
if(!SSticker.HasRoundStarted())
|
|
tgui_alert(usr, "The game hasn't started yet!")
|
|
return
|
|
var/data = "<b>Bombing List</b><hr>"
|
|
for(var/entry in GLOB.bombers)
|
|
data += "[entry]<br>"
|
|
usr << browse(data, "window=bombers;size=800x500")
|
|
|
|
/datum/admins/proc/list_signalers()
|
|
if(!SSticker.HasRoundStarted())
|
|
tgui_alert(usr, "The game hasn't started yet!")
|
|
return
|
|
var/data = "<b>Showing last [length(GLOB.investigate_signaler)] signalers.</b><hr>"
|
|
for(var/entry in GLOB.investigate_signaler)
|
|
data += "[entry]<BR>"
|
|
usr << browse(data, "window=lastsignalers;size=800x500")
|
|
|
|
/datum/admins/proc/list_law_changes()
|
|
if(!SSticker.HasRoundStarted())
|
|
tgui_alert(usr, "The game hasn't started yet!")
|
|
return
|
|
var/data = "<b>Showing last [length(GLOB.lawchanges)] law changes.</b><hr>"
|
|
for(var/entry in GLOB.lawchanges)
|
|
data += "[entry]<BR>"
|
|
usr << browse(data, "window=lawchanges;size=800x500")
|
|
|
|
/datum/admins/proc/list_dna()
|
|
var/data = "<b>Showing DNA from blood.</b><hr>"
|
|
data += "<table cellspacing=5 border=1><tr><th>Name</th><th>DNA</th><th>Blood Type</th></tr>"
|
|
for(var/entry in GLOB.human_list)
|
|
var/mob/living/carbon/human/subject = entry
|
|
if(subject.ckey)
|
|
data += "<tr><td>[subject]</td><td>[subject.dna.unique_enzymes]</td><td>[subject.dna.blood_type]</td></tr>"
|
|
data += "</table>"
|
|
usr << browse(data, "window=DNA;size=440x410")
|
|
|
|
/datum/admins/proc/list_fingerprints() //kid named fingerprints
|
|
var/data = "<b>Showing Fingerprints.</b><hr>"
|
|
data += "<table cellspacing=5 border=1><tr><th>Name</th><th>Fingerprints</th></tr>"
|
|
for(var/entry in GLOB.human_list)
|
|
var/mob/living/carbon/human/subject = entry
|
|
if(subject.ckey)
|
|
data += "<tr><td>[subject]</td><td>[md5(subject.dna.unique_identity)]</td></tr>"
|
|
data += "</table>"
|
|
usr << browse(data, "window=fingerprints;size=440x410")
|
|
|
|
/datum/admins/proc/show_manifest()
|
|
if(!SSticker.HasRoundStarted())
|
|
tgui_alert(usr, "The game hasn't started yet!")
|
|
return
|
|
GLOB.manifest.ui_interact(usr)
|
|
|
|
/datum/admins/proc/output_ai_laws()
|
|
var/law_bound_entities = 0
|
|
for(var/mob/living/silicon/subject as anything in GLOB.silicon_mobs)
|
|
law_bound_entities++
|
|
|
|
var/message = ""
|
|
|
|
if(isAI(subject))
|
|
message += "<b>AI [key_name(subject, usr)]'s laws:</b>"
|
|
else if(iscyborg(subject))
|
|
var/mob/living/silicon/robot/borg = subject
|
|
message += "<b>CYBORG [key_name(subject, usr)] [borg.connected_ai?"(Slaved to: [key_name(borg.connected_ai)])":"(Independent)"]: laws:</b>"
|
|
else if (ispAI(subject))
|
|
message += "<b>pAI [key_name(subject, usr)]'s laws:</b>"
|
|
else
|
|
message += "<b>SOMETHING SILICON [key_name(subject, usr)]'s laws:</b>"
|
|
|
|
message += "<br>"
|
|
|
|
if (!subject.laws)
|
|
message += "[key_name(subject, usr)]'s laws are null?? Contact a coder."
|
|
else
|
|
message += jointext(subject.laws.get_law_list(include_zeroth = TRUE), "<br>")
|
|
|
|
to_chat(usr, message, confidential = TRUE)
|
|
|
|
if(!law_bound_entities)
|
|
to_chat(usr, "<b>No law bound entities located</b>", confidential = TRUE)
|