diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index a94a18bce614e..f4c2a5a27f4e7 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -128,8 +128,31 @@ /obj/item/clothing/glasses/eyepatch name = "eyepatch" desc = "Yarr." - icon_state = "eyepatch" - item_state = "eyepatch" + icon_state = "eyepatch-0" + item_state = "eyepatch-0" + var/flipped = FALSE + +/obj/item/clothing/glasses/eyepatch/AltClick(mob/user) + . = ..() + flipped = !flipped + to_chat(user, "You shift the eyepatch to cover the [flipped == 0 ? "right" : "left"] eye.") + icon_state = "eyepatch-[flipped]" + item_state = "eyepatch-[flipped]" + update_appearance() + +/obj/item/clothing/glasses/eyepatch/examine(mob/user) + . = ..() + . += "It is currently aligned to the [flipped == 0 ? "right" : "left"] side." + +/obj/item/clothing/glasses/eyepatch/attackby(obj/item/I, mob/user, params) + . = ..() + if(istype(I, /obj/item/clothing/glasses/eyepatch)) + var/obj/item/clothing/glasses/eyepatch/old_patch = I + var/obj/item/clothing/glasses/blindfold/eyepatch/double_patch = new/obj/item/clothing/glasses/blindfold/eyepatch + double_patch.forceMove(user.drop_location()) + to_chat(user, "You combine the eyepatches with a knot.") + old_patch.Destroy() + Destroy() /obj/item/clothing/glasses/monocle name = "monocle" @@ -348,6 +371,21 @@ M.color = "#[H.eye_color]" . += M +/obj/item/clothing/glasses/blindfold/eyepatch + name = "double eyepatch" + desc = "For those pirates who've been at it a while. May interfere with navigating ability." + icon_state = "eyepatchd" + item_state = "eyepatchd" + +/obj/item/clothing/glasses/blindfold/eyepatch/attack_self(mob/user) + . = ..() + var/obj/item/clothing/glasses/eyepatch/patch_one = new/obj/item/clothing/glasses/eyepatch + var/obj/item/clothing/glasses/eyepatch/patch_two = new/obj/item/clothing/glasses/eyepatch + patch_one.forceMove(user.drop_location()) + patch_two.forceMove(user.drop_location()) + to_chat(user, "You undo the knot on the eyepatches.") + Destroy() + /obj/item/clothing/glasses/sunglasses/big desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks flashes." icon_state = "bigsunglasses" @@ -411,8 +449,21 @@ /obj/item/clothing/glasses/thermal/eyepatch name = "optical thermal eyepatch" desc = "An eyepatch with built-in thermal optics." - icon_state = "eyepatch" - item_state = "eyepatch" + icon_state = "eyepatch-0" + item_state = "eyepatch-0" + var/flipped = FALSE + +/obj/item/clothing/glasses/thermal/eyepatch/AltClick(mob/user) + . = ..() + flipped = !flipped + to_chat(user, "You shift the eyepatch to cover the [flipped == 0 ? "right" : "left"] eye.") + icon_state = "eyepatch-[flipped]" + item_state = "eyepatch-[flipped]" + update_appearance() + +/obj/item/clothing/glasses/thermal/eyepatch/examine(mob/user) + . = ..() + . += "It is currently aligned to the [flipped == 0 ? "right" : "left"] side." /obj/item/clothing/glasses/cold name = "cold goggles" diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index bd5cedd2e3d72..fd802cf55ec69 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -128,7 +128,20 @@ /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch name = "eyepatch HUD" desc = "A heads-up display that connects directly to the optical nerve of the user, replacing the need for that useless eyeball." - icon_state = "hudpatch" + icon_state = "hudpatch-0" + var/flipped = FALSE + +/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/AltClick(mob/user) + . = ..() + flipped = !flipped + to_chat(user, "You shift the hudpatch to cover the [flipped == 0 ? "right" : "left"] eye.") + icon_state = "hudpatch-[flipped]" + item_state = "hudpatch-[flipped]" + update_appearance() + +/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/examine(mob/user) + . = ..() + . += "It is currently aligned to the [flipped == 0 ? "right" : "left"] side." /obj/item/clothing/glasses/hud/security/sunglasses name = "security HUDSunglasses" diff --git a/icons/mob/clothing/eyes.dmi b/icons/mob/clothing/eyes.dmi index bdfe41995f6d7..9af8d7dc8bba5 100644 Binary files a/icons/mob/clothing/eyes.dmi and b/icons/mob/clothing/eyes.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index c32434c83f1ec..45d868f696921 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ