From 93436c520f23d0eb2c4a0b7337338dc09cf6afca Mon Sep 17 00:00:00 2001 From: Blundir <100090741+Blundir@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:15:38 +0300 Subject: [PATCH] Black market ammo shop category + new ammo boxes (#6324) # About the pull request Adds dedicated ammo category to black market, it has all the ammo types of guns that are available on black market already. I mostly took prices of corresponding weapon kits, doubled amount of ammo, doubled the price, which is fair imo, since you do not get the gun, but pay that price for practicality of packaging. In cases of ammo boxes, just used the same logic and multipled price by amount of ammo in ammo box. Deagle High Impact Armor-Piercing ammo box is empty, honk. Added a lot of new ammo boxes for all the ammo that is in the black market, also added some additional ones (mar30 ex, mar50, they are unavailable in req, I just added boxes), also added craft recipe to all of them. # Explain why it's good for the game Balance wise, i didn't add anything new, i didn't add nsg ap/ex or type 19 ex or so on, i didn't make it cheaper to shoot those guns, you can already just order weapon kits and gather ammo from there, and it costs even a bit cheaper, but it's just less convenient and more frustrating to buy 10 same kits when you just want the ammo, also buying a lot of kits creates a lot of contraband guns in general, which isn't good. # Testing Photographs and Procedure
Screenshots & Videos ![aFLhIk7Vfv](https://github.com/cmss13-devs/cmss13/assets/100090741/d3e17fca-118a-4971-82c6-930a76275d83) ![dreamseeker_c6Xo5oHFvn](https://github.com/cmss13-devs/cmss13/assets/100090741/0a496449-04a3-4ed3-a9ff-c8c2c1396b9d) ![dreamseeker_hccBNDu8rA](https://github.com/cmss13-devs/cmss13/assets/100090741/ee77834a-4dfd-4035-8c71-12af63896504)
# Changelog :cl: add: contraband ammo selection in black market add: tons of new ammo boxes /:cl: --- code/datums/supply_packs/black_market.dm | 137 ++++++ .../items/stacks/sheets/sheet_types.dm | 28 ++ code/game/supplyshuttle.dm | 1 + .../projectiles/ammo_boxes/magazine_boxes.dm | 414 +++++++++++++++--- .../guns/ammo_boxes/boxes_and_lids.dmi | Bin 5624 -> 6753 bytes .../weapons/guns/ammo_boxes/magazines.dmi | Bin 3261 -> 3688 bytes .../items/weapons/guns/ammo_boxes/text.dmi | Bin 2610 -> 2985 bytes 7 files changed, 520 insertions(+), 60 deletions(-) diff --git a/code/datums/supply_packs/black_market.dm b/code/datums/supply_packs/black_market.dm index 14ad047c7edb..aeede447e0f9 100644 --- a/code/datums/supply_packs/black_market.dm +++ b/code/datums/supply_packs/black_market.dm @@ -722,6 +722,143 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted contains = list(/obj/item/storage/box/guncase/m1911/socom) containertype = /obj/structure/largecrate/black_market +/* --- AMMO --- */ + +/datum/supply_packs/contraband/ammo + group = "Contraband Ammo" + +/datum/supply_packs/contraband/ammo/r4t + name = "45-70 bullet box crate (x300 rounds)" + dollar_cost = 135 + contains = list(/obj/item/ammo_box/magazine/lever_action) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/r4t/training + name = "45-70 bullet box crate (x300 training rounds)" + dollar_cost = 35 + contains = list(/obj/item/ammo_box/magazine/lever_action/training) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/m16 + name = "Magazine box (M16, 12x regular mags)" + dollar_cost = 100 + contains = list(/obj/item/ammo_box/magazine/M16) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/ar10 + name = "Magazine box (AR10, 12x regular mags)" + dollar_cost = 115 + contains = list(/obj/item/ammo_box/magazine/ar10) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/deagle + name = "Magazine box (Desert Eagle, 16x regular mags)" + dollar_cost = 180 + contains = list(/obj/item/ammo_box/magazine/deagle) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/deagle/hiap + name = "Magazine box (Desert Eagle, 16x HIAP mags)" + dollar_cost = 260 + contains = list(/obj/item/ammo_box/magazine/deagle/super/highimpact/ap/empty) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/type73 + name = "Magazine box (Type 73, 16x regular mags)" + dollar_cost = 60 + contains = list(/obj/item/ammo_box/magazine/type73) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/nsg + name = "Magazine box (NSG-23, 16x regular mags)" + dollar_cost = 140 + contains = list(/obj/item/ammo_box/magazine/nsg23) + containertype = /obj/structure/largecrate/black_market +/datum/supply_packs/contraband/ammo/mar30 + name = "Magazines box (MAR30, 10x regular mags)" + dollar_cost = 60 + contains = list(/obj/item/ammo_box/magazine/mar30) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/fp9000 + name = "Magazines box (FN FP9000, 10x mags)" + dollar_cost = 35 + contains = list(/obj/item/ammo_box/magazine/fp9000) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/mp27 + name = "Magazines box (MP-27, 12x mags)" + dollar_cost = 45 + contains = list(/obj/item/ammo_box/magazine/mp27) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/uzi + name = "Magazines box (UZI, 12x mags)" + dollar_cost = 25 + contains = list(/obj/item/ammo_box/magazine/uzi) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/mac15 + name = "Magazines box (MAC-15, 12x mags)" + dollar_cost = 15 + contains = list(/obj/item/ammo_box/magazine/mac15) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/pps43 + name = "Magazines box (Type-19, 10x regular mags)" + dollar_cost = 40 + contains = list(/obj/item/ammo_box/magazine/type19) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/b92fs + name = "Magazines box (Beretta 92FS, 16x mags)" + dollar_cost = 30 + contains = list(/obj/item/ammo_box/magazine/b92fs) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/kt42 + name = "Magazines box (KT-42, 16x mags)" + dollar_cost = 45 + contains = list(/obj/item/ammo_box/magazine/kt42) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/bizon + name = "Magazines box (Type 64, 10x mags)" + dollar_cost = 40 + contains = list(/obj/item/ammo_box/magazine/type64) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/m1911 + name = "Magazines box (M1911, 16x mags)" + dollar_cost = 40 + contains = list(/obj/item/ammo_box/magazine/m1911) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/mk45 + name = "Magazines box (MK-45 Automagnum, 16x mags)" + dollar_cost = 80 + contains = list(/obj/item/ammo_box/magazine/mk45) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/cmb + name = "Speed loaders box (CMB Spearhead, 16x HP loaders)" + dollar_cost = 70 + contains = list(/obj/item/ammo_box/magazine/spearhead) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/smw + name = "Speed loaders box (Smith and Wesson revolver, 12x loaders)" + dollar_cost = 30 + contains = list(/obj/item/ammo_box/magazine/snw) + containertype = /obj/structure/largecrate/black_market + +/datum/supply_packs/contraband/ammo/zhnk + name = "Speed loaders box (ZHNK-72, 12x loaders)" + dollar_cost = 30 + contains = list(/obj/item/ammo_box/magazine/zhnk) + containertype = /obj/structure/largecrate/black_market + + /* --- DEEP STORAGE --- */ /* diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index d984f01ae1be..f579917fed49 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -328,6 +328,34 @@ GLOBAL_LIST_INIT_TYPED(cardboard_recipes, /datum/stack_recipe, list ( \ null, \ new/datum/stack_recipe("empty magazine box (MP5)", /obj/item/ammo_box/magazine/mp5/empty), \ null, \ + new/datum/stack_recipe("empty magazine box (MAR30)", /obj/item/ammo_box/magazine/mar30/empty), \ + new/datum/stack_recipe("empty magazine box (MAR30 EX)", /obj/item/ammo_box/magazine/mar30/ext/empty), \ + new/datum/stack_recipe("empty magazine box (MAR50)", /obj/item/ammo_box/magazine/mar50/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (UZI)", /obj/item/ammo_box/magazine/uzi/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (MAC-15)", /obj/item/ammo_box/magazine/mac15/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (MP27)", /obj/item/ammo_box/magazine/mp27/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (M1911)", /obj/item/ammo_box/magazine/m1911/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (MK-45)", /obj/item/ammo_box/magazine/mk45/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (KT-42)", /obj/item/ammo_box/magazine/kt42/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (Beretta 92FS)", /obj/item/ammo_box/magazine/b92fs/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (FN FP9000)", /obj/item/ammo_box/magazine/fp9000/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (Type19)", /obj/item/ammo_box/magazine/type19/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (ZhNK-72)", /obj/item/ammo_box/magazine/zhnk/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (Type64 Bizon)", /obj/item/ammo_box/magazine/type64/empty), \ + null, \ + new/datum/stack_recipe("empty magazine box (S&W .38)", /obj/item/ammo_box/magazine/snw/empty), \ + null, \ new/datum/stack_recipe("empty magazine box (NSG 23)", /obj/item/ammo_box/magazine/nsg23/empty), \ new/datum/stack_recipe("empty magazine box (NSG 23 AP)", /obj/item/ammo_box/magazine/nsg23/ap/empty), \ new/datum/stack_recipe("empty magazine box (NSG 23 EX)", /obj/item/ammo_box/magazine/nsg23/ex/empty), \ diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index f5ae552ea1df..3e61939cb1ca 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -437,6 +437,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) "Seized Items", "Shipside Contraband", "Surplus Equipment", + "Contraband Ammo", "Deep Storage", "Miscellaneous" ) diff --git a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm index 170bb539bc73..dd56d48a364c 100644 --- a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm +++ b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm @@ -1,7 +1,7 @@ //-----------------------M41A Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/ap - name = "\improper magazine box (AP M41A x 10)" + name = "magazine box (AP M41A x 10)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_ap" overlay_content = "_ap" @@ -11,7 +11,7 @@ empty = TRUE /obj/item/ammo_box/magazine/le - name = "\improper magazine box (LE M41A x 10)" + name = "magazine box (LE M41A x 10)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_le" overlay_content = "_le" @@ -21,7 +21,7 @@ empty = TRUE /obj/item/ammo_box/magazine/ext - name = "\improper magazine box (Ext M41A x 8)" + name = "magazine box (Ext M41A x 8)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_ext" num_of_magazines = 8 @@ -31,7 +31,7 @@ empty = TRUE /obj/item/ammo_box/magazine/incen - name = "\improper magazine box (Incen M41A x 10)" + name = "magazine box (Incen M41A x 10)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_incen" overlay_content = "_incen" @@ -41,7 +41,7 @@ empty = TRUE /obj/item/ammo_box/magazine/explosive - name = "\improper magazine box (Explosive M41A x 10)" + name = "magazine box (Explosive M41A x 10)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_expl" overlay_content = "_expl" @@ -63,7 +63,7 @@ //-----------------------M39 Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/m39 - name = "\improper magazine box (M39 x 12)" + name = "magazine box (M39 x 12)" icon_state = "base_m39" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -76,7 +76,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m39/ap - name = "\improper magazine box (AP M39 x 12)" + name = "magazine box (AP M39 x 12)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/smg/m39/ap @@ -85,7 +85,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m39/ext - name = "\improper magazine box (Ext m39 x 10)" + name = "magazine box (Ext m39 x 10)" overlay_ammo_type = "_ext" overlay_content = "_hv" num_of_magazines = 10 @@ -95,7 +95,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m39/incen - name = "\improper magazine box (Incen m39 x 12)" + name = "magazine box (Incen m39 x 12)" overlay_ammo_type = "_incen" overlay_content = "_incen" magazine_type = /obj/item/ammo_magazine/smg/m39/incendiary @@ -104,7 +104,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m39/le - name = "\improper magazine box (LE m39 x 12)" + name = "magazine box (LE m39 x 12)" overlay_ammo_type = "_le" overlay_content = "_le" magazine_type = /obj/item/ammo_magazine/smg/m39/le @@ -124,7 +124,7 @@ //-----------------------M4RA Battle Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/m4ra - name = "\improper magazine box (M4RA x 16)" + name = "magazine box (M4RA x 16)" icon_state = "base_m4ra" flags_equip_slot = SLOT_BACK overlay_gun_type = "_m4ra" @@ -135,7 +135,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4ra/ap - name = "\improper magazine box (AP M4RA x 16)" + name = "magazine box (AP M4RA x 16)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/rifle/m4ra/ap @@ -144,7 +144,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4ra/ext - name = "\improper magazine box (Ext M4RA x 12)" + name = "magazine box (Ext M4RA x 12)" overlay_ammo_type = "_ext" num_of_magazines = 12 magazine_type = /obj/item/ammo_magazine/rifle/m4ra/ext @@ -153,7 +153,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4ra/incen - name = "\improper magazine box (Incen M4RA x 16)" + name = "magazine box (Incen M4RA x 16)" overlay_ammo_type = "_incen" overlay_content = "_incen" magazine_type = /obj/item/ammo_magazine/rifle/m4ra/incendiary @@ -173,7 +173,7 @@ //-----------------------XM51 Breaching Scattergun Mag Box----------------------- /obj/item/ammo_box/magazine/xm51 - name = "\improper magazine box (XM51 x 8)" + name = "magazine box (XM51 x 8)" icon_state = "base_breach" flags_equip_slot = SLOT_BACK overlay_gun_type = "_xm51" @@ -186,7 +186,7 @@ //-----------------------L42A Battle Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/l42a - name = "\improper magazine box (L42A x 16)" + name = "magazine box (L42A x 16)" icon_state = "base_l42" flags_equip_slot = SLOT_BACK overlay_gun_type = "_l42" @@ -197,7 +197,7 @@ empty = TRUE /obj/item/ammo_box/magazine/l42a/ap - name = "\improper magazine box (AP L42A x 16)" + name = "magazine box (AP L42A x 16)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/rifle/l42a/ap @@ -206,7 +206,7 @@ empty = TRUE /obj/item/ammo_box/magazine/l42a/le - name = "\improper magazine box (LE L42A x 16)" + name = "magazine box (LE L42A x 16)" overlay_ammo_type = "_le" overlay_content = "_le" magazine_type = /obj/item/ammo_magazine/rifle/l42a/le @@ -215,7 +215,7 @@ empty = TRUE /obj/item/ammo_box/magazine/l42a/ext - name = "\improper magazine box (Ext L42A x 12)" + name = "magazine box (Ext L42A x 12)" overlay_ammo_type = "_ext" overlay_content = "_reg" num_of_magazines = 12 @@ -225,7 +225,7 @@ empty = TRUE /obj/item/ammo_box/magazine/l42a/incen - name = "\improper magazine box (Incen L42A x 16)" + name = "magazine box (Incen L42A x 16)" overlay_ammo_type = "_incen" overlay_content = "_incen" magazine_type = /obj/item/ammo_magazine/rifle/l42a/incendiary @@ -245,7 +245,7 @@ //-----------------------M16 Rifle Mag Box----------------------- /obj/item/ammo_box/magazine/M16 - name = "\improper magazine box (M16 x 12)" + name = "magazine box (M16 x 12)" icon_state = "base_m16" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -257,7 +257,7 @@ empty = TRUE /obj/item/ammo_box/magazine/M16/ap - name = "\improper magazine box (AP M16 x 12)" + name = "magazine box (AP M16 x 12)" icon_state = "base_m16" overlay_ammo_type = "_ap" overlay_gun_type = "_m16" @@ -270,7 +270,7 @@ //-----------------------M4A3 Pistol Mag Box----------------------- /obj/item/ammo_box/magazine/m4a3 - name = "\improper magazine box (M4A3 x 16)" + name = "magazine box (M4A3 x 16)" icon_state = "base_m4a3" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -282,7 +282,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4a3/ap - name = "\improper magazine box (AP M4A3 x 16)" + name = "magazine box (AP M4A3 x 16)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/pistol/ap @@ -291,7 +291,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4a3/hp - name = "\improper magazine box (HP M4A3 x 16)" + name = "magazine box (HP M4A3 x 16)" overlay_ammo_type = "_hp" overlay_content = "_hp" magazine_type = /obj/item/ammo_magazine/pistol/hp @@ -300,7 +300,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m4a3/incen - name = "\improper magazine box (Incen M4A3 x 16)" + name = "magazine box (Incen M4A3 x 16)" overlay_ammo_type = "_incen" overlay_content = "_incen" magazine_type = /obj/item/ammo_magazine/pistol/incendiary @@ -311,7 +311,7 @@ //-----------------------M44 Revolver Speed Loaders Box----------------------- /obj/item/ammo_box/magazine/m44 - name = "\improper speed loaders box (M44 x 16)" + name = "speed loaders box (M44 x 16)" icon_state = "base_m44" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_m44_reg" @@ -324,7 +324,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m44/marksman - name = "\improper speed loaders box (Marksman M44 x 16)" + name = "speed loaders box (Marksman M44 x 16)" overlay_ammo_type = "_m44_mark" magazine_type = /obj/item/ammo_magazine/revolver/marksman @@ -332,7 +332,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m44/heavy - name = "\improper speed loaders box (Heavy M44 x 16)" + name = "speed loaders box (Heavy M44 x 16)" overlay_ammo_type = "_m44_heavy" magazine_type = /obj/item/ammo_magazine/revolver/heavy @@ -342,7 +342,7 @@ //-----------------------SU-6 Smartpistol Mag Box----------------------- /obj/item/ammo_box/magazine/su6 - name = "\improper magazine box (SU-6 x 16)" + name = "magazine box (SU-6 x 16)" icon_state = "base_su6" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -356,7 +356,7 @@ //-----------------------88M4 Pistol Mag Box----------------------- /obj/item/ammo_box/magazine/mod88 - name = "\improper magazine box (88 Mod 4 AP x 16)" + name = "magazine box (88 Mod 4 AP x 16)" icon_state = "base_mod88" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_ap" @@ -371,7 +371,7 @@ //-----------------------VP78 Pistol Mag Box----------------------- /obj/item/ammo_box/magazine/vp78 - name = "\improper magazine box (VP78 x 16)" + name = "magazine box (VP78 x 16)" icon_state = "base_vp78" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -385,7 +385,7 @@ //-----------------------Type71 Rifle Mag Box----------------------- /obj/item/ammo_box/magazine/type71 - name = "\improper magazine box (Type71 x 10)" + name = "magazine box (Type71 x 10)" icon_state = "base_type71" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_type71_reg" @@ -398,7 +398,7 @@ empty = TRUE /obj/item/ammo_box/magazine/type71/ap - name = "\improper magazine box (Type71 AP x 10)" + name = "magazine box (Type71 AP x 10)" overlay_ammo_type = "_type71_ap" overlay_content = "_type71_ap" magazine_type = /obj/item/ammo_magazine/rifle/type71/ap @@ -418,7 +418,7 @@ //-----------------------Nailgun Mag Box----------------------- /obj/item/ammo_box/magazine/nailgun - name = "\improper magazine box (Nailgun x 10)" + name = "magazine box (Nailgun x 10)" icon_state = "base_nailgun" //base color of box icon_state_deployed = "base_nailgun_deployed" overlay_ammo_type = "_nail" //used for ammo type color overlay @@ -436,7 +436,7 @@ //-----------------------M56B Drum Box----------------------- /obj/item/ammo_box/magazine/m56b - name = "\improper drum box (M56B x 8)" + name = "drum box (M56B x 8)" icon_state = "base_m56b" overlay_ammo_type = "_reg_heavy" overlay_gun_type = "_sg" @@ -448,7 +448,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m56b/dirty - name = "\improper drum box (M56B 'Dirty' x 8)" + name = "drum box (M56B 'Dirty' x 8)" overlay_ammo_type = "_red_heavy" overlay_content = "_sgdirty" magazine_type = /obj/item/ammo_magazine/smartgun/dirty @@ -459,7 +459,7 @@ //-----------------------M56D Drum Box----------------------- /obj/item/ammo_box/magazine/m56d - name = "\improper drum box (M56D x 8)" + name = "drum box (M56D x 8)" icon_state = "base_m56d" overlay_ammo_type = "" overlay_gun_type = "_m56d" @@ -480,7 +480,7 @@ //-----------------------M2C Ammo Box----------------------- /obj/item/ammo_box/magazine/m2c - name = "\improper ammo box (M2C x 8)" + name = "ammo box (M2C x 8)" icon_state = "base_m2c" overlay_ammo_type = "" overlay_gun_type = "_m2c" @@ -500,7 +500,7 @@ //-----------------------M41AE2 Ammo Box----------------------- /obj/item/ammo_box/magazine/m41ae2 - name = "\improper magazine (M41AE2 x 8)" + name = "magazine (M41AE2 x 8)" icon_state = "base_m41ae2" overlay_ammo_type = "_reg_heavy" overlay_gun_type = "_m41ae2" @@ -512,7 +512,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m41ae2/holo - name = "\improper magazine box (M41AE2 Holo-Target x 8)" + name = "magazine box (M41AE2 Holo-Target x 8)" overlay_ammo_type = "_holo_heavy" overlay_content = "_m41ae2_holo" magazine_type = /obj/item/ammo_magazine/rifle/lmg/holo_target @@ -521,7 +521,7 @@ empty = TRUE /obj/item/ammo_box/magazine/m41ae2/heap - name = "\improper magazine box (M41AE2 HEAP x 8)" + name = "magazine box (M41AE2 HEAP x 8)" overlay_ammo_type = "_heap_heavy" overlay_content = "_m41ae2_heap" magazine_type = /obj/item/ammo_magazine/rifle/lmg/heap @@ -532,7 +532,7 @@ //-----------------------Flamer Fuel Tank Box----------------------- /obj/item/ammo_box/magazine/flamer - name = "\improper flamer tank box (UT-Napthal Fuel x 8)" + name = "flamer tank box (UT-Napthal Fuel x 8)" icon_state = "base_flamer" overlay_ammo_type = "_flamer" overlay_gun_type = "_blank" @@ -544,7 +544,7 @@ empty = TRUE /obj/item/ammo_box/magazine/flamer/bgel - name = "\improper flamer fuel box (Napalm B-Gel x 8)" + name = "flamer fuel box (Napalm B-Gel x 8)" overlay_ammo_type = "_flamer_bgel" overlay_content = "_flamer_bgel" magazine_type = /obj/item/ammo_magazine/flamer_tank/gellied @@ -555,7 +555,7 @@ //-----------------------M41A MK1 Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/mk1 - name = "\improper magazine box (M41A MK1 x 8)" + name = "magazine box (M41A MK1 x 8)" overlay_ammo_type = "_reg_mk1" overlay_gun_type = "_mk1" overlay_content = "_reg" @@ -566,7 +566,7 @@ empty = TRUE /obj/item/ammo_box/magazine/mk1/ap - name = "\improper magazine box (M41A MK1 AP x 8)" + name = "magazine box (M41A MK1 AP x 8)" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_ap_mk1" overlay_content = "_ap" @@ -578,7 +578,7 @@ //-----------------------NSG 23 Rifle Mag Boxes----------------------- /obj/item/ammo_box/magazine/nsg23 - name = "\improper magazine box (NSG 23 x 16)" + name = "magazine box (NSG 23 x 16)" icon_state = "base_nsg23" overlay_gun_type = "_nsg23" overlay_content = "_reg" @@ -589,7 +589,7 @@ empty = TRUE /obj/item/ammo_box/magazine/nsg23/ap - name = "\improper magazine box (NSG 23 AP x 12)" + name = "magazine box (NSG 23 AP x 12)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/rifle/nsg23/ap @@ -599,7 +599,7 @@ empty = TRUE /obj/item/ammo_box/magazine/nsg23/ex - name = "\improper magazine box (NSG 23 Extended x 8)" + name = "magazine box (NSG 23 Extended x 8)" overlay_ammo_type = "_ext" magazine_type = /obj/item/ammo_magazine/rifle/nsg23/extended num_of_magazines = 8 @@ -608,7 +608,7 @@ empty = TRUE /obj/item/ammo_box/magazine/nsg23/heap - name = "\improper magazine box (NSG 23 HEAP x 16)" + name = "magazine box (NSG 23 HEAP x 16)" overlay_ammo_type = "_heap" overlay_content = "_heap" magazine_type = /obj/item/ammo_magazine/rifle/nsg23/heap @@ -619,7 +619,7 @@ //-----------------------Spearhead Autorevolver Speed Loaders Box----------------------- /obj/item/ammo_box/magazine/spearhead - name = "\improper speed loaders box (Spearhead HP x 12)" + name = "speed loaders box (Spearhead HP x 12)" icon_state = "base_cmb" overlay_ammo_type = "_357_hp" overlay_gun_type = "_357" @@ -631,7 +631,7 @@ empty = TRUE /obj/item/ammo_box/magazine/spearhead/normalpoint - name = "\improper speed loaders box (Spearhead x 12)" + name = "speed loaders box (Spearhead x 12)" overlay_ammo_type = "_357_reg" magazine_type = /obj/item/ammo_magazine/revolver/cmb/normalpoint @@ -641,7 +641,7 @@ //-----------------------Type 73 Pistol Mag Box----------------------- /obj/item/ammo_box/magazine/type73 - name = "\improper magazine box (Type 73 x 16)" + name = "magazine box (Type 73 x 16)" icon_state = "base_type73" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_type71_reg" @@ -654,7 +654,7 @@ empty = TRUE /obj/item/ammo_box/magazine/type73/impact - name = "\improper magazine box (Type 73 High-Impact x 10)" + name = "magazine box (Type 73 High-Impact x 10)" overlay_ammo_type = "_type73_impact" overlay_content = "_type73_impact" num_of_magazines = 10 @@ -667,7 +667,7 @@ //-----------------------AR10 Rifle Mag Box----------------------- /obj/item/ammo_box/magazine/ar10 - name = "\improper magazine box (AR10 x 12)" + name = "magazine box (AR10 x 12)" icon_state = "base_ar10" flags_equip_slot = SLOT_BACK overlay_gun_type = "_ar10" @@ -681,7 +681,7 @@ //-----------------------MP5 Smg Mag Box----------------------- /obj/item/ammo_box/magazine/mp5 - name = "\improper magazine box (MP5 x 12)" + name = "magazine box (MP5 x 12)" icon_state = "base_m16" flags_equip_slot = SLOT_BACK overlay_gun_type = "_mp5" @@ -696,7 +696,7 @@ //-----------------------Desert Eagle Pistol Mag Box----------------------- /obj/item/ammo_box/magazine/deagle - name = "\improper magazine box (Desert Eagle x 12)" + name = "magazine box (Desert Eagle x 12)" icon_state = "base_deagle" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" @@ -709,7 +709,7 @@ empty = TRUE /obj/item/ammo_box/magazine/deagle/super - name = "\improper magazine box (Heavy Desert Eagle x 8)" + name = "magazine box (Heavy Desert Eagle x 8)" overlay_ammo_type = "_hp" overlay_content = "_hp" num_of_magazines = 8 @@ -719,7 +719,7 @@ empty = TRUE /obj/item/ammo_box/magazine/deagle/super/highimpact - name = "\improper magazine box (High Impact Desert Eagle x 8)" + name = "magazine box (High Impact Desert Eagle x 8)" overlay_ammo_type = "_impact" overlay_content = "_impact" magazine_type = /obj/item/ammo_magazine/pistol/heavy/super/highimpact @@ -728,10 +728,304 @@ empty = TRUE /obj/item/ammo_box/magazine/deagle/super/highimpact/ap - name = "\improper magazine box (High Impact Armor-Piercing Desert Eagle x 8)" + name = "magazine box (High Impact Armor-Piercing Desert Eagle x 8)" overlay_ammo_type = "_ap" overlay_content = "_ap" magazine_type = /obj/item/ammo_magazine/pistol/heavy/super/highimpact/ap /obj/item/ammo_box/magazine/deagle/super/highimpact/ap/empty empty = TRUE + + +//-----------------------S&W Revolver Speed Loaders Box----------------------- +/obj/item/ammo_box/magazine/snw + name = "speed loaders box (S&W .38 x 12)" + icon_state = "base_S&W" + overlay_ammo_type = "_m44_reg" + overlay_gun_type = "_38" + overlay_content = "_speed" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/revolver/small + +/obj/item/ammo_box/magazine/snw/empty + empty = TRUE + + +//-----------------------Type64 Bizon SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/type64 + name = "magazine box (Type64 Bizon x 10)" + icon_state = "base_type64" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "_type71_reg" + overlay_gun_type = "_type64" + overlay_content = "_type71_reg" + num_of_magazines = 10 + magazine_type = /obj/item/ammo_magazine/smg/bizon + +/obj/item/ammo_box/magazine/type64/empty + empty = TRUE + +//-----------------------ZhNK-72 Revolver Speedloader Box----------------------- + +/obj/item/ammo_box/magazine/zhnk + name = "speed loaders box (ZhNK-72 x 12)" + icon_state = "base_zhnk72" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_zhnk72" + overlay_content = "_zhnk72" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/revolver/upp + +/obj/item/ammo_box/magazine/zhnk/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/zhnk/empty + empty = TRUE + +//-----------------------Type-19 SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/type19 + name = "magazine box (Type19 x 12)" + icon_state = "base_type19" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_type19" + overlay_content = "_type71_reg" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/smg/pps43 + +/obj/item/ammo_box/magazine/type19/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + + +/obj/item/ammo_box/magazine/type19/empty + empty = TRUE + +//-----------------------UZI SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/uzi + name = "magazine box (UZI x 12)" + icon_state = "base_uzi" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_uzi" + overlay_content = "_uzi" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/smg/uzi + +/obj/item/ammo_box/magazine/uzi/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/uzi/empty + empty = TRUE + +//-----------------------MAC-15 SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/mac15 + name = "magazine box (MAC-15 x 12)" + icon_state = "base_uzi" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_mac15" + overlay_content = "_uzi" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/smg/mac15 + +/obj/item/ammo_box/magazine/mac15/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/mac15/empty + empty = TRUE + +//-----------------------MP27 SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/mp27 + name = "magazine box (MP27 x 12)" + icon_state = "base_uzi" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_mp27" + overlay_content = "_fn" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/smg/mp27 + +/obj/item/ammo_box/magazine/mp27/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/mp27/empty + empty = TRUE + +//-----------------------M1911 Pistol Mag Box----------------------- + +/obj/item/ammo_box/magazine/m1911 + name = "magazine box (M1911 x 16)" + icon_state = "base_mk45" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_m1911" + overlay_content = "_uzi" + num_of_magazines = 16 + magazine_type = /obj/item/ammo_magazine/pistol/m1911 + +/obj/item/ammo_box/magazine/m1911/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + + +/obj/item/ammo_box/magazine/m1911/empty + empty = TRUE + +//-----------------------MK-45 Highpower Pistol Mag Box----------------------- + +/obj/item/ammo_box/magazine/mk45 + name = "magazine box (MK-45 x 16)" + icon_state = "base_mk45" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_mk45" + overlay_content = "_uzi" + num_of_magazines = 16 + magazine_type = /obj/item/ammo_magazine/pistol/highpower + +/obj/item/ammo_box/magazine/mk45/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/mk45/empty + empty = TRUE + +//-----------------------KT-42 Automag Pistol Mag Box----------------------- + +/obj/item/ammo_box/magazine/kt42 + name = "magazine box (KT-42 x 16)" + icon_state = "base_mk45" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_kt42" + overlay_content = "_uzi" + num_of_magazines = 16 + magazine_type = /obj/item/ammo_magazine/pistol/kt42 + +/obj/item/ammo_box/magazine/kt42/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + + +/obj/item/ammo_box/magazine/kt42/empty + empty = TRUE + +//-----------------------Beretta 92FS Pistol Mag Box----------------------- + +/obj/item/ammo_box/magazine/b92fs + name = "magazine box (Beretta 92FS x 16)" + icon_state = "base_mk45" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_b92fs" + overlay_content = "_uzi" + num_of_magazines = 16 + magazine_type = /obj/item/ammo_magazine/pistol/b92fs + +/obj/item/ammo_box/magazine/b92fs/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/b92fs/empty + empty = TRUE + +//-----------------------FN FP9000 SMG Mag Box----------------------- + +/obj/item/ammo_box/magazine/fp9000 + name = "magazine box (FN FP9000 x 12)" + icon_state = "base_fn" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_fnfp9000" + overlay_content = "_fn" + num_of_magazines = 12 + magazine_type = /obj/item/ammo_magazine/smg/fp9000 + +/obj/item/ammo_box/magazine/fp9000/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/fp9000/empty + empty = TRUE + +//-----------------------MAR30/40 Mag Box----------------------- + +/obj/item/ammo_box/magazine/mar30 + name = "magazine box (MAR30/40 x 10)" + icon_state = "base_mar" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_mar30" + overlay_content = "_mar" + num_of_magazines = 10 + magazine_type = /obj/item/ammo_magazine/rifle/mar40 + +/obj/item/ammo_box/magazine/mar30/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/mar30/empty + empty = TRUE + +/obj/item/ammo_box/magazine/mar30/ext + name = "magazine box (MAR30/40 Ext x 8)" + overlay_gun_type = "_mar40" + num_of_magazines = 8 + magazine_type = /obj/item/ammo_magazine/rifle/mar40/extended + +/obj/item/ammo_box/magazine/mar30/ext/empty + empty = TRUE + +//-----------------------MAR50 Mag Box----------------------- + +/obj/item/ammo_box/magazine/mar50 + name = "magazine box (MAR50 x 8)" + icon_state = "base_mar" + flags_equip_slot = SLOT_BACK + overlay_ammo_type = "" + overlay_gun_type = "_mar50" + overlay_content = "_mar" + num_of_magazines = 8 + magazine_type = /obj/item/ammo_magazine/rifle/mar40/lmg + +/obj/item/ammo_box/magazine/mar50/update_icon() + if(overlays) + overlays.Cut() + overlays += image(icon, icon_state = "[icon_state]_lid") //adding lid + overlays += image(text_markings_icon, icon_state = "text[overlay_gun_type]") //adding text + +/obj/item/ammo_box/magazine/mar50/empty + empty = TRUE diff --git a/icons/obj/items/weapons/guns/ammo_boxes/boxes_and_lids.dmi b/icons/obj/items/weapons/guns/ammo_boxes/boxes_and_lids.dmi index 8655a8bfcf2cf686a46910b61023d21ff8592deb..f01be20a48b43cfdc0764350c12ed1515ea89924 100644 GIT binary patch literal 6753 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 HbMyZIBIa+R literal 5624 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 W$6jB=UD|&>fT^LSLA9Pc{(k@h_*W7D diff --git a/icons/obj/items/weapons/guns/ammo_boxes/magazines.dmi b/icons/obj/items/weapons/guns/ammo_boxes/magazines.dmi index ff0c6d60d4ace68181015abbaec5d9c2f72f6d4b..90c0f341dd888b5258b41e52526a9c5c8d988ca5 100644 GIT binary patch literal 3688 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 Ky%l@>|NI|V$_n%V literal 3261 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