From efaa99ae2711b22b8387b5249e099553e4091252 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 1 Mar 2020 23:17:35 +0100 Subject: [PATCH 1/3] some dozens lines about PDA/update_overlays and cryopods/MMIs. --- code/game/machinery/cloning.dm | 3 +- code/game/machinery/cryopod.dm | 34 +++++++++++------- code/game/objects/items/devices/PDA/PDA.dm | 13 +++---- .../objects/items/devices/PDA/PDA_types.dm | 2 -- icons/obj/pda.dmi | Bin 16051 -> 16000 bytes 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index b42b5cf41f..bbb23e2184 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -499,7 +499,6 @@ gib2.pixel_x = round(cos(world.time * 3)) . += gib2 . += gib1 - . += "cover-on" else if(occupant) var/image/occupant_overlay var/completion = (flesh_number - unattached_flesh.len) / flesh_number @@ -520,7 +519,7 @@ occupant_overlay.pixel_x = round(sin(world.time * 3)) . += occupant_overlay - . += "cover-on" + . += "cover-on" . += "panel" /* diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 92927d047d..118145ed88 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -287,6 +287,7 @@ #define CRYO_PRESERVE 1 #define CRYO_OBJECTIVE 2 #define CRYO_IGNORE 3 +#define CRYO_DESTROY_LATER 4 /obj/machinery/cryopod/proc/should_preserve_item(obj/item/I) for(var/datum/objective_item/steal/T in control_computer.theft_cache) @@ -308,8 +309,8 @@ if(iscyborg(mob_occupant)) var/mob/living/silicon/robot/R = mob_occupant if(R.mmi?.brain) - cryo_items[R.mmi] = CRYO_IGNORE - cryo_items[R.mmi.brain] = CRYO_IGNORE + cryo_items[R.mmi] = CRYO_DESTROY_LATER + cryo_items[R.mmi.brain] = CRYO_DESTROY_LATER for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags cryo_items[O] = should_preserve_item(O) @@ -318,7 +319,7 @@ //Drop all items into the pod. for(var/obj/item/I in mob_occupant) - if(cryo_items[I] == CRYO_IGNORE) + if(cryo_items[I] == CRYO_IGNORE || cryo_items[I] ==CRYO_DESTROY_LATER) continue cryo_items[I] = should_preserve_item(I) mob_occupant.transferItemToLoc(I, src, TRUE) @@ -334,17 +335,19 @@ if(QDELETED(I)) //edge cases and DROPDEL. continue var/preserve = cryo_items[I] - if(preserve == CRYO_IGNORE) + if(preserve == CRYO_DESTROY_LATER) continue - else if(preserve == CRYO_DESTROY) - qdel(I) - else if(control_computer?.allow_items) - control_computer.frozen_items += I - if(preserve == CRYO_OBJECTIVE) - control_computer.objective_items += I - I.moveToNullspace() - else - I.forceMove(loc) + if(preserve != CRYO_IGNORE) + if(preserve == CRYO_DESTROY) + qdel(I) + else if(control_computer?.allow_items) + control_computer.frozen_items += I + if(preserve == CRYO_OBJECTIVE) + control_computer.objective_items += I + I.moveToNullspace() + else + I.forceMove(loc) + cryo_items -= I //Update any existing objectives involving this mob. for(var/datum/objective/O in GLOB.objectives) @@ -405,6 +408,10 @@ mob_occupant.ghostize(FALSE, penalize = TRUE) QDEL_NULL(occupant) + for(var/I in cryo_items) //only "CRYO_DESTROY_LATER" atoms are left) + var/atom/A = I + if(!QDELETED(A)) + qdel(A) open_machine() name = initial(name) @@ -412,6 +419,7 @@ #undef CRYO_PRESERVE #undef CRYO_OBJECTIVE #undef CRYO_IGNORE +#undef CRYO_DESTROY_LATER /obj/machinery/cryopod/MouseDrop_T(mob/living/target, mob/user) if(!istype(target) || user.incapacitated() || !target.Adjacent(user) || !Adjacent(user) || !ismob(target) || (!ishuman(user) && !iscyborg(user)) || !istype(user.loc, /turf) || target.buckled) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index eed4f2ce80..84a7584264 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -9,7 +9,6 @@ GLOBAL_LIST_EMPTY(PDAs) #define PDA_SCANNER_HALOGEN 4 #define PDA_SCANNER_GAS 5 #define PDA_SPAM_DELAY 2 MINUTES -#define PDA_STANDARD_OVERLAYS list("pda-r", "blank", "id_overlay", "insert_overlay", "light_overlay", "pai_overlay") //pda icon overlays list defines #define PDA_OVERLAY_ALERT 1 @@ -33,14 +32,14 @@ GLOBAL_LIST_EMPTY(PDAs) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | ACID_PROOF - //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/list/overlays_icons = list('icons/obj/pda_alt.dmi' = list("pda-r", "screen_default", "id_overlay", "insert_overlay", "light_overlay", "pai_overlay")) - var/current_overlays = PDA_STANDARD_OVERLAYS + var/static/list/standard_overlays_icons = list("pda-r", "blank", "id_overlay", "insert_overlay", "light_overlay", "pai_overlay") + var/list/current_overlays //set on Initialize. //variables exclusively used on 'update_overlays' (which should never be called directly, and 'update_icon' doesn't use args anyway) var/new_overlays = FALSE @@ -164,7 +163,7 @@ GLOBAL_LIST_EMPTY(PDAs) overlays_x_offset = new_offsets[1] overlays_y_offset = new_offsets[2] if(!(icon in overlays_icons)) - current_overlays = PDA_STANDARD_OVERLAYS + current_overlays = standard_overlays_icons return current_overlays = overlays_icons[icon] @@ -228,8 +227,11 @@ GLOBAL_LIST_EMPTY(PDAs) if(new_overlays) set_new_overlays() . += new_alert ? current_overlays[PDA_OVERLAY_ALERT] : current_overlays[PDA_OVERLAY_SCREEN] - var/mutable_appearance/overlay = new() + var/screen_state = new_alert ? current_overlays[PDA_OVERLAY_ALERT] : current_overlays[PDA_OVERLAY_SCREEN] + var/mutable_appearance/overlay = mutable_appearance(icon, screen_state) overlay.pixel_x = overlays_x_offset + overlay.pixel_y = overlays_y_offset + . += overlay if(id) overlay.icon_state = current_overlays[PDA_OVERLAY_ID] . += new /mutable_appearance(overlay) @@ -1223,7 +1225,6 @@ GLOBAL_LIST_EMPTY(PDAs) #undef PDA_SCANNER_HALOGEN #undef PDA_SCANNER_GAS #undef PDA_SPAM_DELAY -#undef PDA_STANDARD_OVERLAYS #undef PDA_OVERLAY_ALERT #undef PDA_OVERLAY_SCREEN diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index b604bec258..23ebaec3c2 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -193,8 +193,6 @@ /obj/item/pda/curator name = "curator PDA" icon_state = "pda-library" - overlays_icons = list('icons/obj/pda.dmi' = list("pda-r-library","blank","id_overlay","insert_overlay", "light_overlay", "pai_overlay"), - 'icons/obj/pda_alt.dmi' = list("pda-r","screen_default","id_overlay","insert_overlay", "light_overlay", "pai_overlay")) current_overlays = list("pda-r-library","blank","id_overlay","insert_overlay", "light_overlay", "pai_overlay") default_cartridge = /obj/item/cartridge/curator inserted_item = /obj/item/pen/fountain diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 7d184c6459c624cfdfdfddd7238f223e1c11b2f6..8992f4a4a104de0e727b17623492a60598ea59f3 100644 GIT binary patch delta 15040 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 Xt}p#s=&_;z^!Hj;MW#&3H01vQPb{-Y From 4d4708a6aefd70035f9c707a30a94427c5fa1689 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 2 Mar 2020 01:28:20 +0100 Subject: [PATCH 2/3] Update cloning.dm --- code/game/machinery/cloning.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index bbb23e2184..8eb8784ff8 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -506,6 +506,7 @@ if(unattached_flesh.len <= 0) occupant_overlay = image(occupant.icon, occupant.icon_state) occupant_overlay.copy_overlays(occupant) + . += "cover-on" else occupant_overlay = image(CRYOMOBS, "clone_meat") var/matrix/tform = matrix() @@ -519,7 +520,7 @@ occupant_overlay.pixel_x = round(sin(world.time * 3)) . += occupant_overlay - . += "cover-on" + . += "cover-on" . += "panel" /* From f915d14a58a45b1677bc0a385786f6a5676dacd0 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 2 Mar 2020 16:28:31 +0100 Subject: [PATCH 3/3] Also cell chargers and cloning pods. --- code/game/machinery/cell_charger.dm | 2 +- code/game/machinery/cloning.dm | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 670efa929e..83b0c0ee2d 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -18,7 +18,7 @@ if(!charging) return - . += image(charging.icon, charging.icon_state) + . += mutable_appearance(charging.icon, charging.icon_state) . += "ccharger-on" if(!(stat & (BROKEN|NOPOWER))) var/newlevel = round(charging.percent() * 4 / 100) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index bbb23e2184..1ff6b5303e 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -491,8 +491,8 @@ /obj/machinery/clonepod/update_overlays() . = ..() if(mess) - var/image/gib1 = image(CRYOMOBS, "gibup") - var/image/gib2 = image(CRYOMOBS, "gibdown") + var/mutable_appearance/gib1 = mutable_appearance(CRYOMOBS, "gibup") + var/mutable_appearance/gib2 = mutable_appearance(CRYOMOBS, "gibdown") gib1.pixel_y = 27 + round(sin(world.time) * 3) gib1.pixel_x = round(sin(world.time * 3)) gib2.pixel_y = 27 + round(cos(world.time) * 3) @@ -500,19 +500,19 @@ . += gib2 . += gib1 else if(occupant) - var/image/occupant_overlay + var/mutable_appearance/occupant_overlay var/completion = (flesh_number - unattached_flesh.len) / flesh_number if(unattached_flesh.len <= 0) - occupant_overlay = image(occupant.icon, occupant.icon_state) + occupant_overlay = mutable_appearance(occupant.icon, occupant.icon_state) occupant_overlay.copy_overlays(occupant) else - occupant_overlay = image(CRYOMOBS, "clone_meat") + occupant_overlay = mutable_appearance(CRYOMOBS, "clone_meat") var/matrix/tform = matrix() tform.Scale(completion) tform.Turn(cos(world.time * 2) * 3) occupant_overlay.transform = tform - occupant_overlay.appearance_flags = 0 + occupant_overlay.appearance_flags = NONE occupant_overlay.dir = SOUTH occupant_overlay.pixel_y = 27 + round(sin(world.time) * 3)