diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 0bac558e224..f53ffc6c786 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -168,6 +168,7 @@ H.put_in_hands(storedpda) UnregisterSignal(storedpda, COMSIG_PARENT_QDELETING) + storedpda.update_icon(UPDATE_ICON_STATE|UPDATE_OVERLAYS) storedpda = null update_icon() diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 01594e14e36..4603acd0526 100644 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -75,6 +75,7 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge = new default_cartridge(src) cartridge.update_programs(src) add_pen(new default_pen(src)) + update_icon(UPDATE_OVERLAYS) start_program(find_program(/datum/data/pda/app/main_menu)) silent = initial(silent) @@ -141,14 +142,40 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/update_overlays() . = ..() + var/datum/data/pda/utility/flashlight/flash = find_program(/datum/data/pda/utility/flashlight) + if(flash.fon) + switch(icon_state) + if("pda-library") + . += image('icons/obj/pda.dmi', "pda-light-library") + if("pda-syndi") + . += image('icons/obj/pda.dmi', "pda-light-syndi") + else + . += image('icons/obj/pda.dmi', "pda-light") + if(id) - . += image('icons/goonstation/objects/pda_overlay.dmi', id.icon_state) + switch(icon_state) + if("pda-library") + . += image('icons/obj/pda.dmi', "pda-id-library") + if("pda-syndi") + . += image('icons/obj/pda.dmi', "pda-id-syndi") + else + . += image('icons/obj/pda.dmi', "pda-id") + + if(held_pen) + if(icon_state != "pda-syndi") + if(icon_state == "pda-library") + . += image('icons/obj/pda.dmi', "pda-pen-library") + else + . += image('icons/obj/pda.dmi', "pda-pen") if(length(notifying_programs)) - if(icon_state == "pda-library") - . += image('icons/obj/pda.dmi', "pda-r-library") - else - . += image('icons/obj/pda.dmi', "pda-r") + switch(icon_state) + if("pda-library") + . += image('icons/obj/pda.dmi', "pda-dm-library") + if("pda-syndi") + . += image('icons/obj/pda.dmi', "pda-dm-syndi") + else + . += image('icons/obj/pda.dmi', "pda-dm") /obj/item/pda/proc/close(mob/user) SStgui.close_uis(src) @@ -214,6 +241,7 @@ GLOBAL_LIST_EMPTY(PDAs) playsound(src, 'sound/machines/pda_button2.ogg', 50, TRUE) user.put_in_hands(held_pen) clear_pen() + update_icon(UPDATE_OVERLAYS) else to_chat(user, "This PDA does not have a pen in it.") else @@ -304,10 +332,12 @@ GLOBAL_LIST_EMPTY(PDAs) P.forceMove(src) held_pen = P RegisterSignal(held_pen, COMSIG_PARENT_QDELETING, PROC_REF(clear_pen)) + update_icon(UPDATE_OVERLAYS) /obj/item/pda/proc/clear_pen() UnregisterSignal(held_pen, COMSIG_PARENT_QDELETING) held_pen = null + update_icon(UPDATE_OVERLAYS) /obj/item/pda/attack__legacy__attackchain(mob/living/C as mob, mob/living/user as mob) if(iscarbon(C) && scanmode) diff --git a/code/modules/pda/pda_tgui.dm b/code/modules/pda/pda_tgui.dm index 96c1a8f5296..44e320b09e4 100644 --- a/code/modules/pda/pda_tgui.dm +++ b/code/modules/pda/pda_tgui.dm @@ -80,11 +80,12 @@ start_program(A) if("Eject")//Ejects the cart, only done from hub. if(!isnull(cartridge)) - var/turf/T = loc - if(ismob(T)) - T = T.loc var/obj/item/cartridge/C = cartridge - C.forceMove(T) + if(ismob(loc)) + var/mob/T = loc + T.put_in_hands(C) + else + C.forceMove(get_turf(src)) if(scanmode in C.programs) scanmode = null if(current_app in C.programs) diff --git a/code/modules/pda/utilities.dm b/code/modules/pda/utilities.dm index 7a4ce1993fb..4effd377dee 100644 --- a/code/modules/pda/utilities.dm +++ b/code/modules/pda/utilities.dm @@ -10,10 +10,7 @@ name = fon ? "Disable Flashlight" : "Enable Flashlight" pda.update_shortcuts() pda.set_light(fon ? f_lum : 0) - if(fon) - pda.overlays += image('icons/obj/pda.dmi', "pda-light") - else - pda.overlays -= image('icons/obj/pda.dmi', "pda-light") + pda.update_icon(UPDATE_ICON_STATE|UPDATE_OVERLAYS) if(!pda.silent) playsound(pda, 'sound/machines/terminal_select.ogg', 15, TRUE) diff --git a/icons/goonstation/objects/pda_overlay.dmi b/icons/goonstation/objects/pda_overlay.dmi deleted file mode 100644 index 3b5068e1303..00000000000 Binary files a/icons/goonstation/objects/pda_overlay.dmi and /dev/null differ diff --git a/icons/mob/screen_ai.dmi b/icons/mob/screen_ai.dmi index 989f62e68d0..100301a1d50 100644 Binary files a/icons/mob/screen_ai.dmi and b/icons/mob/screen_ai.dmi differ diff --git a/icons/mob/screen_midnight.dmi b/icons/mob/screen_midnight.dmi index b20dd3e0d75..1278f026352 100644 Binary files a/icons/mob/screen_midnight.dmi and b/icons/mob/screen_midnight.dmi differ diff --git a/icons/mob/screen_ninja.dmi b/icons/mob/screen_ninja.dmi index 8c96901937e..cc89ea18ed0 100644 Binary files a/icons/mob/screen_ninja.dmi and b/icons/mob/screen_ninja.dmi differ diff --git a/icons/mob/screen_operative.dmi b/icons/mob/screen_operative.dmi index 0d96bfe44f4..125d78a0217 100644 Binary files a/icons/mob/screen_operative.dmi and b/icons/mob/screen_operative.dmi differ diff --git a/icons/mob/screen_payback.dmi b/icons/mob/screen_payback.dmi index 137798aee51..3c01db08757 100644 Binary files a/icons/mob/screen_payback.dmi and b/icons/mob/screen_payback.dmi differ diff --git a/icons/mob/screen_plasmafire.dmi b/icons/mob/screen_plasmafire.dmi index 6283445e072..cb64ea9c5c5 100644 Binary files a/icons/mob/screen_plasmafire.dmi and b/icons/mob/screen_plasmafire.dmi differ diff --git a/icons/mob/screen_retro.dmi b/icons/mob/screen_retro.dmi index a031cf4db01..84091a43c9a 100644 Binary files a/icons/mob/screen_retro.dmi and b/icons/mob/screen_retro.dmi differ diff --git a/icons/mob/screen_slimecore.dmi b/icons/mob/screen_slimecore.dmi index ce1a5b7db8e..5a042d0d610 100644 Binary files a/icons/mob/screen_slimecore.dmi and b/icons/mob/screen_slimecore.dmi differ diff --git a/icons/mob/screen_white.dmi b/icons/mob/screen_white.dmi index b0cb9551d7a..3291e1e360f 100644 Binary files a/icons/mob/screen_white.dmi and b/icons/mob/screen_white.dmi differ diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 1a772a813e4..77e236449f3 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ