[MIRROR] Move psychologist immunity from mind to skillchip (#2605)

* Move psychologist immunity from mind to skillchip (#55813)

Skillchips are neat, and this is the sort of "job-specific skill" that can remain job specific, but still gainable in the shift through in-universe means.

The logic behind the skillchip is that the supermatter is psychically sensitive, hence the hallucinations and headaches from looking at it and projecting the "correct mental aura" will help it calm down. But that is lore following mechanics.

Refactors skillchips to be able to automatically apply more than one trait.

* Move psychologist immunity from mind to skillchip

Co-authored-by: coiax <yellowbounder@gmail.com>
This commit is contained in:
SkyratBot
2021-01-10 08:17:04 +01:00
committed by GitHub
co-authored by coiax
parent 18d542d2d3
commit ce59be9350
8 changed files with 29 additions and 21 deletions
@@ -0,0 +1,9 @@
/obj/item/skillchip/job/psychology
name = "HYPERG1G4 skillchip"
desc = "Learn to bend the abyss to your will."
auto_traits = list(TRAIT_SUPERMATTER_SOOTHER, TRAIT_SUPERMATTER_MADNESS_IMMUNE)
skill_name = "Supermatter Cognition Theory"
skill_description = "Understand the correct mental patterns to keep in mind around matter in a hyperfractal state, causing immunity to visions and making the matter in question \"calmer\"."
skill_icon = "spa"
activate_message = "<span class='notice'>You start thinking in patterns that will render you immune to visions from, and act as a calming influence for, matter in a hyperfractal state.</span>"
deactivate_message = "<span class='notice'>Your thoughts become more disordered and jumbled. You are no longer immune to the abyss.</span>"
@@ -1,7 +1,7 @@
/obj/item/skillchip/job/roboticist
name = "Cyborg C1-RCU-1T skillchip"
desc = "A roboticist's second best friend."
auto_trait = TRAIT_KNOW_CYBORG_WIRES
auto_traits = list(TRAIT_KNOW_CYBORG_WIRES)
skill_name = "Cyborg Circuitry"
skill_description = "Recognise cyborg wire layouts and understand their functionality at a glance."
skill_icon = "sitemap"
@@ -1,7 +1,7 @@
/obj/item/skillchip/job/engineer
name = "Engineering C1-RCU-1T skillchip"
desc = "Endorsed by Poly."
auto_trait = TRAIT_KNOW_ENGI_WIRES
auto_traits = list(TRAIT_KNOW_ENGI_WIRES)
skill_name = "Engineering Circuitry"
skill_description = "Recognise airlock and APC wire layouts and understand their functionality at a glance."
skill_icon = "sitemap"
@@ -7,8 +7,8 @@
custom_price = PAYCHECK_MEDIUM * 3
w_class = WEIGHT_CLASS_SMALL
/// Trait automatically granted by this chip, optional
var/auto_trait
/// Traits automatically granted by this chip, optional. Lazylist.
var/list/auto_traits
/// Skill name shown on UI
var/skill_name
/// Skill description shown on UI
@@ -142,8 +142,8 @@
if(!silent && activate_message)
to_chat(user, activate_message)
if(auto_trait)
ADD_TRAIT(user, auto_trait, SKILLCHIP_TRAIT)
for(var/trait in auto_traits)
ADD_TRAIT(user, trait, SKILLCHIP_TRAIT)
active = TRUE
@@ -176,8 +176,8 @@
if(!silent && deactivate_message)
to_chat(user, deactivate_message)
if(auto_trait)
REMOVE_TRAIT(user, auto_trait, SKILLCHIP_TRAIT)
for(var/trait in auto_traits)
REMOVE_TRAIT(user, trait, SKILLCHIP_TRAIT)
active = FALSE
@@ -369,7 +369,7 @@
/obj/item/skillchip/basketweaving
name = "Basketsoft 3000 skillchip"
desc = "Underwater edition."
auto_trait = TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE
auto_traits = list(TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE)
skill_name = "Underwater Basketweaving"
skill_description = "Master intricate art of using twine to create perfect baskets while submerged."
skill_icon = "shopping-basket"
@@ -379,7 +379,7 @@
/obj/item/skillchip/wine_taster
name = "WINE skillchip"
desc = "Wine.Is.Not.Equal version 5."
auto_trait = TRAIT_WINE_TASTER
auto_traits = list(TRAIT_WINE_TASTER)
skill_name = "Wine Tasting"
skill_description = "Recognize wine vintage from taste alone. Never again lack an opinion when presented with an unknown drink."
skill_icon = "wine-bottle"
@@ -388,7 +388,7 @@
/obj/item/skillchip/bonsai
name = "Hedge 3 skillchip"
auto_trait = TRAIT_BONSAI
auto_traits = list(TRAIT_BONSAI)
skill_name = "Hedgetrimming"
skill_description = "Trim hedges and potted plants into marvelous new shapes with any old knife. Not applicable to plastic plants."
skill_icon = "spa"
@@ -409,7 +409,7 @@
/obj/item/skillchip/light_remover
name = "N16H7M4R3 skillchip"
auto_trait = TRAIT_LIGHTBULB_REMOVER
auto_traits = list(TRAIT_LIGHTBULB_REMOVER)
skill_name = "Lightbulb Removing"
skill_description = "Stop failing taking out lightbulbs today, no gloves needed!"
skill_icon = "lightbulb"
@@ -418,7 +418,7 @@
/obj/item/skillchip/disk_verifier
name = "K33P-TH4T-D15K skillchip"
auto_trait = TRAIT_DISK_VERIFIER
auto_traits = list(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"