Adds HUD aviators (#4961)

Adds HUD aviators, they can be toggled onto HUD mode or just appearing as aviators. Security variant transforms from security HUD to flash protection. In turn, I've taken away their default glasses in exchange for these. This also adds civilian sunglasses to the loadout for fashion purposes.
This commit is contained in:
ParadoxSpace
2018-08-05 11:23:40 -06:00
committed by Erki
parent 1620d81661
commit f1dd7d562d
11 changed files with 272 additions and 8 deletions

View File

@@ -33,6 +33,16 @@
display_name = "science Goggles"
path = /obj/item/clothing/glasses/science
/datum/gear/eyes/materialaviators
display_name = "aviators, material"
path = /obj/item/clothing/glasses/material/aviator
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Engineering Apprentice","Shaft Miner")
/datum/gear/eyes/mesonaviators
display_name = "aviators, meson"
path = /obj/item/clothing/glasses/meson/aviator
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Engineering Apprentice", "Research Director","Scientist")
/datum/gear/eyes/mesonprescription
display_name = "meson goggles, prescription"
path = /obj/item/clothing/glasses/meson/prescription
@@ -43,20 +53,44 @@
path = /obj/item/clothing/glasses/hud/security
allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Detective", "Forensic Technician")
/datum/gear/eyes/security/aviator
display_name = "aviators, security"
path = /obj/item/clothing/glasses/sunglasses/sechud/aviator
/datum/gear/eyes/medical
display_name = "medical HUD"
path = /obj/item/clothing/glasses/hud/health
allowed_roles = list("Medical Doctor", "Chief Medical Officer", "Chemist", "Paramedic", "Psychiatrist", "Medical Resident")
/datum/gear/eyes/medical/aviator
display_name = "aviators, medical"
path = /obj/item/clothing/glasses/hud/health/aviator
/datum/gear/eyes/shades
display_name = "sunglasses, fat"
display_name = "sunglasses, fat (Security/Command)"
path = /obj/item/clothing/glasses/sunglasses/big
allowed_roles = list("Security Officer", "Head of Security", "Warden", "Captain", "Head of Personnel", "Quartermaster", "Internal Affairs Agent", "Detective", "Forensic Technician")
/datum/gear/eyes/shades/prescriptionsun
display_name = "sunglasses, presciption"
display_name = "sunglasses, presciption (Security/Command)"
path = /obj/item/clothing/glasses/sunglasses/prescription
/datum/gear/eyes/shades/aviator
display_name = "sunglasses, aviator (Security/Command)"
path = /obj/item/clothing/glasses/sunglasses/aviator
/datum/gear/eyes/glasses/fakesun
display_name = "sunglasses, stylish"
path = /obj/item/clothing/glasses/fakesunglasses
/datum/gear/eyes/glasses/fakesun/prescription
display_name = "prescription sunglasses, stylish"
path = /obj/item/clothing/glasses/fakesunglasses/prescription
/datum/gear/eyes/glasses/fakesun/aviator
display_name = "aviators, stylish"
path = /obj/item/clothing/glasses/fakesunglasses/aviator
/datum/gear/eyes/hudpatch
display_name = "iPatch"
path = /obj/item/clothing/glasses/eyepatch/hud

View File

@@ -85,6 +85,43 @@ BLIND // can't see anything
desc = "Optical Meson Scanner with prescription lenses."
prescription = 1
/obj/item/clothing/glasses/meson/aviator
name = "engineering aviators"
desc = "Modified aviator glasses with a toggled meson interface. Comes with bonus prescription overlay."
icon_state = "aviator_eng"
off_state = "aviator"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle HUD"
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
/obj/item/clothing/glasses/meson/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/hud/health/aviator
name = "medical HUD aviators"
desc = "Modified aviator glasses with a toggled health HUD. Comes with bonus prescription overlay."
icon_state = "aviator_med"
off_state = "aviator"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle Mode"
toggleable = 1
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
/obj/item/clothing/glasses/hud/health/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/science
name = "science goggles"
desc = "Used to protect your eyes against harmful chemicals!"
@@ -114,6 +151,25 @@ BLIND // can't see anything
. = ..()
overlay = global_hud.nvg
/obj/item/clothing/glasses/night/aviator
name = "aviators"
desc = "Modified aviator glasses with a toggled night vision interface. Comes with prescription overlay."
icon_state = "aviator_nv"
off_state = "aviator"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle Mode"
toggleable = 1
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
/obj/item/clothing/glasses/night/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/goggles
name = "goggles"
desc = "A simple pair of plain goggles."
@@ -164,6 +220,23 @@ BLIND // can't see anything
vision_flags = SEE_OBJS
item_flags = AIRTIGHT
/obj/item/clothing/glasses/material/aviator
name = "material aviators"
desc = "Modified aviator glasses with a toggled ability to make your head ache. Comes with bonus prescription interface."
icon_state = "aviator_mat"
off_state = "aviator"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle Mode"
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
/obj/item/clothing/glasses/material/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/regular
name = "prescription glasses"
desc = "Made by Nerd. Co."
@@ -221,6 +294,13 @@ BLIND // can't see anything
darkness_view = -1
flash_protection = FLASH_PROTECTION_MODERATE
/obj/item/clothing/glasses/sunglasses/aviator
name = "aviators"
desc = "A pair of designer sunglasses. They should put HUDs in these."
icon_state = "aviator"
item_state = "aviator"
prescription = 1
/obj/item/clothing/glasses/welding
name = "welding goggles"
desc = "Protects the eyes from welders, approved by the mad scientist association."
@@ -234,7 +314,6 @@ BLIND // can't see anything
/obj/item/clothing/glasses/welding/attack_self()
toggle()
/obj/item/clothing/glasses/welding/verb/toggle()
set category = "Object"
set name = "Adjust welding goggles"
@@ -276,7 +355,6 @@ BLIND // can't see anything
item_state = "blindfold"
tint = TINT_BLIND
/obj/item/clothing/glasses/sunglasses/blinders
name = "vaurcae blinders"
desc = "Specially designed Vaurca blindfold, designed to let in just enough light to see."
@@ -291,7 +369,6 @@ BLIND // can't see anything
item_state = null
w_class = 1
/obj/item/clothing/glasses/sunglasses/prescription
name = "prescription sunglasses"
prescription = 1
@@ -301,6 +378,23 @@ BLIND // can't see anything
icon_state = "bigsunglasses"
item_state = "bigsunglasses"
/obj/item/clothing/glasses/fakesunglasses //Sunglasses without flash immunity
name = "stylish sunglasses"
desc = "A pair of designer sunglasses. Doesn't seem like it'll block flashes."
icon_state = "sun"
item_state = "sun"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
/obj/item/clothing/glasses/fakesunglasses/prescription
name = "stylish prescription sunglasses"
prescription = 1
/obj/item/clothing/glasses/fakesunglasses/aviator
desc = "A pair of designer sunglasses. Doesn't seem like it'll block flashes. Comes with built-in prescription lenses."
icon_state = "aviator"
item_state = "aviator"
prescription = 1
/obj/item/clothing/glasses/sunglasses/sechud
name = "HUDsunglasses"
desc = "Sunglasses with a HUD."
@@ -317,6 +411,66 @@ BLIND // can't see anything
icon_state = "swatgoggles"
item_flags = AIRTIGHT
/obj/item/clothing/glasses/sunglasses/sechud/head
name = "advanced aviators"
desc = "Snazzy, advanced aviators with inbuilt combat and security information."
item_state = "hosglasses"
icon_state = "hosglasses"
prescription = 1
/obj/item/clothing/glasses/sunglasses/sechud/aviator
name = "HUD aviators"
desc = "Modified aviator glasses that can be switched between HUD and flash protection modes. Comes with bonus prescription overlay."
icon_state = "sec_hud"
off_state = "sec_flash"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle Mode"
var/on = TRUE
toggleable = TRUE
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
var/hud_holder
/obj/item/clothing/glasses/sunglasses/sechud/aviator/Initialize()
.=..()
hud_holder = hud
/obj/item/clothing/glasses/sunglasses/sechud/aviator/Destroy()
qdel(hud_holder)
hud_holder = null
hud = null
.=..()
/obj/item/clothing/glasses/sunglasses/sechud/aviator/attack_self(mob/user)
if(toggleable && !user.incapacitated())
on = !on
if(on)
flash_protection = FLASH_PROTECTION_NONE
src.hud = hud_holder
to_chat(user, "You switch \the [src] to HUD mode.")
else
flash_protection = initial(flash_protection)
src.hud = null
to_chat(user, "You switch \the [src] to flash protection mode.")
update_icon()
sound_to(user, activation_sound)
user.update_inv_glasses()
user.update_action_buttons()
/obj/item/clothing/glasses/sunglasses/sechud/aviator/update_icon()
if(on)
icon_state = initial(icon_state)
else
icon_state = off_state
/obj/item/clothing/glasses/sunglasses/sechud/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/thermal
name = "optical thermal scanner"
desc = "Thermals in the shape of glasses."
@@ -377,6 +531,23 @@ BLIND // can't see anything
item_state = "syringe_kit"
item_flags = null
/obj/item/clothing/glasses/thermal/aviator
name = "aviators"
desc = "Modified aviator glasses with a toggled thermal-vision mode. Comes with bonus prescription overlay."
icon_state = "aviator_thr"
off_state = "aviator"
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
action_button_name = "Toggle HUD"
activation_sound = 'sound/effects/pop.ogg'
prescription = 1
/obj/item/clothing/glasses/thermal/aviator/verb/toggle()
set category = "Object"
set name = "Toggle Aviators"
set src in usr
attack_self(usr)
/obj/item/clothing/glasses/eyepatch/hud
name = "iPatch"
desc = "For the technologically inclined pirate. It connects directly to the optical nerve of the user, replacing the need for that useless eyeball."