diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index d3cf7702c00..4a32b5d2bea 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -420,6 +420,31 @@ /obj/item/ammo_box/magazine/toy/pistol/riot ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot +/obj/item/ammo_box/magazine/toy/enforcer + name = "foam force pistol magazine" + icon_state = "enforcer" + max_ammo = 8 + multiple_sprites = 1 + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + +/obj/item/ammo_box/magazine/toy/enforcer/update_icon() + ..() + overlays.Cut() + + var/ammo = ammo_count() + if(ammo && is_riot()) + overlays += image('icons/obj/ammo.dmi', icon_state = "enforcer-rd") + else if(ammo) + overlays += image('icons/obj/ammo.dmi', icon_state = "enforcer-bd") + +/obj/item/ammo_box/magazine/toy/enforcer/proc/is_riot()//if the topmost bullet is a riot dart + var/ammo = ammo_count() + if(!ammo) + return 0 + if(istype(contents[contents.len], /obj/item/ammo_casing/caseless/foam_dart/riot)) + return 1 + return 0 + /obj/item/ammo_box/magazine/toy/smgm45 name = "donksoft SMG magazine" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 1c529d74610..7a3a0742625 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -38,21 +38,29 @@ icon_state = "enforcer_grey" force = 10 mag_type = /obj/item/ammo_box/magazine/m45/enforcer45 - can_suppress = 0 - unique_reskin = 1 + can_suppress = TRUE + unique_reskin = TRUE /obj/item/weapon/gun/projectile/automatic/pistol/enforcer/update_icon() ..() if(current_skin) icon_state = "[current_skin][chambered ? "" : "-e"]" + else + icon_state = "[initial(icon_state)][chambered ? "" : "-e"]" + overlays.Cut() + if(suppressed) + overlays += image(icon = icon, icon_state = "enforcer_supp", pixel_x = 4) /obj/item/weapon/gun/projectile/automatic/pistol/enforcer/New() ..() options["Grey slide"] = "enforcer_grey" options["Red slide"] = "enforcer_red" + options["Green slide"] = "enforcer_green" + options["Tan slide"] = "enforcer_tan" options["Black slide"] = "enforcer_black" options["Green Handle"] = "enforcer_greengrip" options["Tan Handle"] = "enforcer_tangrip" + options["Red Handle"] = "enforcer_redgrip" options["Cancel"] = null /obj/item/weapon/gun/projectile/automatic/pistol/deagle diff --git a/code/modules/projectiles/guns/projectile/toy.dm b/code/modules/projectiles/guns/projectile/toy.dm index 8a191f06b97..bcf6a712663 100644 --- a/code/modules/projectiles/guns/projectile/toy.dm +++ b/code/modules/projectiles/guns/projectile/toy.dm @@ -41,6 +41,12 @@ magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src) ..() +/obj/item/weapon/gun/projectile/automatic/toy/pistol/enforcer + name = "Enforcer trainer" + desc = "A foam version of the Enforcer meant to be used for training new caddets who can't be trusted with rubber bullets." + icon_state = "enforcer" + mag_type = /obj/item/ammo_box/magazine/toy/enforcer + /obj/item/weapon/gun/projectile/shotgun/toy name = "foam force shotgun" desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up." diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 57807bee181..f366355becf 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 30d720995d2..3c619048f57 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/guns/toy.dmi b/icons/obj/guns/toy.dmi index c832bb3670a..a0f2a539c54 100644 Binary files a/icons/obj/guns/toy.dmi and b/icons/obj/guns/toy.dmi differ