diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ef2a602ed83..4e10c3e73e9 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -924,7 +924,7 @@ icon_state = "engivend" icon_deny = "engivend-deny" req_access_txt = "11" //Engineering Equipment access - products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10) + products = list(/obj/item/clothing/glasses/meson/engine = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10) contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3) premium = list(/obj/item/weapon/storage/belt/utility = 3) @@ -936,7 +936,7 @@ icon_deny = "engi-deny" req_access_txt = "11" products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/sneakers/orange = 4,/obj/item/clothing/head/hardhat = 4, - /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/color/yellow = 4, /obj/item/weapon/screwdriver = 12, + /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson/engine = 4,/obj/item/clothing/gloves/color/yellow = 4, /obj/item/weapon/screwdriver = 12, /obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12, /obj/item/weapon/stock_parts/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8, /obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 8484f67c549..8ae39adf6e2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -33,6 +33,7 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/device/multitool(src) new /obj/item/device/flash/handheld(src) + new /obj/item/clothing/glasses/meson/engine(src) return /obj/structure/closet/secure_closet/engineering_electrical @@ -111,7 +112,7 @@ new /obj/item/device/radio/headset/headset_eng(src) new /obj/item/clothing/suit/hazardvest(src) new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/glasses/meson(src) + new /obj/item/clothing/glasses/meson/engine(src) return /obj/structure/closet/secure_closet/atmospherics diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 71023368948..a6186d8ca29 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1182,7 +1182,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/engi(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Engineer(M), slot_wear_id) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(M), slot_glasses) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/engine(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/engi(M), slot_in_backpack) diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 7c4b19480af..b465100900b 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -1,38 +1,42 @@ //Engineering Mesons /obj/item/clothing/glasses/meson/engine - name = "Engineering Meson Scanner" + name = "Engineering Scanner Goggles" desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes." - icon_state = "meson" + icon_state = "trayson-meson" item_state = "glasses" origin_tech = "magnets=2;engineering=2" darkness_view = 1 vision_flags = SEE_TURFS invis_view = SEE_INVISIBLE_MINIMUM - var/state = 0 //0 - regular mesons mode 1 - t-ray mode + var/mode = 0 //0 - regular mesons mode 1 - t-ray mode var/invis_objects = list() - action_button_name = "Change scanning mode" + action_button_name = "Change Scanning Mode" -/obj/item/clothing/glasses/meson/engine/attack_self(mob/user) +/obj/item/clothing/glasses/meson/engine/attack_self() ui_action_click() -/obj/item/clothing/glasses/meson/engine/ui_action_click(mob/user) - state = !state - if(state) +/obj/item/clothing/glasses/meson/engine/ui_action_click() + mode = !mode + + if(mode) SSobj.processing |= src vision_flags = 0 darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING + usr << "You toggle the goggles scanning mode to \[T-Ray]." else SSobj.processing.Remove(src) vision_flags = SEE_TURFS darkness_view = 1 invis_view = SEE_INVISIBLE_MINIMUM + usr << "You toggle the goggles scanning mode to \[Meson]." invis_update() + update_icon() /obj/item/clothing/glasses/meson/engine/process() - if(!state) + if(!mode) return null if(!istype(loc,/mob/living/carbon/human)) @@ -78,7 +82,11 @@ return 0 var/mob/living/carbon/human/user = loc - return state & (user.glasses == src) + return mode & (user.glasses == src) /obj/item/clothing/glasses/meson/engine/update_icon() - icon_state = state ? "material" : "meson" + icon_state = mode ? "trayson-tray" : "trayson-meson" + if(istype(loc,/mob/living/carbon/human/)) + var/mob/living/carbon/human/user = loc + if(user.glasses == src) + user.update_inv_glasses() diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 63e3849210e..16add9a8e5f 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -147,5 +147,4 @@ name = "Optical Thermal Eyepatch" desc = "An eyepatch with built-in thermal optics." icon_state = "eyepatch" - item_state = "eyepatch" - + item_state = "eyepatch" \ No newline at end of file diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 78998bac96e..a9a0e19d6af 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -355,9 +355,15 @@ if(M.stat == CONSCIOUS) if (istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if(istype(H.glasses,/obj/item/clothing/glasses/meson)) - H << "You look directly into the [src.name], good thing you had your protective eyewear on!" - return + if(istype(H.glasses,/obj/item/clothing/glasses/meson/engine)) + var/obj/item/clothing/glasses/meson/engine/G = H.glasses + if(!G.mode) + H << "You look directly into the [src.name], good thing you had your protective eyewear on!" + return + else + if(istype(H.glasses,/obj/item/clothing/glasses/meson)) + H << "You look directly into the [src.name], good thing you had your protective eyewear on!" + return M.apply_effect(3, STUN) M.visible_message("[M] stares blankly at the [src.name]!", \ "You look directly into the [src.name] and feel weak.") diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 50aaac4afb1..0e2b77b33cb 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -307,6 +307,16 @@ datum/design/proc/CalcReliability(var/list/temp_techs) build_path = /obj/item/clothing/glasses/meson category = list("Equipement") +/datum/design/engine_goggles + name = "Engineering Scanner Goggles" + desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes." + id = "engine_goggles" + req_tech = list("materials" = 4, "magnets" = 3, "engineering" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 200, "$glass" = 300, "$plasma" = 100) + build_path = /obj/item/clothing/glasses/meson/engine + category = list("Equipement") + /datum/design/night_vision_goggles name = "Night Vision Goggles" desc = "Goggles that let you see through darkness unhindered." diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index b79cf6e60fa..61ce2f7a71f 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index c6d3db0432c..c6ffd4ed9c5 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ