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()
. = ..()