diff --git a/code/modules/organs/external/_external.dm b/code/modules/organs/external/_external.dm index 8917e89de859..699995352410 100644 --- a/code/modules/organs/external/_external.dm +++ b/code/modules/organs/external/_external.dm @@ -158,6 +158,8 @@ /obj/item/organ/external/copy_from_mob_snapshot(datum/mob_snapshot/supplied_appearance) _icon_cache_key = null + skin_colour = supplied_appearance.skin_color //match skin colors + skin_tone = supplied_appearance.skin_tone if(organ_tag in supplied_appearance?.sprite_accessories) var/list/sprite_cats = supplied_appearance.sprite_accessories[organ_tag] for(var/category in sprite_cats) diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 0021fc7522b5..8d78adbcf305 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -24,6 +24,12 @@ else icon_state = "[get_world_inventory_state()]-empty" +/obj/item/gun/projectile/shotgun/pump/update_base_icon_state() + if(chambered) + icon_state = get_world_inventory_state() + else + icon_state = "[get_world_inventory_state()]-empty" + /obj/item/gun/projectile/shotgun/pump/consume_next_projectile() if(chambered) return chambered.BB diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index c8872711cd3e..aa30e8395d34 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -483,6 +483,8 @@ var/global/datum/reagents/sink/infinite_reagent_sink = new /// Removes up to [amount] of reagents from [src]. Returns actual amount removed. /datum/reagents/proc/remove_any(var/amount = 1, var/defer_update = FALSE, var/removed_phases = (MAT_PHASE_LIQUID | MAT_PHASE_SOLID), skip_reagents = null) + amount = CHEMS_QUANTIZE(amount) + if(amount <= 0) return 0 @@ -518,8 +520,11 @@ var/global/datum/reagents/sink/infinite_reagent_sink = new else return 0 - var/removing = clamp(CHEMS_QUANTIZE(amount), 0, total_volume) // not ideal but something is making total_volume become NaN - if(!removing || total_volume <= 0) + var/removing = clamp(amount, 0, total_volume) // not ideal but something is making total_volume become NaN + if(!removing) + return 0 // don't clear, we aren't removing any + + if(total_volume <= removing) // we're removing everything . = 0 clear_reagents() return