From fca00d0ccca3fc8eafd7e21cf99b1310296ca369 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Fri, 5 Nov 2021 20:59:15 +0000 Subject: [PATCH] [MIRROR] Fixes curator PDA overlays. [MDB IGNORE] (#9248) * Fixes curator PDA overlays. (#62259) * Fixes overlays for the curator PDA. * Update PDA_types.dm * Fixes curator PDA overlays. Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/game/objects/items/devices/PDA/PDA.dm | 53 ++++++++++-------- .../objects/items/devices/PDA/PDA_types.dm | 3 +- icons/obj/pda.dmi | Bin 8375 -> 8567 bytes 3 files changed, 32 insertions(+), 24 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 00452badabb..98211d76c09 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -34,15 +34,29 @@ GLOBAL_LIST_EMPTY(PDAs) light_on = FALSE custom_materials = list(/datum/material/iron=300, /datum/material/glass=100, /datum/material/plastic=100) - //Main variables - var/owner = null // String name of owner - var/default_cartridge = 0 // Access level defined by cartridge - var/obj/item/cartridge/cartridge = null //current cartridge - var/mode = 0 //Controls what menu the PDA will display. 0 is hub; the rest are either built in or based on cartridge. - var/icon_alert = "pda-r" //Icon to be overlayed for message alerts. Taken from the pda icon file. - var/font_index = 0 //This int tells DM which font is currently selected and lets DM know when the last font has been selected so that it can cycle back to the first font when "toggle font" is pressed again. - var/font_mode = "font-family:monospace;" //The currently selected font. - var/background_color = "#808000" //The currently selected background color. + /// String name of owner + var/owner = null + /// Access level defined by cartridge + var/default_cartridge = 0 + /// Current cartridge + var/obj/item/cartridge/cartridge = null + /// Controls what menu the PDA will display. 0 is hub; the rest are either built in or based on cartridge. + var/mode = 0 + /// Icon to be overlayed for message alerts. Taken from the pda icon file. + var/icon_alert = "pda-r" + /// Icon to be overlayed when an active pAI is slotted in. + var/icon_pai = "pai_overlay" + /// Same as above but for an inactive pAI. + var/icon_inactive_pai = "pai_off_overlay" + /** + * This int tells DM which font is currently selected and lets DM know when the last font has been selected + * so that it can cycle back to the first font when "toggle font" is pressed again. + */ + var/font_index = 0 + /// The currently selected font. + var/font_mode = "font-family:monospace;" + /// The currently selected background color. + var/background_color = "#808000" #define FONT_MONO "font-family:monospace;" #define FONT_SHARE "font-family:\"Share Tech Mono\", monospace;letter-spacing:0px;" @@ -84,7 +98,6 @@ GLOBAL_LIST_EMPTY(PDAs) var/list/contained_item = list(/obj/item/pen, /obj/item/toy/crayon, /obj/item/lipstick, /obj/item/flashlight/pen, /obj/item/clothing/mask/cigarette) var/obj/item/inserted_item //Used for pen, crayon, and lipstick insertion or removal. Same as above. - var/overlays_x_offset = 0 //x offset to use for certain overlays var/underline_flag = TRUE //flag for underline @@ -179,26 +192,20 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/update_overlays() . = ..() - if(!initial(icon)) + var/init_icon = initial(icon) + if(!init_icon) return - var/mutable_appearance/overlay = new(initial(icon)) - overlay.pixel_x = overlays_x_offset if(id) - overlay.icon_state = "id_overlay" - . += new /mutable_appearance(overlay) + . += mutable_appearance(init_icon, "id_overlay") if(inserted_item) - overlay.icon_state = "insert_overlay" - . += new /mutable_appearance(overlay) + . += mutable_appearance(init_icon, "insert_overlay") if(light_on) - overlay.icon_state = "light_overlay" - . += new /mutable_appearance(overlay) + . += mutable_appearance(init_icon, "light_overlay") if(pai) if(pai.pai) - overlay.icon_state = "pai_overlay" - . += new /mutable_appearance(overlay) + . += mutable_appearance(init_icon, icon_pai) else - overlay.icon_state = "pai_off_overlay" - . += new /mutable_appearance(overlay) + . += mutable_appearance(init_icon, icon_inactive_pai) /obj/item/pda/MouseDrop(mob/over, src_location, over_location) var/mob/M = usr diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 03068a9d591..216a618c586 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -214,12 +214,13 @@ greyscale_colors = null icon_state = "pda-library" icon_alert = "pda-r-library" + icon_pai = "pai_overlay_library" + icon_inactive_pai = "pai_off_overlay_library" default_cartridge = /obj/item/cartridge/curator inserted_item = /obj/item/pen/fountain desc = "A portable microcomputer by Thinktronic Systems, LTD. This model is a WGW-11 series e-reader." note = "Congratulations, your station has chosen the Thinktronic 5290 WGW-11 Series E-reader and Personal Data Assistant!" silent = TRUE //Quiet in the library! - overlays_x_offset = -3 /obj/item/pda/clear name = "clear PDA" diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 3a75bcea3017fa24c435936d4d0839c282733c94..8a94beb0d8df9a62a27b9d22a80d6d55ba071898 100644 GIT binary patch delta 8164 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