//Visor modules for MODsuits ///Base Visor - Adds a specific HUD and traits to you. /obj/item/mod/module/visor name = "MOD visor module" desc = "A heads-up display installed into the visor of the suit. They say these also let you see behind you." module_type = MODULE_TOGGLE complexity = 2 active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/visor) cooldown_time = 0.5 SECONDS /// The HUD type given by the visor. var/hud_type /// The traits given by the visor. var/list/visor_traits = list() /obj/item/mod/module/visor/on_activation() . = ..() if(!.) return if(hud_type) var/datum/atom_hud/hud = GLOB.huds[hud_type] hud.show_to(mod.wearer) for(var/trait in visor_traits) ADD_TRAIT(mod.wearer, trait, MOD_TRAIT) mod.wearer.update_sight() /obj/item/mod/module/visor/on_deactivation(display_message = TRUE, deleting = FALSE) . = ..() if(!.) return if(hud_type) var/datum/atom_hud/hud = GLOB.huds[hud_type] hud.hide_from(mod.wearer) for(var/trait in visor_traits) REMOVE_TRAIT(mod.wearer, trait, MOD_TRAIT) mod.wearer.update_sight() //Medical Visor /obj/item/mod/module/visor/medhud name = "MOD medical visor module" desc = "A heads-up display installed into the visor of the suit. This cross-references suit sensor data with a modern \ biological scanning suite, allowing the user to visualize the current health of organic lifeforms, as well as \ access data such as patient files in a convenient readout. They say these also let you see behind you." icon_state = "medhud_visor" hud_type = DATA_HUD_MEDICAL_ADVANCED visor_traits = list(TRAIT_MEDICAL_HUD) //Diagnostic Visor /obj/item/mod/module/visor/diaghud name = "MOD diagnostic visor module" desc = "A heads-up display installed into the visor of the suit. This uses a series of advanced sensors to access data \ from advanced machinery, exosuits, and other devices, allowing the user to visualize current power levels \ and integrity of such. They say these also let you see behind you." icon_state = "diaghud_visor" hud_type = DATA_HUD_DIAGNOSTIC_ADVANCED visor_traits = list(TRAIT_DIAGNOSTIC_HUD) //Security Visor /obj/item/mod/module/visor/sechud name = "MOD security visor module" desc = "A heads-up display installed into the visor of the suit. This module is a heavily-retrofitted targeting system, \ plugged into various criminal databases to be able to view arrest records, command simple security-oriented robots, \ and generally know who to shoot. They say these also let you see behind you." icon_state = "sechud_visor" hud_type = DATA_HUD_SECURITY_ADVANCED visor_traits = list(TRAIT_SECURITY_HUD) //Meson Visor /obj/item/mod/module/visor/meson name = "MOD meson visor module" desc = "A heads-up display installed into the visor of the suit. This module is based off well-loved meson scanner \ technology, used by construction workers and miners across the galaxy to see basic structural and terrain layouts \ through walls, regardless of lighting conditions. They say these also let you see behind you." icon_state = "meson_visor" visor_traits = list(TRAIT_MESON_VISION, TRAIT_MADNESS_IMMUNE) //Thermal Visor /obj/item/mod/module/visor/thermal name = "MOD thermal visor module" desc = "A heads-up display installed into the visor of the suit. This uses a small IR scanner to detect and identify \ the thermal radiation output of objects near the user. While it can detect the heat output of even something as \ small as a rodent, it still produces irritating red overlay. They say these also let you see behind you." icon_state = "thermal_visor" visor_traits = list(TRAIT_THERMAL_VISION) //Night Visor /obj/item/mod/module/visor/night name = "MOD night visor module" desc = "A heads-up display installed into the visor of the suit. Typical for both civilian and military applications, \ this allows the user to perceive their surroundings while in complete darkness, enhancing the view by tenfold; \ yet brightening everything into a spooky green glow. They say these also let you see behind you." icon_state = "night_visor" visor_traits = list(TRAIT_TRUE_NIGHT_VISION)