diff --git a/code/modules/projectiles/ammunition/ballistic/foam.dm b/code/modules/projectiles/ammunition/ballistic/foam.dm index 2895d74555b..7ffa317897a 100644 --- a/code/modules/projectiles/ammunition/ballistic/foam.dm +++ b/code/modules/projectiles/ammunition/ballistic/foam.dm @@ -10,6 +10,8 @@ harmful = FALSE var/modified = FALSE var/static/list/insertable_items_hint = list(/obj/item/pen) + ///For colored magazine overlays. + var/tip_color = "blue" /obj/item/ammo_casing/foam_dart/Initialize(mapload) . = ..() @@ -56,4 +58,5 @@ projectile_type = /obj/projectile/bullet/foam_dart/riot icon_state = "foamdart_riot" base_icon_state = "foamdart_riot" + tip_color = "red" custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT* 1.125) diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 7e9fc44f585..3ebb459ed93 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -76,7 +76,7 @@ /obj/item/ammo_box/magazine/smgm45 name = "SMG magazine (.45)" - icon_state = "c20r45-24" + icon_state = "c20r45" base_icon_state = "c20r45" ammo_type = /obj/item/ammo_casing/c45 caliber = CALIBER_45 diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 3a841c605a1..a153c25107a 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -29,17 +29,30 @@ /obj/item/ammo_box/magazine/toy/smgm45 name = "donksoft SMG magazine" icon_state = "c20r45-toy" - base_icon_state = "c20r45" + base_icon_state = "c20r45-toy" caliber = CALIBER_FOAM ammo_type = /obj/item/ammo_casing/foam_dart max_ammo = 20 /obj/item/ammo_box/magazine/toy/smgm45/update_icon_state() . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 2)]" + icon_state = "[base_icon_state]-base" + +/obj/item/ammo_box/magazine/toy/smgm45/update_overlays() + . = ..() + if(!LAZYLEN(stored_ammo)) + return + for(var/i in 1 to stored_ammo.len) + var/round_number = round(i, 2) //i meant the number of the round in the magazine, but i guess it's a round number too lol. + if(round_number == i) //only count odd numbers. + continue + var/obj/item/ammo_casing/foam_dart/boolet = stored_ammo[i] + . += "c20r45-foam-[boolet.tip_color]-[round_number]" + /obj/item/ammo_box/magazine/toy/smgm45/riot icon_state = "c20r45-riot" + base_icon_state = "c20r45-riot" ammo_type = /obj/item/ammo_casing/foam_dart/riot /obj/item/ammo_box/magazine/toy/m762 diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi index 7554749a7e4..e3a82a81cd3 100644 Binary files a/icons/obj/weapons/guns/ammo.dmi and b/icons/obj/weapons/guns/ammo.dmi differ