From 613cfae75c2b9fbb7defa4f98556ef6122e3ed9e Mon Sep 17 00:00:00 2001 From: Fikou Date: Thu, 6 Aug 2020 16:16:02 +0200 Subject: [PATCH] adds lightbulb removing skillchip (#52603) * shawty got low low low low low low * Update code/modules/library/skill_learning/skillchip.dm Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> * aaagh * fuck * review Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> --- code/__DEFINES/traits.dm | 1 + code/modules/library/skill_learning/skillchip.dm | 11 ++++++++++- code/modules/power/lighting.dm | 16 ++++++++++++---- code/modules/vending/games.dm | 1 + 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7c854ebdee3..73137890942 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -194,6 +194,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE "underwater_basketweaving" #define TRAIT_WINE_TASTER "wine_taster" #define TRAIT_BONSAI "bonsai" +#define TRAIT_LIGHTBULB_REMOVER "lightbulb_remover" #define TRAIT_KNOW_CYBORG_WIRES "know_cyborg_wires" #define TRAIT_KNOW_ENGI_WIRES "know_engi_wires" diff --git a/code/modules/library/skill_learning/skillchip.dm b/code/modules/library/skill_learning/skillchip.dm index 170a35042d4..cb97480de19 100644 --- a/code/modules/library/skill_learning/skillchip.dm +++ b/code/modules/library/skill_learning/skillchip.dm @@ -393,7 +393,7 @@ skill_description = "Trim hedges and potted plants into marvelous new shapes with any old knife. Not applicable to plastic plants." skill_icon = "spa" activate_message = "Your mind is filled with plant arrangments." - deactivate_message = "Your can't remember how a hedge looks like anymore." + deactivate_message = "You can't remember what a hedge looks like anymore." /obj/item/skillchip/useless_adapter name = "Skillchip adapter" @@ -406,3 +406,12 @@ // Literally does nothing. complexity = 0 slot_use = 0 + +/obj/item/skillchip/light_remover + name = "N16H7M4R3 skillchip" + auto_trait = TRAIT_LIGHTBULB_REMOVER + skill_name = "Lightbulb Removing" + skill_description = "Stop failing taking out lightbulbs today, no gloves needed!" + skill_icon = "lightbulb" + activate_message = "Your feel like your pain receptors are less sensitive to hot objects." + deactivate_message = "You feel like hot objects could stop you again..." diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 6f0b578e22a..8bbda07d441 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -676,12 +676,20 @@ else if(istype(user) && user.dna.check_mutation(TK)) to_chat(user, "You telekinetically remove the light [fitting].") else - to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!") - var/obj/item/bodypart/affecting = H.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") - if(affecting && affecting.receive_damage( 0, 5 )) // 5 burn damage + if(affecting?.receive_damage( 0, 5 )) // 5 burn damage H.update_damage_overlays() - return // if burned, don't remove the light + if(HAS_TRAIT(user, TRAIT_LIGHTBULB_REMOVER)) + to_chat(user, "You feel like you're burning, but you can push through.") + if(!do_after(user, 5 SECONDS, target = src)) + return + if(affecting?.receive_damage( 0, 10 )) // 10 more burn damage + H.update_damage_overlays() + to_chat(user, "You manage to remove the light [fitting], shattering it in process.") + break_light_tube() + else + to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!") + return else to_chat(user, "You remove the light [fitting].") // create a light tube/bulb item and put it in the user's hand diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 3480b732026..5c728753f38 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -18,6 +18,7 @@ /obj/item/skillchip/basketweaving=2, /obj/item/skillchip/bonsai=2, /obj/item/skillchip/wine_taster=2, + /obj/item/skillchip/light_remover=2, /obj/item/skillchip/useless_adapter=5) contraband = list(/obj/item/dice/fudge = 9) premium = list(/obj/item/melee/skateboard/pro = 3,