Move disk verification into skillchip

🆑 coiax
tweak: The knowledge of nuclear disk serial numbers is now stored as a
skillchip installed in captains, death squad members and nuclear
operatives.
/🆑

Captain gone braindead, lost the pinpointer, and you need to work out if
a given disk is legitimate? Just cut out the skillchip from their brain,
and install it for knowledge of that horrendously long serial number.

---

Moving the TRAIT_DISK_VERIFIFER from an innate mind trait from the job,
to a skillchip allows for some more in-game methods to gaining access to
disk verification, including the chameleon skillship.
This commit is contained in:
Jack Edge
2020-12-30 14:31:44 +00:00
parent 427cdffe67
commit 3606b62033
8 changed files with 16 additions and 14 deletions

View File

@@ -354,9 +354,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_SANTA "santa"
#define SCRYING_ORB "scrying-orb"
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
#define NUKEOP_TRAIT "nuke-op"
#define JUNGLE_FEVER_TRAIT "jungle_fever"
#define DEATHSQUAD_TRAIT "deathsquad"
#define MEGAFAUNA_TRAIT "megafauna"
#define CLOWN_NUKE_TRAIT "clown-nuke"
#define STICKY_MOUSTACHE_TRAIT "sticky-moustache"

View File

@@ -119,6 +119,8 @@
backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\
/obj/item/kitchen/knife/combat/survival)
skillchips = list(/obj/item/skillchip/disk_verifier)
var/tc = 25
var/command_radio = FALSE
var/uplink_type = /obj/item/uplink/nuclear

View File

@@ -74,13 +74,6 @@
. = ..()
name_source = GLOB.commando_names
/datum/antagonist/ert/deathsquad/apply_innate_effects(mob/living/mob_override)
ADD_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT)
/datum/antagonist/ert/deathsquad/remove_innate_effects(mob/living/mob_override)
REMOVE_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT)
/datum/antagonist/ert/medic/inquisitor
outfit = /datum/outfit/centcom/ert/medic/inquisitor

View File

@@ -672,7 +672,7 @@ This is here to make the tiles around the station mininuke change when it's arme
if(!fake)
return
if(isobserver(user) || HAS_TRAIT(user.mind, TRAIT_DISK_VERIFIER))
if(isobserver(user) || HAS_TRAIT(user, TRAIT_DISK_VERIFIER) || (user.mind && HAS_TRAIT(user.mind, TRAIT_DISK_VERIFIER)))
. += "<span class='warning'>The serial numbers on [src] are incorrect.</span>"
/*

View File

@@ -17,12 +17,10 @@
/datum/antagonist/nukeop/apply_innate_effects(mob/living/mob_override)
var/mob/living/M = mob_override || owner.current
add_antag_hud(antag_hud_type, antag_hud_name, M)
ADD_TRAIT(owner, TRAIT_DISK_VERIFIER, NUKEOP_TRAIT)
/datum/antagonist/nukeop/remove_innate_effects(mob/living/mob_override)
var/mob/living/M = mob_override || owner.current
remove_antag_hud(antag_hud_type, M)
REMOVE_TRAIT(owner, TRAIT_DISK_VERIFIER, NUKEOP_TRAIT)
/datum/antagonist/nukeop/proc/equip_op()
if(!ishuman(owner.current))

View File

@@ -392,6 +392,8 @@
id = /obj/item/card/id/ert/deathsquad
ears = /obj/item/radio/headset/headset_cent/alt
skillchips = list(/obj/item/skillchip/disk_verifier)
backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\
/obj/item/ammo_box/a357=1,\
/obj/item/storage/firstaid/regular=1,\

View File

@@ -20,8 +20,6 @@
paycheck = PAYCHECK_COMMAND
paycheck_department = ACCOUNT_SEC
mind_traits = list(TRAIT_DISK_VERIFIER)
display_order = JOB_DISPLAY_ORDER_CAPTAIN
/datum/job/captain/get_access()
@@ -46,6 +44,8 @@
head = /obj/item/clothing/head/caphat
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/station_charter=1)
skillchips = list(/obj/item/skillchip/disk_verifier)
backpack = /obj/item/storage/backpack/captain
satchel = /obj/item/storage/backpack/satchel/cap
duffelbag = /obj/item/storage/backpack/duffelbag/captain

View File

@@ -415,3 +415,12 @@
skill_icon = "lightbulb"
activate_message = "<span class='notice'>Your feel like your pain receptors are less sensitive to hot objects.</span>"
deactivate_message = "<span class='notice'>You feel like hot objects could stop you again...</span>"
/obj/item/skillchip/disk_verifier
name = "K33P-TH4T-D15K skillchip"
auto_trait = TRAIT_DISK_VERIFIER
skill_name = "Nuclear Disk Verification"
skill_description = "Nuclear authentication disks have an extremely long serial number for verification. This skillchip stores that number, which allows the user to automatically spot forgeries."
skill_icon = "save"
activate_message = "<span class='notice'>You feel your mind automatically verifying long serial numbers on disk shaped objects.</span>"
deactivate_message = "<span class='notice'>The innate recognition of absurdly long disk-related serial numbers fades from your mind.</span>"