diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 65b6d78e8b5..0a1cef6cc2d 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -158,9 +158,11 @@ if(istype(charging, /obj/item/ammo_box/magazine/recharge)) //if you add any more snowflake ones, make sure to update the examine messages too. var/obj/item/ammo_box/magazine/recharge/power_pack = charging - if(power_pack.stored_ammo.len < power_pack.max_ammo) + for(var/charge_iterations in 1 to recharge_coeff) + if(power_pack.stored_ammo.len >= power_pack.max_ammo) + break power_pack.stored_ammo += new power_pack.ammo_type(power_pack) - use_energy(active_power_usage * recharge_coeff * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) using_power = TRUE update_appearance() return diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 8dfec7a32f2..655a6cae18e 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -220,13 +220,13 @@ /obj/item/ammo_box/examine(mob/user) . = ..() var/shells_left = LAZYLEN(stored_ammo) - var/top_round = get_round() + var/obj/item/ammo_casing/top_round = get_round() if(!top_round) return . += "It has [shells_left] [casing_phrasing]\s remaining." // this is kind of awkward phrasing, but it's the top/ready ammo in the box // intended for people who have like three mislabeled magazines - . += span_notice("The [top_round] is ready in [src].") + . += span_notice("\A [top_round] is ready.") /obj/item/ammo_box/update_icon_state() . = ..()