diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index f2b3dad9843..5ca60bea7f0 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -213,6 +213,17 @@ "Vox" = 'icons/mob/species/vox/eyes.dmi' ) +/obj/item/clothing/glasses/sunglasses/lasers + desc = "A peculiar set of sunglasses; they have various chips and other panels attached to the sides of the frames." + name = "high-tech sunglasses" + flags = GLASSESCOVERSEYES | NODROP + +/obj/item/clothing/glasses/sunglasses/lasers/equipped(mob/user, slot) //grant them laser eyes upon equipping it. + if(slot == slot_glasses) + user.mutations.Add(LASER) + user.regenerate_icons() + ..(user, slot) + /obj/item/clothing/glasses/welding name = "welding goggles" desc = "Protects the eyes from welders, approved by the mad scientist association." diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e9d5005a5b1..9ee07435000 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -512,3 +512,59 @@ icon_state = "noble_coat" item_state = "noble_coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + + +///Advanced Protective Suit, AKA, God Mode in wearable form. + +/obj/item/clothing/suit/advanced_protective_suit + name = "Advanced Protective Suit" + desc = "An incredibly advanced and complex suit; it has so many buttons and dials as to be incomprehensible." + icon_state = "bomb" + item_state = "bomb" + action_button_name = "Toggle Advanced Protective Suit" + gas_transfer_coefficient = 0.01 + permeability_coefficient = 0.01 + flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD + armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) + cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + heat_protection = UPPER_TORSO | LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT + slowdown = -10 + siemens_coefficient = 0 + var/on = 0 + +/obj/item/clothing/suit/advanced_protective_suit/Destroy() + if(on) + on = 0 + processing_objects.Remove(src) + return ..() + +/obj/item/clothing/suit/advanced_protective_suit/ui_action_click() + if(on) + on = 0 + usr << "You turn the suit's special processes off." + else + on = 1 + usr << "You turn the suit's special processes on." + processing_objects.Add(src) + + +/obj/item/clothing/suit/advanced_protective_suit/IsReflect() + return (on) + +/obj/item/clothing/suit/advanced_protective_suit/process() + if(on) + var/mob/living/carbon/human/user = src.loc + if(user && ishuman(user) && (user.wear_suit == src)) + if(user.reagents.get_reagent_amount("stimulants") < 15) + user.reagents.add_reagent("stimulants", 15) + if(user.reagents.get_reagent_amount("adminordrazine") < 15) + user.reagents.add_reagent("adminordrazine", 15) + if(user.reagents.get_reagent_amount("nanites") < 15) + user.reagents.add_reagent("nanites", 15) + if(user.reagents.get_reagent_amount("syndicate_nanites") < 15) + user.reagents.add_reagent("syndicate_nanites", 15) + else + processing_objects.Remove(src) \ No newline at end of file diff --git a/icons/effects/genetics.dmi b/icons/effects/genetics.dmi index 64e58e5a7b2..819532badfc 100644 Binary files a/icons/effects/genetics.dmi and b/icons/effects/genetics.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index ef5f3bf49f6..ea921601b51 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ