mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-24 05:07:18 +01:00
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request title <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game muh immursion! <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog 🆑 spellcheck: CentComm => Centcom spellcheck: NanoTrasen => Nanotrasen /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
/datum/gm_action/security_screening
|
|
name = "security screening"
|
|
departments = list(DEPARTMENT_SECURITY, DEPARTMENT_EVERYONE)
|
|
|
|
var/list/species_weights = list(
|
|
SPECIES_SKRELL = 9,
|
|
SPECIES_UNATHI = 15,
|
|
SPECIES_HUMAN_VATBORN = 6,
|
|
SPECIES_TESHARI = 2,
|
|
SPECIES_TAJ = 3,
|
|
SPECIES_DIONA = 1,
|
|
SPECIES_ZADDAT = 25,
|
|
SPECIES_HUMAN = 3,
|
|
SPECIES_PROMETHEAN = 30
|
|
)
|
|
|
|
var/list/synth_weights = list(
|
|
"Cybernetic" = 15,
|
|
"Drone" = 30,
|
|
"Positronic" = 25
|
|
)
|
|
|
|
var/list/end_weights = list()
|
|
|
|
/datum/gm_action/security_screening/set_up()
|
|
for(var/species_name in species_weights)
|
|
var/giveweight = 0
|
|
|
|
for(var/datum/data/record/R in data_core.general)
|
|
if(R.fields["species"] == species_name)
|
|
giveweight += species_weights[species_name]
|
|
|
|
end_weights[species_name] = giveweight
|
|
|
|
for(var/bottype in synth_weights)
|
|
var/giveweight = 0
|
|
|
|
for(var/datum/data/record/R in data_core.general)
|
|
if(R.fields["brain_type"] == bottype)
|
|
giveweight += synth_weights[bottype]
|
|
|
|
end_weights[bottype] = giveweight
|
|
|
|
/datum/gm_action/security_screening/announce()
|
|
spawn(rand(1 MINUTE, 2 MINUTES))
|
|
command_announcement.Announce("[pick("A nearby Navy vessel", "A Solar official", "A Vir-Gov official", "A Nanotrasen board director")] has requested the screening of [pick("every other", "every", "suspicious", "willing")] [pickweight(end_weights)] personnel onboard \the [station_name()].", "Security Advisement")
|
|
|
|
/datum/gm_action/security_screening/get_weight()
|
|
return max(-20, 10 + round(gm.staleness * 1.5) - (gm.danger * 2)) + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 10) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 1.5)
|