diff --git a/code/datums/elements/world_icon.dm b/code/datums/elements/world_icon.dm index 4768fba6d775..bafcbe618e4e 100644 --- a/code/datums/elements/world_icon.dm +++ b/code/datums/elements/world_icon.dm @@ -103,7 +103,7 @@ SIGNAL_HANDLER if(!world_icon_state) - source.icon_state = source.item_state + source.icon_state = source.icon_state return INVOKE_ASYNC(src, PROC_REF(check_world_icon_state), source) diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 166c043dc5bd..df8c283d8438 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -1,6 +1,8 @@ //Holds defibs and recharges them from the powernet //You can activate the mount with an empty hand to grab the paddles //Not being adjacent will cause the paddles to snap back + +//TODO: directionals / wallmount dir system /obj/machinery/defibrillator_mount name = "defibrillator mount" desc = "Holds defibrillators. You can grab the paddles if one is mounted." @@ -25,6 +27,7 @@ /obj/machinery/defibrillator_mount/Destroy() if(defib) + UnregisterSignal(defib, COMSIG_ATOM_UPDATE_APPEARANCE) QDEL_NULL(defib) . = ..() @@ -45,15 +48,20 @@ . += "defib" + if(!defib.on) + . += "paddles" + if(defib.powered) - var/obj/item/stock_parts/cell/C = get_cell() - . += (defib.safety ? "online" : "emagged") - var/ratio = C.charge / C.maxcharge - ratio = CEILING(ratio * 4, 1) * 25 - . += "charge[ratio]" + var/obj/item/stock_parts/cell/defibs_cell = get_cell() + . += (defib.safety ? "powered" : "emagged") + if(!QDELETED(defibs_cell)) + var/ratio = defibs_cell.charge / defibs_cell.maxcharge + ratio = CEILING(ratio * 4, 1) * 25 + . += "charge[ratio]" + + if(!get_cell()) + . += "nocell" - if(clamps_locked) - . += "clamps" /obj/machinery/defibrillator_mount/get_cell() if(defib) @@ -67,7 +75,9 @@ if(defib.paddles.loc != defib) to_chat(user, span_warning("[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!")) return + defib.on = TRUE user.put_in_hands(defib.paddles) + update_appearance() /obj/machinery/defibrillator_mount/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/defibrillator)) @@ -83,11 +93,13 @@ return user.visible_message(span_notice("[user] hooks up [I] to [src]!"), \ span_notice("You press [I] into the mount, and it clicks into place.")) - playsound(src, 'sound/machines/click.ogg', 50, TRUE) + playsound(src, 'sound/items/taperecorder_close.ogg', 50, TRUE) // Make sure the defib is set before processing begins. defib = I begin_processing() + RegisterSignal(defib, COMSIG_ATOM_UPDATE_APPEARANCE, PROC_REF(defib_update_appearance)) update_appearance() + return else if(defib && I == defib.paddles) defib.paddles.snap_back() @@ -158,6 +170,7 @@ playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) // Make sure processing ends before the defib is nulled end_processing() + UnregisterSignal(defib, COMSIG_ATOM_UPDATE_APPEARANCE) defib = null update_appearance() @@ -191,6 +204,9 @@ C.give(40 * seconds_per_tick) update_appearance() +/obj/machinery/defibrillator_mount/proc/defib_update_appearance() + update_appearance() + //wallframe, for attaching the mounts easily /obj/item/wallframe/defib_mount name = "unhooked defibrillator mount" diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index b8fe1c7b7b25..48142c6129bf 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -5,6 +5,7 @@ name = "defibrillator" desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." icon = 'icons/obj/defib.dmi' + world_file = 'icons/obj/world/defib_world.dmi' icon_state = "defibunit" item_state = "defibunit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -235,11 +236,13 @@ paddles.update_appearance() update_power() +//when you touch up defib code, maybe just remove? /obj/item/defibrillator/compact name = "compact defibrillator" desc = "A belt-equipped defibrillator that can be rapidly deployed." icon_state = "defibcompact" item_state = "defibcompact" + world_file = null w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_BELT @@ -257,6 +260,7 @@ desc = "A belt-equipped blood-red defibrillator. Can revive through spacesuits, has an experimental self-recharging battery, and can be utilized in combat via applying the paddles in a disarming or agressive manner." icon_state = "defibcombat" //needs defib inhand sprites item_state = "defibcombat" + world_file = null combat = TRUE safety = FALSE cooldown_duration = 2.5 SECONDS diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index cd984e086200..41fc44e73044 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -637,7 +637,9 @@ if(stored) var/obj/item/reagent_containers/C = stored C.SplashReagents(get_turf(src)) - qdel(stored) + C.forceMove(get_turf(src)) + stored = null + qdel(C) . = ..() /obj/item/borg/apparatus/beaker/examine() diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index db0bba08a768..0abe234f46e4 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -12,7 +12,7 @@ /obj/item/storage/firstaid name = "first-aid kit" desc = "An emergency medical aid kit." - icon = 'icons/obj/storage.dmi' + icon = 'icons/obj/storage/medkit.dmi' icon_state = "firstaid" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' @@ -126,7 +126,6 @@ generate_items_inside(items_inside,src) /obj/item/storage/firstaid/ancient - icon = 'icons/obj/storage.dmi' icon_state = "firstaid_old" desc = "A basic first aid kit. It looks a little old..." diff --git a/code/modules/food_and_drinks/coffee/items/condiment.dm b/code/modules/food_and_drinks/coffee/items/condiment.dm index d1ce0ae89ef5..6e8a0bdc50e0 100644 --- a/code/modules/food_and_drinks/coffee/items/condiment.dm +++ b/code/modules/food_and_drinks/coffee/items/condiment.dm @@ -28,6 +28,7 @@ name = "syrup bottle" desc = "A bottle with a syrup pump to dispense the delicious substance directly into your coffee cup." icon = 'icons/obj/item/coffee.dmi' + world_file = null icon_state = "syrup" fill_icon_state = "syrup" fill_icon_thresholds = list(0, 20, 40, 60, 80, 100) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index bd41f323c607..0f1bac64980b 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -267,14 +267,25 @@ /obj/item/reagent_containers/update_overlays() . = ..() + //no other way to check if it's a world icon + var/is_world = FALSE + if(world_file && icon == world_file) + is_world = TRUE + if(cap_overlay) + cap_overlay.icon = icon + if(cap_on) . += cap_overlay if(!fill_icon_thresholds) return - if(!reagents.total_volume) + if(!reagents || !reagents.total_volume) return + var/fill_name = fill_icon_state? fill_icon_state : icon_state + if(is_world) + fill_name += "_world" + var/mutable_appearance/filling = mutable_appearance(fill_icon, "[fill_name][fill_icon_thresholds[1]]") var/percent = round((reagents.total_volume / volume) * 100) @@ -297,3 +308,8 @@ var/datum/reagent/R = reagent list_reagents[R.type] = R.volume return ..() + "list_reagents" + +/obj/item/reagent_containers/Destroy() + . = ..() + QDEL_NULL(cap_overlay) + QDEL_NULL(reagents) diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index 2ae35007b365..281028070c4e 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -3,7 +3,11 @@ /obj/item/reagent_containers/glass/bottle name = "bottle" desc = "A small bottle." + icon = 'icons/obj/chemical/beakers.dmi' + world_file = 'icons/obj/chemical/beakers_world.dmi' icon_state = "bottle" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' item_state = "atoxinbottle" possible_transfer_amounts = list(5,10,15,25,30) volume = 30 diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index e5890ac1dea9..8b955adabbcf 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -1,6 +1,7 @@ /obj/item/reagent_containers/dropper name = "dropper" desc = "A dropper. Holds up to 5 units." + world_file = 'icons/obj/chemical/beakers_world.dmi' icon = 'icons/obj/chemical/beakers.dmi' icon_state = "dropper0" amount_per_transfer_from_this = 5 @@ -84,7 +85,7 @@ /obj/item/reagent_containers/dropper/update_overlays() . = ..() - if(!reagents.total_volume) + if(!reagents || !reagents.total_volume) return var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper") filling.color = mix_color_from_reagents(reagents.reagent_list) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 21f109a9590e..058f1fb20c06 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -131,8 +131,11 @@ name = "beaker" desc = "A beaker. It can hold up to 50 units." icon = 'icons/obj/chemical/beakers.dmi' + world_file = 'icons/obj/chemical/beakers_world.dmi' icon_state = "beaker" item_state = "beaker" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' custom_materials = list(/datum/material/glass=500) fill_icon_thresholds = list(1, 40, 60, 80, 100) can_have_cap = TRUE @@ -180,6 +183,8 @@ name = "cryostasis beaker" desc = "A cryostasis beaker that allows for chemical storage without \ reactions. Can hold up to 50 units." + // No clue if this is obtainable, but it's so rare i havent really seen one in forever + world_file = null icon_state = "beakernoreact" custom_materials = list(/datum/material/iron=3000) reagent_flags = NO_REACT @@ -312,6 +317,7 @@ /obj/item/reagent_containers/glass/filter name = "seperatory funnel" desc = "A crude tool created by welding several beakers together. It would probably be useful for seperating reagents." + world_file = 'icons/obj/chemical/beakers_world.dmi' icon_state = "beakerfilter" item_state = "beaker" volume = 100 diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index d9503df15691..47467a7542de 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -3,6 +3,8 @@ name = "broken hypovial" desc = "A hypovial compatible with most hyposprays." icon = 'icons/obj/chemical/hypovial.dmi' + //almost missed this, TODO: basic check for all items with 'world_file' var that their icon state is valid? + world_file = null icon_state = "hypovial" spillable = FALSE var/comes_with = list() //Easy way of doing this. @@ -38,24 +40,26 @@ /obj/item/reagent_containers/glass/bottle/vial/update_appearance() cut_overlays() - if(reagents.total_volume) - var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypovial10") - - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 9) - filling.icon_state = "hypovial10" - if(10 to 29) - filling.icon_state = "hypovial25" - if(30 to 49) - filling.icon_state = "hypovial50" - if(50 to 85) - filling.icon_state = "hypovial75" - if(86 to INFINITY) - filling.icon_state = "hypovial100" - - filling.color = mix_color_from_reagents(reagents.reagent_list) - add_overlay(filling) + if(!reagents || !reagents.total_volume) + return ..() + + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypovial10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) + filling.icon_state = "hypovial10" + if(10 to 29) + filling.icon_state = "hypovial25" + if(30 to 49) + filling.icon_state = "hypovial50" + if(50 to 85) + filling.icon_state = "hypovial75" + if(86 to INFINITY) + filling.icon_state = "hypovial100" + + filling.color = mix_color_from_reagents(reagents.reagent_list) + add_overlay(filling) return ..() /obj/item/reagent_containers/glass/bottle/vial/tiny @@ -93,26 +97,29 @@ ) unique_reskin_changes_name = TRUE +//TODO: When you resprite this, make this code... less copy and pasted /obj/item/reagent_containers/glass/bottle/vial/large/update_appearance() cut_overlays() - if(reagents.total_volume) - var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypoviallarge10") - - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 9) - filling.icon_state = "hypoviallarge10" - if(10 to 29) - filling.icon_state = "hypoviallarge25" - if(30 to 49) - filling.icon_state = "hypoviallarge50" - if(50 to 85) - filling.icon_state = "hypoviallarge75" - if(86 to INFINITY) - filling.icon_state = "hypoviallarge100" - - filling.color = mix_color_from_reagents(reagents.reagent_list) - add_overlay(filling) + if(!reagents || !reagents.total_volume) + return ..() + + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypoviallarge10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) + filling.icon_state = "hypoviallarge10" + if(10 to 29) + filling.icon_state = "hypoviallarge25" + if(30 to 49) + filling.icon_state = "hypoviallarge50" + if(50 to 85) + filling.icon_state = "hypoviallarge75" + if(86 to INFINITY) + filling.icon_state = "hypoviallarge100" + + filling.color = mix_color_from_reagents(reagents.reagent_list) + add_overlay(filling) return ..() /obj/item/reagent_containers/glass/bottle/vial/large/bluespace diff --git a/code/modules/reagents/reagent_containers/jug.dm b/code/modules/reagents/reagent_containers/jug.dm index 5c49c8c5529f..0a9f3605bc91 100644 --- a/code/modules/reagents/reagent_containers/jug.dm +++ b/code/modules/reagents/reagent_containers/jug.dm @@ -1,7 +1,8 @@ /obj/item/reagent_containers/glass/chem_jug name = "chemical jug" desc = "A large jug used for storing bulk quantities of chemicals. Provided with an anti-tamper seal which ensures that the contents are pure." - icon = 'icons/obj/chemical/chem_jug.dmi' // the coloring of labels for elemental chemicals is based on the chemical group block coloring at https://pubchem.ncbi.nlm.nih.gov/periodic-table/ . Everything else is whatever. + icon = 'icons/obj/chemical/chem_jug.dmi' + world_file = 'icons/obj/chemical/chem_jug_world.dmi' icon_state = "chem_jug" item_state = "sheet-plastic" w_class = WEIGHT_CLASS_BULKY diff --git a/code/modules/reagents/reagent_containers/mortar.dm b/code/modules/reagents/reagent_containers/mortar.dm index 6ed206bc5a3e..dd67925d5ef9 100644 --- a/code/modules/reagents/reagent_containers/mortar.dm +++ b/code/modules/reagents/reagent_containers/mortar.dm @@ -8,6 +8,7 @@ to accommodate additional materials. desc = "An ancient, simple tool used in conjunction with a mortar to grind or juice items." w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/chemical/mortar.dmi' + world_file = 'icons/obj/chemical/mortar_world.dmi' icon_state = "pestle" force = 7 @@ -15,6 +16,7 @@ to accommodate additional materials. name = "mortar" desc = "A specially formed bowl of ancient design. It is possible to crush or juice items placed in it using a pestle; however the process, unlike modern methods, is slow and physically exhausting. Alt click to eject the item." icon = 'icons/obj/chemical/mortar.dmi' + world_file = 'icons/obj/chemical/mortar_world.dmi' icon_state = "mortar_wood" fill_icon_state = "mortar" fill_icon_thresholds = list(1, 20, 40, 80, 100) diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 6fd4866a9033..489499af9fc5 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -2,6 +2,7 @@ name = "chemical patch" desc = "A chemical patch for touch based applications." icon = 'icons/obj/chemical/medicine.dmi' + world_file = null icon_state = "bandaid" item_state = "bandaid" possible_transfer_amounts = list() diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 5830dddfb288..0211c239f632 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -2,6 +2,7 @@ name = "pill" desc = "A tablet or capsule." icon = 'icons/obj/chemical/medicine.dmi' + //world_file = 'icons/obj/chemical/medicine_world.dmi' icon_state = "pill" item_state = "pill" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index f46b6dd1d481..0b76a3d5166e 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -2,6 +2,7 @@ name = "syringe" desc = "A syringe that can hold up to 15 units." icon = 'icons/obj/syringe.dmi' + world_file = 'icons/obj/world/syringe_world.dmi' lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' icon_state = "syringe_0" @@ -156,8 +157,16 @@ /obj/item/reagent_containers/syringe/update_overlays() . = ..() + + var/fill_name = fill_icon_state? fill_icon_state : base_icon_state + var/is_world = FALSE + if(world_file && icon == world_file) + is_world = TRUE + if(is_world) + fill_name += "_world" + if(reagents?.total_volume) - var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[get_rounded_vol()]") + var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "[fill_name][get_rounded_vol()]") filling_overlay.color = mix_color_from_reagents(reagents.reagent_list) . += filling_overlay @@ -219,6 +228,7 @@ /obj/item/reagent_containers/syringe/bluespace name = "bluespace syringe" desc = "An advanced syringe that can hold 60 units of chemicals." + //unclear if used, ddididnt resprite icon_state = "bluespace_0" base_icon_state = "bluespace" amount_per_transfer_from_this = 20 @@ -227,6 +237,8 @@ /obj/item/reagent_containers/syringe/piercing name = "piercing syringe" desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units." + //unclear if used, ddididnt resprite + world_file = null icon_state = "piercing_0" base_icon_state = "piercing" volume = 10 diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 632f4942fa11..a2e02f4bbe43 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi index 5b8e250ea23a..d63f3484ab88 100644 Binary files a/icons/mob/inhands/equipment/medical_lefthand.dmi and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi index ae9365641958..fdceebe8ea3e 100644 Binary files a/icons/mob/inhands/equipment/medical_righthand.dmi and b/icons/mob/inhands/equipment/medical_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 48c3e64cdcb1..327b1a2c2fee 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 12880c2556fe..11b44593fbf2 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/chemical/beakers.dmi b/icons/obj/chemical/beakers.dmi index db43d392960d..695727e3fbe9 100644 Binary files a/icons/obj/chemical/beakers.dmi and b/icons/obj/chemical/beakers.dmi differ diff --git a/icons/obj/chemical/beakers_world.dmi b/icons/obj/chemical/beakers_world.dmi new file mode 100644 index 000000000000..586aeacec21e Binary files /dev/null and b/icons/obj/chemical/beakers_world.dmi differ diff --git a/icons/obj/chemical/chem_jug.dmi b/icons/obj/chemical/chem_jug.dmi index 76806f36bba1..eb7c7cb92a5e 100644 Binary files a/icons/obj/chemical/chem_jug.dmi and b/icons/obj/chemical/chem_jug.dmi differ diff --git a/icons/obj/chemical/chem_jug_world.dmi b/icons/obj/chemical/chem_jug_world.dmi new file mode 100644 index 000000000000..7bb06712263b Binary files /dev/null and b/icons/obj/chemical/chem_jug_world.dmi differ diff --git a/icons/obj/chemical/medicine.dmi b/icons/obj/chemical/medicine.dmi index 242cfe132ecf..3c334e4eda12 100644 Binary files a/icons/obj/chemical/medicine.dmi and b/icons/obj/chemical/medicine.dmi differ diff --git a/icons/obj/chemical/medicine_world.dmi b/icons/obj/chemical/medicine_world.dmi index 11477022e1ef..e11a03b8c35b 100644 Binary files a/icons/obj/chemical/medicine_world.dmi and b/icons/obj/chemical/medicine_world.dmi differ diff --git a/icons/obj/chemical/mortar.dmi b/icons/obj/chemical/mortar.dmi index e47543454f9d..452e2b6e4efa 100644 Binary files a/icons/obj/chemical/mortar.dmi and b/icons/obj/chemical/mortar.dmi differ diff --git a/icons/obj/chemical/mortar_world.dmi b/icons/obj/chemical/mortar_world.dmi new file mode 100644 index 000000000000..42514e4214db Binary files /dev/null and b/icons/obj/chemical/mortar_world.dmi differ diff --git a/icons/obj/defib.dmi b/icons/obj/defib.dmi index 2375c1e8ebb6..f01d199ee9f0 100644 Binary files a/icons/obj/defib.dmi and b/icons/obj/defib.dmi differ diff --git a/icons/obj/machines/defib_mount.dmi b/icons/obj/machines/defib_mount.dmi index 4518bb33783a..a2876f4341af 100644 Binary files a/icons/obj/machines/defib_mount.dmi and b/icons/obj/machines/defib_mount.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index 39fb38a243a2..43dda9289145 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 0f646f4733e0..cd7e20ea064e 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/storage/medkit.dmi b/icons/obj/storage/medkit.dmi new file mode 100644 index 000000000000..69782bffb4dc Binary files /dev/null and b/icons/obj/storage/medkit.dmi differ diff --git a/icons/obj/storage/medkit_world.dmi b/icons/obj/storage/medkit_world.dmi new file mode 100644 index 000000000000..0621e55a86a3 Binary files /dev/null and b/icons/obj/storage/medkit_world.dmi differ diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index b3f20b9c734d..480e1593cc8d 100644 Binary files a/icons/obj/syringe.dmi and b/icons/obj/syringe.dmi differ diff --git a/icons/obj/world/defib_world.dmi b/icons/obj/world/defib_world.dmi new file mode 100644 index 000000000000..d4f683b6df4c Binary files /dev/null and b/icons/obj/world/defib_world.dmi differ diff --git a/icons/obj/world/syringe_world.dmi b/icons/obj/world/syringe_world.dmi new file mode 100644 index 000000000000..7d472b03574a Binary files /dev/null and b/icons/obj/world/syringe_world.dmi differ