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,