mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 22:42:26 +01:00
HUD Eyepatches (#4513)
from left to right security, medical, meson, material, science, thermal, welder, night vision, standard (no hud) None add any flash protection except the welder HUD (only partly).
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
path = /obj/item/weapon/storage/secure/briefcase/money
|
||||
desc = "A briefcase with 10,000 untraceable credits for funding your sneaky activities."
|
||||
|
||||
/datum/uplink_item/item/tools/firingpin //todo, make this a special syndicate one instead of just a normal one?
|
||||
/datum/uplink_item/item/tools/firingpin //todo, make this a special syndicate one instead of just a normal one?
|
||||
name = "Firing Pin"
|
||||
item_cost = 2
|
||||
path = /obj/item/device/firing_pin
|
||||
@@ -104,3 +104,13 @@
|
||||
name = "Syndicate Cyborg Teleporter"
|
||||
item_cost = 35
|
||||
path = /obj/item/weapon/antag_spawner/borg_tele
|
||||
|
||||
/datum/uplink_item/item/tools/heatpatch
|
||||
name = "HUDPatch, Thermal"
|
||||
item_cost = 6
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/thermal
|
||||
|
||||
/datum/uplink_item/item/tools/nightpatch
|
||||
name = "HUDPatch, Night-Vision"
|
||||
item_cost = 4
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/night
|
||||
|
||||
@@ -41,7 +41,7 @@ var/datum/antagonist/raider/raiders
|
||||
|
||||
var/list/raider_glasses = list(
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/clothing/glasses/thermal/plain/eyepatch,
|
||||
/obj/item/clothing/glasses/eyepatch/hud/thermal,
|
||||
/obj/item/clothing/glasses/thermal/plain/monocle
|
||||
)
|
||||
|
||||
|
||||
@@ -791,7 +791,7 @@
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/eyepatch(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch/hud/thermal(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/smokable/cigarette/cigar/havana(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol(M), slot_belt)
|
||||
@@ -848,7 +848,7 @@
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/eyepatch(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch/hud/thermal(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt)
|
||||
|
||||
@@ -56,3 +56,42 @@
|
||||
/datum/gear/eyes/shades/prescriptionsun
|
||||
display_name = "sunglasses, presciption"
|
||||
path = /obj/item/clothing/glasses/sunglasses/prescription
|
||||
|
||||
/datum/gear/eyes/hudpatch
|
||||
display_name = "iPatch"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud
|
||||
|
||||
/datum/gear/eyes/secpatch
|
||||
display_name = "HUDpatch, Security"
|
||||
path= /obj/item/clothing/glasses/eyepatch/hud/security
|
||||
allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Detective", "Forensic Technician")
|
||||
cost = 2 //snowflake tax
|
||||
|
||||
/datum/gear/eyes/medpatch
|
||||
display_name = "HUDpatch, Medical"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/medical
|
||||
allowed_roles = list("Medical Doctor", "Chief Medical Officer", "Chemist", "Paramedic", "Psychiatrist", "Medical Resident")
|
||||
cost = 2
|
||||
|
||||
/datum/gear/eyes/mespatch
|
||||
display_name = "HUDpatch, Mesons"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/meson
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Engineering Apprentice", "Research Director","Scientist")
|
||||
cost = 2
|
||||
|
||||
/datum/gear/eyes/matpatch
|
||||
display_name = "HUDpatch, Material"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/material
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Engineering Apprentice")
|
||||
cost = 2
|
||||
|
||||
/datum/gear/eyes/scipatch
|
||||
display_name = "HUDpatch, Science"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/science
|
||||
cost = 2
|
||||
|
||||
/datum/gear/eyes/weldpatch
|
||||
display_name = "HUDpatch, Welding"
|
||||
path = /obj/item/clothing/glasses/eyepatch/hud/welder
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Engineering Apprentice","Research Director","Roboticist")
|
||||
cost = 2
|
||||
@@ -105,17 +105,21 @@
|
||||
body_parts_covered = 0
|
||||
var/flipped = 0
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/attack_self(mob/user)
|
||||
/obj/item/clothing/glasses/eyepatch/verb/flip_patch()
|
||||
set name = "Flip Patch"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
if (usr.stat || usr.restrained())
|
||||
return
|
||||
|
||||
src.flipped = !src.flipped
|
||||
if(src.flipped)
|
||||
src.icon_state = "[icon_state]_1"
|
||||
src.item_state = "[icon_state]_1"
|
||||
to_chat(user, "You change \the [src] to cover the left eye.")
|
||||
src.icon_state = "[icon_state]_r"
|
||||
else
|
||||
src.icon_state = initial(icon_state)
|
||||
src.icon_state = initial(icon_state)
|
||||
to_chat(user, "You change \the [src] to cover the right eye.")
|
||||
user.update_inv_glasses()
|
||||
to_chat(usr, "You change \the [src] to cover the [src.flipped ? "left" : "right"] eye.")
|
||||
update_clothing_icon()
|
||||
|
||||
/obj/item/clothing/glasses/monocle
|
||||
name = "monocle"
|
||||
@@ -341,20 +345,133 @@
|
||||
icon_state = "thermoncle"
|
||||
flags = null //doesn't protect eyes because it's a monocle, duh
|
||||
item_flags = null
|
||||
|
||||
body_parts_covered = 0
|
||||
|
||||
/obj/item/clothing/glasses/thermal/plain/eyepatch
|
||||
name = "optical thermal eyepatch"
|
||||
desc = "An eyepatch with built-in thermal optics"
|
||||
icon_state = "eyepatch"
|
||||
item_state = "eyepatch"
|
||||
body_parts_covered = 0
|
||||
item_flags = null
|
||||
|
||||
/obj/item/clothing/glasses/thermal/plain/jensen
|
||||
name = "optical thermal implants"
|
||||
desc = "A set of implantable lenses designed to augment your vision"
|
||||
icon_state = "thermalimplants"
|
||||
item_state = "syringe_kit"
|
||||
item_flags = null
|
||||
item_flags = null
|
||||
|
||||
/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."
|
||||
icon_state = "hudpatch"
|
||||
item_state = "hudpatch"
|
||||
off_state = "hudpatch"
|
||||
action_button_name = "Toggle iPatch"
|
||||
prescription = 1 //To emulate not having one eyeball
|
||||
toggleable = 1
|
||||
var/eye_color = COLOR_WHITE
|
||||
var/image/mob_overlay
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/Initialize()
|
||||
. = ..()
|
||||
mob_overlay = image('icons/obj/clothing/glasses.dmi', "[icon_state]_eye")
|
||||
mob_overlay.appearance_flags = RESET_COLOR
|
||||
mob_overlay.color = eye_color
|
||||
mob_overlay.layer = LIGHTING_LAYER+1
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/equipped(mob/user, slot)
|
||||
if (slot == slot_glasses)
|
||||
user.add_overlay(mob_overlay, TRUE)
|
||||
else
|
||||
user.cut_overlay(mob_overlay, TRUE)
|
||||
. =..()
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/Destroy()
|
||||
if (ishuman(loc))
|
||||
loc.cut_overlay(mob_overlay, TRUE)
|
||||
QDEL_NULL(mob_overlay)
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/attack_self()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/update_icon()
|
||||
cut_overlays()
|
||||
if(active)
|
||||
var/image/eye = image('icons/obj/clothing/glasses.dmi', "[icon_state]_ovr")
|
||||
eye.appearance_flags = RESET_COLOR
|
||||
eye.color = eye_color
|
||||
add_overlay (eye)
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/forceMove(atom/newloc)
|
||||
if (!ishuman(loc))
|
||||
return ..()
|
||||
|
||||
var/mob/M = loc
|
||||
. = ..()
|
||||
if (loc !=M)
|
||||
M.cut_overlay(mob_overlay, TRUE)
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/security
|
||||
name = "HUDpatch"
|
||||
desc = "A Security-type heads-up display that connects directly to the optic nerve of the user, replacing what you lost in Space 'Nam."
|
||||
hud = /obj/item/clothing/glasses/hud/security
|
||||
eye_color = COLOR_BLUE
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/medical
|
||||
name = "MEDpatch"
|
||||
desc = "A Medical-type heads-up display that connects directly to the optic nerve of the user, giving you information about a patient your department will likely ignore."
|
||||
hud = /obj/item/clothing/glasses/hud/health
|
||||
eye_color = COLOR_CYAN
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/meson
|
||||
name = "MESpatch"
|
||||
desc = "An optical meson scanner display that connects directly to the optic nerve of the user, giving you cool green vision at the low cost of your only other eye."
|
||||
vision_flags = SEE_TURFS
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
eye_color = COLOR_LIME
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/meson/Initialize()
|
||||
..()
|
||||
overlay = global_hud.meson
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/material
|
||||
name = "MATpatch"
|
||||
desc = "An optical material scanner display that connects directly to the optic nerve of the user, making you a professional at I Spy."
|
||||
vision_flags = SEE_OBJS
|
||||
eye_color = COLOR_LUMINOL
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/science
|
||||
name = "SCIpatch"
|
||||
desc = "A science-type heads-up display that connects directly to the optic nerve of the user. Does nothing, but at least you won't get acid in your eye socket."
|
||||
eye_color = COLOR_PURPLE
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/science/Initialize()
|
||||
..()
|
||||
overlay = global_hud.science
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/thermal
|
||||
name = "HEATpatch"
|
||||
desc = "A thermal-type heads-up display that connects directly to the optic nerve of the user. Double the tacticool, half the eyes."
|
||||
vision_flags = SEE_MOBS
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
eye_color = COLOR_ORANGE
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/thermal/New()
|
||||
..()
|
||||
overlay = global_hud.thermal
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/welder
|
||||
name = "WELDpatch"
|
||||
desc = "A light-filtering display that connects directly to the optic nerve of the user, blocking light for exactly one eye. Choose wisely."
|
||||
flash_protection = FLASH_PROTECTION_MODERATE
|
||||
tint = TINT_MODERATE
|
||||
eye_color = COLOR_BLACK
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/night
|
||||
name = "NITEpatch"
|
||||
desc = "A light-amplifying display that connects directly to the optic nerve of the user. Helps you avoid a battery charge from bumping an officer in the dark."
|
||||
darkness_view = 7
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
eye_color = COLOR_GREEN
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch/hud/night/New()
|
||||
..()
|
||||
overlay = global_hud.nvg
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
# balance
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: ParadoxSpace
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- rscadd: "Adds HUD Eyepatches for Security, Medical, Mesons, Material, and Science."
|
||||
- rscadd: "Adds civilian iPatch for general use."
|
||||
- rscadd: "Adds Welder Eyepatch."
|
||||
- rscadd: "Adds Night Vision and Thermal Vision eyepatches to uplink, and heist roundstart."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.8 KiB |
Reference in New Issue
Block a user