Skip to content

Adds Prescription HUD Aviator Crafting/Loadout Options + Other Modular Eyewear Housekeeping#1075

Open
Geoengi wants to merge 31 commits into
DopplerShift13:masterfrom
Geoengi:ihavespecialeyes
Open

Adds Prescription HUD Aviator Crafting/Loadout Options + Other Modular Eyewear Housekeeping#1075
Geoengi wants to merge 31 commits into
DopplerShift13:masterfrom
Geoengi:ihavespecialeyes

Conversation

@Geoengi
Copy link
Copy Markdown

@Geoengi Geoengi commented May 21, 2026

About The Pull Request

  • Adds a prescription variant of the default aviators.
  • Adds an unused variant of the trick blindfold to the loadout, separate from the alt-skin versions you can make with the requisite HUD eyepatch.
  • Adds crafting/removal recipes for prescription aviators and their HUD variants, placing them in the loadout too.
  • White eyepatches are craftable for two cloth, the same price as the same as the normal variant.
  • New and previous HUD crafting recipes are moved to the equipment category, rather than clothing, like the OG /TG/ HUD sunglasses recipe.
  • Removes a completely unused, fake variant of the aviators.
  • Changed the names of some eyepatch crafting recipes (HUD comes before eyepatch in the crafted item, not after, like it was).
  • Give aviators, various eyepatches, colorable glasses, blindfold variants, and retinal projectors in-hand icons.
  • Fixes a bug where, if you equipped prescription aviators while they were off, they wouldn't correct your nearsightedness when you turn them on and vice versa. They now always correct your vision because it's the lenses, not the optical matrix, that should provide that benefit.
  • Changed the description of the default aviator mode switching and added overrides on its subvariants without flash protection.
  • Gives a little tint to the flash protection modes of the aviators, fitting in line with other glasses that have flash protection.
  • Switches the on and off icon state of the default aviator.
  • Fixes a reversed sprite state for the sec HUD eyepatch and changed its color per board request.
  • Added icons to each set of glasses that correct nearsightedness.

Why It's Good For The Game

The prescription aviators variants are something in the code that were not mentioned ANYWHERE, despite being a very helpful alternative to eye implants for those using the nearsighted trait, even if you don't want a HUD! And, much like the HUD eyepatches, giving the option for crafting them so said nearsighted characters can replace their pair is also good. The icon changes were due to the fact that the original aviators looked to be more transparent when in its "flash blocking" mode, and the opposite when not, which was a little counterintuitive. Otherwise, moving (almost) all of the crafting recipes for the HUD patches/glasses to the equipment tab, giving the white eyepatch a crafting recipe, crafting delay, and description changes are for consistency, and consistency is good. So are the few bug fixes and the special request. Fellow glasses users, we're eating good tonight.

Testing Evidence

Screenshots/Videos

Crafting changes:
image

Loadout changes:
image

Security aviator exclusive in-hand sprite:
dreamseeker_CUEQk4WpJ2

Default Aviators in non-flash protect mode:
dreamseeker_HatQstUCVu

Default Aviators in flash protect mode:
dreamseeker_zRed7l37aU

New sec HUD eyepatch color:
image

Changelog

🆑
add: Default aviators now have a prescription variant!
add: Prescription HUD and default aviators have crafting/removal recipes and loudout options now!
add: Another unused variant of the fake blindfold is also added to the loadout menu.
add: All aviators, eyepatches, blindfold variants, colorable glasses, and retinal projectors now have in-hand icons.
add: White eyepatches are craftable now for two cloth.
del: Removed the unused, fake version of aviators.
qol: Added icons to the loadout screen to denote which glasses correct nearsightedness.
spellcheck: Cleaned up the naming of eyepatch crafting recipes and some eyewear descriptions.
fix: Moved Doppler-specific HUD crafting recipes to the equipment category and gave a slight delay in crafting, mirroring /TG/.
fix: Prescription aviators no longer remove TRAIT_NEARSIGHTED_CORRECTED when equipped while off.
fix: Fixes a reversed directional sprite for the sec HUD eyepatch.
image: Switches the on/off icon states for the default aviator to make it more intuitive when it's in flash protection mode.
image: Changes the color of the sec HUD eyepatch to be a little lighter per request.
/:cl:

@github-actions github-actions Bot added Sprites Funny little pixels on our screen Removal Goodbye Fix Pest removal; Bugs Feature Something new, something fresh. Grammar and Formatting English 101 labels May 21, 2026
@Geoengi
Copy link
Copy Markdown
Author

Geoengi commented May 21, 2026

Okay, this time the failing completion isn't my fault. Damn you, phantom_pain_head..? Hnnnrgh...

Maxresdefault

@kannthus
Copy link
Copy Markdown
Member

Lovely work here, Thank You! 🫶

Geoengi and others added 8 commits May 21, 2026 10:24
Comment on lines +200 to +202
/datum/loadout_item/glasses/blinding/fake_blindfold/obsolete
name = "Obsolete Fake Blindfold"
item_path = /obj/item/clothing/glasses/trickblindfold/obsolete
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what actually is this item?
mostly cause the naming doesn't tell me much, so it wouldn't be clear to me or to most other players
the actual question is "is there a better way to name this entry or the item itself if it's called that?"

as a sidenote, if it's a type of blindfold, it should follow the other blindfold entries' format of Blindfold (type, type 2) ala Blindfold (Black, Fake) as you can see above. we do this so all the blindfolds are sorted next to each other in the menu
if it's a very specific type of item on its own, this current naming scheme is fine

Copy link
Copy Markdown
Author

@Geoengi Geoengi May 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a variant (or, actually, base) of the blindfold HUDs, without the HUD or the making you blind upon equipping it either. You can access the other variants by alt-click reskinning the eyepatch HUDs, except for this one, since it had no eyepatch HUD counterpart. I might add one, thinking about it, for parity.

Comment on lines +115 to +138
/datum/loadout_item/glasses/hud/aviator/prescription
name = "Prescription Aviators (None)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/prescription

/datum/loadout_item/glasses/hud/aviator_meson/prescription
name = "Prescription Aviators (Meson)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription

/datum/loadout_item/glasses/hud/aviator_health/prescription
name = "Prescription Aviators (Medical)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription

/datum/loadout_item/glasses/hud/aviator_security/prescription
name = "Prescription Aviators (Security)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/security/prescription

/datum/loadout_item/glasses/hud/aviator_diagnostic/prescription
name = "Prescription Aviators (Diagnostics)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription

/datum/loadout_item/glasses/hud/aviator_science/prescription
name = "Prescription Aviators (Science)"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/science/prescription

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right so, the loadout datum typepaths usually shouldn't be subtypes of each other because there's nothing they're actually inheriting, and subtyping only adds to the confusion there
how we structure them is usually like, for example

/datum/loadout_item/[category]/[sub-category]/[item]
/datum/loadout_item/glasses/hud/aviator_science

IDEALLY I feel these should be a TOGGLE on these loadout options, rather than a whole separate thing, to avoid loadout bloat

but at least it may be better to rename them to Aviators (Medical, Prescription) or Aviators (Prescription) (or Aviators (None, Prescription) if you prefer being explicit with "these are hud aviators with no huds but yes prescription") for the one without anything
this being so the medical aviators are sorted next to each other, rather than two visually indistinguishable medical aviators sitting separately

You may however want to consider adding something like this for the prescription aviators, so there's a little icon with tooltip telling you it's special rather than needing to hover over both to see the difference in the name:

/datum/loadout_item/head/helmets/fullhelmet
name = "Yennika Full Helmet"
item_path = /obj/item/clothing/head/helmet/sec/fullhelmet
/datum/loadout_item/head/helmets/fullhelmet/get_item_information()
. = ..()
.[FA_ICON_CIRCLE_EXCLAMATION] = "Cannot be taken off!"

or, pseudocode (fill in yourself and remove my TODO comments):

/// Prescription hud glasses
/datum/loadout_item/glasses/hud/prescription
	abstract_type = /datum/loadout_item/glasses/hud/prescription

/datum/loadout_item/glasses/hud/prescription/get_item_information()
	. = ..()
	.[FA_ICON_CIRCLE_EXCLAMATION] = "Prescription Glasses" // TODO: pick a fitting fontawesome icon from code/__DEFINES/font_awesome_icons.dm, maybe some type of glasses?

/datum/loadout_item/glasses/hud/prescription/aviator_meson
	name = "Aviators (Meson, Prescription)"
	item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription

// TODO: fill in the rest

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a FA icon to all of the glasses, changed the naming scheme to the suggested one, and applied it to the pre-existing prescription glasses. It sorted right beside their non-prescription variant, as you said. I updated the details section, too, if you'd like to see it in action.

Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm Outdated
Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm
Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm Outdated
Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm Outdated
Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm Outdated
Comment thread modular_doppler/modular_cosmetics/code/face/glasses.dm Outdated
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Signed-off-by: Geoengi <139566513+Geoengi@users.noreply.github.com>
@github-actions github-actions Bot requested a review from 00-Steven May 25, 2026 03:11
Geoengi and others added 4 commits May 25, 2026 01:20
This reverts commit 7be377b.
Signed-off-by: Geoengi <139566513+Geoengi@users.noreply.github.com>
@github-actions github-actions Bot added the Quality of Life Makes life a little bit easier. label May 25, 2026
@Geoengi
Copy link
Copy Markdown
Author

Geoengi commented May 25, 2026

Another tag enters the fold...
githubmoment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Something new, something fresh. Fix Pest removal; Bugs Grammar and Formatting English 101 Quality of Life Makes life a little bit easier. Removal Goodbye Sprites Funny little pixels on our screen

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants