From f1f4b8e982306d03e447790b4b8e589c2d32e100 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 02:14:20 -0300 Subject: [PATCH 01/23] the beginning --- code/game/objects/items/storage/toolbox.dm | 55 +++++++++++++++++++ .../boxes_magazines/_box_magazine.dm | 33 +++++------ .../boxes_magazines/external/pistol.dm | 9 +++ code/modules/projectiles/guns/ballistic.dm | 1 - .../projectiles/guns/ballistic/revolver.dm | 2 + 5 files changed, 83 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index c703aeb38a0d..d7aa910505d7 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -312,6 +312,61 @@ new /obj/item/clothing/mask/infiltrator(src) new /obj/item/clothing/shoes/combat/sneakboots(src) +/obj/item/storage/toolbox/guncase + name = "gun case" + desc = "A large box designed for holding firearms and magazines safely." + icon_state = "infiltrator_case" + item_state = "infiltrator_case" + force = 15 + throwforce = 18 + w_class = WEIGHT_CLASS_NORMAL + has_latches = FALSE + +/obj/item/storage/toolbox/guncase/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 12 + STR.max_w_class = WEIGHT_CLASS_BULKY + STR.set_holdable(list( + /obj/item/gun + )) + +/obj/item/storage/toolbox/pistolcase + name = "pistol case" + desc = "A large box designed for holding pistols and magazines safely." + icon_state = "infiltrator_case" + item_state = "infiltrator_case" + force = 15 + throwforce = 18 + w_class = WEIGHT_CLASS_NORMAL + has_latches = FALSE + +/obj/item/storage/toolbox/pistolcase/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 8 + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.set_holdable(list( + /obj/item/gun + )) +/obj/item/storage/toolbox/pistolcase/stechkin +/obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) + new/obj/item/ammo_box/magazine/m10mm(src) + new/obj/item/ammo_box/magazine/m10mm(src) +/obj/item/storage/toolbox/pistolcase/candor + +/obj/item/storage/toolbox/pistolcase/det38 + +/obj/item/storage/toolbox/pistolcase/shadow + +/obj/item/storage/toolbox/pistolcase/commander + +/obj/item/storage/toolbox/pistolcase/pepperbox + +/obj/item/storage/toolbox/pistolcase/derringer + +/obj/item/storage/toolbox/pistolcase/disposable //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 87f47b99d36d..7e508b2685c5 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -36,22 +36,23 @@ ///cost of the materials in the magazine/box itself var/list/base_cost -/obj/item/ammo_box/Initialize() - . = ..() - if(!base_icon_state) - base_icon_state = icon_state - if (!bullet_cost) - for (var/material in custom_materials) - var/material_amount = custom_materials[material] - LAZYSET(base_cost, material, (material_amount * 0.10)) - - material_amount *= 0.90 // 10% for the container - material_amount /= max_ammo - LAZYSET(bullet_cost, material, material_amount) - if(!start_empty) - for(var/i = 1, i <= max_ammo, i++) - stored_ammo += new ammo_type(src) - update_appearance() +/obj/item/ammo_box/Initialize(mapload, percent_fill = 1) + . = ..() + if(!base_icon_state) + base_icon_state = icon_state + if (!bullet_cost) + for (var/material in custom_materials) + var/material_amount = custom_materials[material] + LAZYSET(base_cost, material, (material_amount * 0.10)) + + material_amount *= 0.90 // 10% for the container + material_amount /= max_ammo + LAZYSET(bullet_cost, material, material_amount) + if(!start_empty && percent_fill) + var/bullets = round(max_ammo * percent_fill, 1) + for(var/i = 1, i <= bullets, i++) + stored_ammo += new ammo_type(src) + update_appearance() ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 66b9238a5c90..be9322c09182 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -8,6 +8,9 @@ max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/m10mm/empty + percent_fill = 0 + /obj/item/ammo_box/magazine/m10mm/inc name = "pistol magazine (10mm incendiary)" desc = "An 8-round single-stack magazine for the stechkin pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." @@ -37,6 +40,8 @@ caliber = ".45" max_ammo = 8 +/obj/item/ammo_box/magazine/m45 + /obj/item/ammo_box/magazine/m45/inc name = "pistol magazine (.45 incendiary)" desc = "An 8-round single-stack magazine for the Candor pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." @@ -71,6 +76,8 @@ max_ammo = 10 multiple_sprites = AMMO_BOX_PER_BULLET +/obj/item/ammo_box/magazine/co9mm/empty + /obj/item/ammo_box/magazine/pistol556mm name = "Pistole C magazine (5.56mm HITP caseless)" desc = "A 12-round, double-stack magazine for the Pistole C pistol. These rounds do okay damage with average performance against armor." @@ -93,6 +100,8 @@ else icon_state = "[base_icon_state]-0" +/obj/item/ammo_box/magazine/pistol556mm/empty + /obj/item/ammo_box/magazine/co9mm/inc name = "pistol magazine (9mm incendiary)" desc = "A 10-round double-stack magazine for standard-issue 9mm pistols. These incendiary rounds deal pitiful damage, but leave flaming trails which set targets ablaze." diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 227abceffa01..56e1fefd3a07 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -104,7 +104,6 @@ magazine = new mag_type(src) chamber_round() update_appearance() - /obj/item/gun/ballistic/update_icon_state() if(current_skin) icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index dea8c12e5a2e..45bee6f44448 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -525,6 +525,8 @@ to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") return TRUE +/obj/item/gun/ballistic/revolver/detective/no_mag + /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" From fffb4a8266b9d0218604a46df15662490533e61d Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 20:01:44 -0300 Subject: [PATCH 02/23] improvements --- code/game/objects/items/storage/toolbox.dm | 48 +++++++++++++++++-- code/modules/cargo/packs/ammo.dm | 2 +- .../boxes_magazines/_box_magazine.dm | 33 +++++++------ .../boxes_magazines/external/pistol.dm | 1 - code/modules/projectiles/guns/ballistic.dm | 4 +- .../projectiles/guns/ballistic/revolver.dm | 2 +- .../projectiles/guns/energy/energy_gun.dm | 6 +++ code/modules/projectiles/guns/energy/laser.dm | 3 ++ 8 files changed, 74 insertions(+), 25 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index d7aa910505d7..409861972fae 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -352,21 +352,61 @@ /obj/item/storage/toolbox/pistolcase/stechkin /obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) - new/obj/item/ammo_box/magazine/m10mm(src) - new/obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm(src) + /obj/item/storage/toolbox/pistolcase/candor +/obj/item/storage/toolbox/pistolcase/candor/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/candor/no_mag(src) + new /obj/item/ammo_box/magazine/m45(src) + new /obj/item/ammo_box/magazine/m45(src) -/obj/item/storage/toolbox/pistolcase/det38 +/obj/item/storage/toolbox/pistolcase/detective +/obj/item/storage/toolbox/pistolcase/detective/PopulateContents() + new /obj/item/gun/ballistic/revolver/detective(src) + new /obj/item/ammo_box/c38(src) + new /obj/item/ammo_box/c38(src) /obj/item/storage/toolbox/pistolcase/shadow +/obj/item/storage/toolbox/pistolcase/shadow/PopulateContents() + new /datum/supply_pack/gun/shadowrevolver(src) + new /obj/item/ammo_box/c45_speedloader(src) + new /obj/item/ammo_box/c45_speedloader(src) /obj/item/storage/toolbox/pistolcase/commander +/obj/item/storage/toolbox/pistolcase/commander/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) + new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/co9mm(src) -/obj/item/storage/toolbox/pistolcase/pepperbox +/obj/item/storage/toolbox/pistolcase/firebrand +/obj/item/storage/toolbox/pistolcase/firebrand/PopulateContents() + new /obj/item/gun/ballistic/revolver/firebrand(src) /obj/item/storage/toolbox/pistolcase/derringer +/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/derringer(src) + new /obj/item/gun/ballistic/derringer(src) /obj/item/storage/toolbox/pistolcase/disposable +/obj/item/storage/toolbox/pistolcase/disposable/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + +/obj/item/storage/toolbox/pistolcase/laser +/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/derringer(src) + new /obj/item/gun/ballistic/derringer(src) + +/obj/item/storage/toolbox/pistolcase/laser + +/obj/item/storage/toolbox/pistolcase/laser + +/obj/item/storage/toolbox/pistolcase/laser + +/obj/item/storage/toolbox/pistolcase/laser + +/obj/item/storage/toolbox/pistolcase/laser //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index f1e46fe88cc8..7a96bcff5a8d 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -9,7 +9,7 @@ /datum/supply_pack/ammo/co9mm_mag name = "9mm Commander Magazine Crate" desc = "Contains a 9mm magazine for the standard-issue Commander pistol, containing ten rounds." - contains = list(/obj/item/ammo_box/magazine/co9mm,) + contains = list(/obj/item/ammo_box/magazine/co9mm) cost = 500 /datum/supply_pack/ammo/m45_mag diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 7e508b2685c5..87f47b99d36d 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -36,23 +36,22 @@ ///cost of the materials in the magazine/box itself var/list/base_cost -/obj/item/ammo_box/Initialize(mapload, percent_fill = 1) - . = ..() - if(!base_icon_state) - base_icon_state = icon_state - if (!bullet_cost) - for (var/material in custom_materials) - var/material_amount = custom_materials[material] - LAZYSET(base_cost, material, (material_amount * 0.10)) - - material_amount *= 0.90 // 10% for the container - material_amount /= max_ammo - LAZYSET(bullet_cost, material, material_amount) - if(!start_empty && percent_fill) - var/bullets = round(max_ammo * percent_fill, 1) - for(var/i = 1, i <= bullets, i++) - stored_ammo += new ammo_type(src) - update_appearance() +/obj/item/ammo_box/Initialize() + . = ..() + if(!base_icon_state) + base_icon_state = icon_state + if (!bullet_cost) + for (var/material in custom_materials) + var/material_amount = custom_materials[material] + LAZYSET(base_cost, material, (material_amount * 0.10)) + + material_amount *= 0.90 // 10% for the container + material_amount /= max_ammo + LAZYSET(bullet_cost, material, material_amount) + if(!start_empty) + for(var/i = 1, i <= max_ammo, i++) + stored_ammo += new ammo_type(src) + update_appearance() ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index be9322c09182..57c0c67219c2 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -9,7 +9,6 @@ multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/m10mm/empty - percent_fill = 0 /obj/item/ammo_box/magazine/m10mm/inc name = "pistol magazine (10mm incendiary)" diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 56e1fefd3a07..fda846974738 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -96,12 +96,14 @@ /obj/item/gun/ballistic/Initialize() . = ..() - if (!spawnwithmagazine) + if (!spawnwithmagazine && !istype(magazine, /obj/item/ammo_box/magazine/internal)) bolt_locked = TRUE update_appearance() return if (!magazine) magazine = new mag_type(src) + if (!spawnwithmagazine) + get_ammo_list (drop_all = TRUE) chamber_round() update_appearance() /obj/item/gun/ballistic/update_icon_state() diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 45bee6f44448..e7c54f7c3e5e 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -526,7 +526,7 @@ return TRUE /obj/item/gun/ballistic/revolver/detective/no_mag - + spawnwithmagazine = FALSE /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index f2c504f07f84..16951e05e70b 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -12,6 +12,9 @@ dual_wield_spread = 60 manufacturer = MANUFACTURER_SHARPLITE_NEW +/obj/item/gun/energy/e_gun/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/e_gun/mini name = "miniature energy gun" desc = "A small, pistol-sized energy gun with a built-in flashlight. It has two settings: disable and kill." @@ -38,6 +41,9 @@ set_gun_light(new /obj/item/flashlight/seclite(src)) return ..() +/obj/item/gun/energy/e_gun/mini/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/e_gun/hades name = "SL AL-655 'Hades' energy rifle" desc = "The standard issue rifle of Nanotrasen's Security Forces. Most have been put in long term storage following the ICW, and usually aren't issued to low ranking security divisions." diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 31261d31e30c..92193ed89bdb 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -14,6 +14,9 @@ spread = 0 spread_unwielded = 10 +/obj/item/gun/energy/laser/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/laser/practice name = "practice laser gun" desc = "A modified version of the L-204 laser gun, this one fires less concentrated energy bolts designed for target practice." From 2b67a8eab5d093dcda838ad5c9aa372429758978 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 20:04:55 -0300 Subject: [PATCH 03/23] oops --- code/game/objects/items/storage/toolbox.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 409861972fae..d36aaf5d5287 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -319,7 +319,7 @@ item_state = "infiltrator_case" force = 15 throwforce = 18 - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY has_latches = FALSE /obj/item/storage/toolbox/guncase/ComponentInitialize() @@ -338,7 +338,7 @@ item_state = "infiltrator_case" force = 15 throwforce = 18 - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY has_latches = FALSE /obj/item/storage/toolbox/pistolcase/ComponentInitialize() From e5f876a53e64ab90efded629c9bfaf6131924f92 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 20:06:11 -0300 Subject: [PATCH 04/23] nice move --- code/game/objects/items/storage/toolbox.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index d36aaf5d5287..ada7b1ad474f 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -329,6 +329,7 @@ STR.max_w_class = WEIGHT_CLASS_BULKY STR.set_holdable(list( /obj/item/gun + /obj/item/ammo_box )) /obj/item/storage/toolbox/pistolcase @@ -348,6 +349,7 @@ STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( /obj/item/gun + /obj/item/ammo_box )) /obj/item/storage/toolbox/pistolcase/stechkin /obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() From c6b73a58aeedb58b981b89e4f15660e52b564dc0 Mon Sep 17 00:00:00 2001 From: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Date: Fri, 17 May 2024 20:11:40 -0300 Subject: [PATCH 05/23] Update code/modules/projectiles/guns/ballistic.dm waa Co-authored-by: Theos Signed-off-by: Martinpachu <86135885+Martinpachu@users.noreply.github.com> --- code/modules/projectiles/guns/ballistic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index fda846974738..f40041df3860 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -96,7 +96,7 @@ /obj/item/gun/ballistic/Initialize() . = ..() - if (!spawnwithmagazine && !istype(magazine, /obj/item/ammo_box/magazine/internal)) + if (!spawnwithmagazine && !ispath(mag_type, /obj/item/ammo_box/magazine/internal)) bolt_locked = TRUE update_appearance() return From d62c0287ef744e0b8626d8bb09f685e72d71bd42 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 20:31:11 -0300 Subject: [PATCH 06/23] :dog: --- code/game/objects/items/storage/toolbox.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index ada7b1ad474f..88ffb8af1dba 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -328,8 +328,9 @@ STR.max_items = 12 STR.max_w_class = WEIGHT_CLASS_BULKY STR.set_holdable(list( - /obj/item/gun - /obj/item/ammo_box + /obj/item/gun, + /obj/item/ammo_box, + /obj/item/stock_parts/cell/gun )) /obj/item/storage/toolbox/pistolcase @@ -348,8 +349,9 @@ STR.max_items = 8 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( - /obj/item/gun - /obj/item/ammo_box + /obj/item/gun, + /obj/item/ammo_box/ + /obj/item/stock_parts/cell/gun )) /obj/item/storage/toolbox/pistolcase/stechkin /obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() From 24591a606a3fa79b8ed7136f203b7e80547cc033 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 23:36:04 -0300 Subject: [PATCH 07/23] eats all the ammo --- code/game/objects/items/storage/toolbox.dm | 73 +++++++++++-------- .../projectiles/boxes_magazines/ammo_boxes.dm | 6 ++ .../boxes_magazines/external/pistol.dm | 6 +- .../projectiles/guns/ballistic/pistol.dm | 4 + .../projectiles/guns/ballistic/revolver.dm | 8 ++ .../projectiles/guns/energy/special.dm | 3 + .../guns/faction/gezena/energy_gunsword.dm | 6 ++ 7 files changed, 75 insertions(+), 31 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 88ffb8af1dba..2a839cefc1ef 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -350,47 +350,47 @@ STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( /obj/item/gun, - /obj/item/ammo_box/ + /obj/item/ammo_box/, /obj/item/stock_parts/cell/gun )) /obj/item/storage/toolbox/pistolcase/stechkin /obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm/empty(src) + new /obj/item/ammo_box/magazine/m10mm/empty(src) /obj/item/storage/toolbox/pistolcase/candor /obj/item/storage/toolbox/pistolcase/candor/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/candor/no_mag(src) - new /obj/item/ammo_box/magazine/m45(src) - new /obj/item/ammo_box/magazine/m45(src) + new /obj/item/ammo_box/magazine/m45/empty(src) + new /obj/item/ammo_box/magazine/m45/empty(src) /obj/item/storage/toolbox/pistolcase/detective /obj/item/storage/toolbox/pistolcase/detective/PopulateContents() - new /obj/item/gun/ballistic/revolver/detective(src) - new /obj/item/ammo_box/c38(src) - new /obj/item/ammo_box/c38(src) + new /obj/item/gun/ballistic/revolver/detective/no_mag(src) + new /obj/item/ammo_box/c38/empty(src) + new /obj/item/ammo_box/c38/empty(src) /obj/item/storage/toolbox/pistolcase/shadow /obj/item/storage/toolbox/pistolcase/shadow/PopulateContents() - new /datum/supply_pack/gun/shadowrevolver(src) - new /obj/item/ammo_box/c45_speedloader(src) - new /obj/item/ammo_box/c45_speedloader(src) + new /obj/item/gun/ballistic/revolver/shadow/no_mag(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) /obj/item/storage/toolbox/pistolcase/commander /obj/item/storage/toolbox/pistolcase/commander/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) - new /obj/item/ammo_box/magazine/co9mm(src) - new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/co9mm/empty(src) + new /obj/item/ammo_box/magazine/co9mm/empty(src) /obj/item/storage/toolbox/pistolcase/firebrand /obj/item/storage/toolbox/pistolcase/firebrand/PopulateContents() - new /obj/item/gun/ballistic/revolver/firebrand(src) + new /obj/item/gun/ballistic/revolver/firebrand/no_mag(src) /obj/item/storage/toolbox/pistolcase/derringer /obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/derringer(src) - new /obj/item/gun/ballistic/derringer(src) + new /obj/item/gun/ballistic/derringer/no_mag(src) + new /obj/item/gun/ballistic/derringer/no_mag(src) /obj/item/storage/toolbox/pistolcase/disposable /obj/item/storage/toolbox/pistolcase/disposable/PopulateContents() @@ -398,19 +398,34 @@ new /obj/item/gun/ballistic/automatic/pistol/disposable(src) /obj/item/storage/toolbox/pistolcase/laser -/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/derringer(src) - new /obj/item/gun/ballistic/derringer(src) - -/obj/item/storage/toolbox/pistolcase/laser - -/obj/item/storage/toolbox/pistolcase/laser - -/obj/item/storage/toolbox/pistolcase/laser - -/obj/item/storage/toolbox/pistolcase/laser - -/obj/item/storage/toolbox/pistolcase/laser +/obj/item/storage/toolbox/pistolcase/laser/PopulateContents() + new /obj/item/gun/energy/laser/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) + +/obj/item/storage/toolbox/pistolcase/egun +/obj/item/storage/toolbox/pistolcase/egun/PopulateContents() + new /obj/item/gun/energy/laser/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) + +/obj/item/storage/toolbox/pistolcase/kalixpistol +/obj/item/storage/toolbox/pistolcase/kalixpistol/PopulateContents() + new /obj/item/gun/energy/kalix/pistol/empty_cell(src) + new /obj/item/stock_parts/cell/gun/kalix(src) + +/obj/item/storage/toolbox/pistolcase/kalixrifle +/obj/item/storage/toolbox/pistolcase/kalixrifle/PopulateContents() + new /obj/item/gun/energy/kalix/empty_cell(src) + new /obj/item/stock_parts/cell/gun/kalix(src) + +/obj/item/storage/toolbox/pistolcase/miniegun +/obj/item/storage/toolbox/pistolcase/miniegun/PopulateContents() + new /obj/item/gun/energy/e_gun/empty_cell(src) + new /obj/item/stock_parts/cell/gun/mini(src) + +/obj/item/storage/toolbox/pistolcase/iongun +/obj/item/storage/toolbox/pistolcase/iongun/PopulateContents() + new /obj/item/gun/energy/ionrifle/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 0b5a7f80a837..eda7c1fac4e5 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -119,6 +119,9 @@ desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets." ammo_type = /obj/item/ammo_casing/c38/iceblox +/obj/item/ammo_box/c38/empty + start_empty = TRUE + // 8x58mm Stripper Clip (SSG-669C) /obj/item/ammo_box/a858 @@ -424,6 +427,9 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE +/obj/item/ammo_box/c45_speedloader/empty + start_empty = TRUE + /obj/item/ammo_box/c46x30mm_box name = "ammo box (4.6x30mm)" desc = "A box of standard 4.6x30mm ammo." diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 57c0c67219c2..8a1792485715 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -9,6 +9,7 @@ multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/m10mm/empty + start_empty = TRUE /obj/item/ammo_box/magazine/m10mm/inc name = "pistol magazine (10mm incendiary)" @@ -39,7 +40,8 @@ caliber = ".45" max_ammo = 8 -/obj/item/ammo_box/magazine/m45 +/obj/item/ammo_box/magazine/m45/empty + start_empty = TRUE /obj/item/ammo_box/magazine/m45/inc name = "pistol magazine (.45 incendiary)" @@ -76,6 +78,7 @@ multiple_sprites = AMMO_BOX_PER_BULLET /obj/item/ammo_box/magazine/co9mm/empty + start_empty = TRUE /obj/item/ammo_box/magazine/pistol556mm name = "Pistole C magazine (5.56mm HITP caseless)" @@ -99,7 +102,6 @@ else icon_state = "[base_icon_state]-0" -/obj/item/ammo_box/magazine/pistol556mm/empty /obj/item/ammo_box/magazine/co9mm/inc name = "pistol magazine (9mm incendiary)" diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 1cb86fec256d..458ddb9efe66 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -321,6 +321,9 @@ icon_state = "derringer_gold" mag_type = /obj/item/ammo_box/magazine/internal/derr357 +/obj/item/gun/ballistic/derringer/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/pistol/himehabu name = "\improper Himehabu" desc = "A very small .22 LR pistol. The long awaited successor to the Stechkin; It has become a favorite among syndicate spies. Chambered in .22 LR." @@ -334,3 +337,4 @@ recoil_unwielded = -2 spread_unwielded = 0 wield_slowdown = 0 + diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index e7c54f7c3e5e..1aa1f70199c7 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -561,6 +561,9 @@ . = ..() AddComponent(/datum/component/ammo_hud/revolver) +/obj/item/gun/ballistic/revolver/montagne/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/revolver/ashhand name = "HP Ashhand" desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." @@ -686,6 +689,9 @@ semi_auto = TRUE safety_wording = "safety" +/obj/item/gun/ballistic/revolver/firebrand/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/revolver/shadow name = "\improper HP Shadow" desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .45." @@ -718,3 +724,5 @@ if(chambered.BB && (HAS_TRAIT(user, TRAIT_GUNSLINGER))) chambered.BB.damage += 5 chambered.armour_penetration += 5 +/obj/item/gun/ballistic/revolver/shadow/no_mag + spawnwithmagazine = FALSE diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 27b7b65b622d..9cd3bd3b4a41 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -17,6 +17,9 @@ /obj/item/gun/energy/ionrifle/emp_act(severity) return +/obj/item/gun/energy/ionrifle/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/ionrifle/carbine name = "ion carbine" desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient." diff --git a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm index 8684fa867288..a3a03c8aa863 100644 --- a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm +++ b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm @@ -40,6 +40,9 @@ damage = 25 armour_penetration = -10 +/obj/item/gun/energy/kalix/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/kalix/pgf name = "Etherbor BG-16" desc = "An advanced variant of the BG-12, the BG-16 is the military-grade beam gun designed and manufactured by Etherbor Industries as the standard-issue close-range weapon of the PGF." @@ -93,6 +96,9 @@ e_cost = 1250 //10 shots per cell delay = 0 +/obj/item/gun/energy/kalix/pistol/empty_cell + dead_cell = TRUE + /obj/item/gun/energy/kalix/pgf/heavy name = "Etherbor HBG-7" desc = "The HBG-7 is the standard-issue rifle weapon of the PGF. If the stopping power and fire rate isn't enough, it comes with a DMR mode that has greater armor piercing for dealing with armored targets." From 75201df0ebb6260a00ce43a607e86de66d63db98 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Fri, 17 May 2024 23:55:51 -0300 Subject: [PATCH 08/23] puts it in maps --- _maps/shuttles/nanotrasen/nanotrasen_ranger.dmm | 10 +++------- _maps/shuttles/roumain/srm_elder.dmm | 4 +--- _maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm | 4 +--- code/game/objects/items/storage/toolbox.dm | 13 +++++++++++++ .../projectiles/boxes_magazines/ammo_boxes.dm | 3 +++ code/modules/projectiles/guns/ballistic/revolver.dm | 3 +++ 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 288fd6235cf8..83a85e8325c7 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -184,15 +184,14 @@ /obj/item/clothing/suit/armor/vest/security, /obj/item/clothing/mask/gas/sechailer, /obj/item/gps, -/obj/item/gun/ballistic/automatic/pistol/commander, /obj/structure/railing{ dir = 4 }, /obj/item/ammo_box/c9mm, /obj/item/ammo_box/c9mm, /obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm, /obj/item/storage/belt/security/webbing, +/obj/item/storage/toolbox/pistolcase/commander, /turf/open/floor/wood, /area/ship/security) "bD" = ( @@ -3115,9 +3114,6 @@ /area/ship/engineering) "Ha" = ( /obj/structure/closet/secure_closet/lp/lieutenant, -/obj/item/gun/energy/e_gun{ - pixel_y = 1 - }, /obj/item/stock_parts/cell/gun, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat/survival, @@ -3131,12 +3127,12 @@ pixel_x = 7; pixel_y = -20 }, -/obj/item/gun/ballistic/automatic/pistol/commander, /obj/item/ammo_box/c9mm, /obj/item/ammo_box/c9mm, /obj/item/ammo_box/c9mm/rubbershot, /obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm, +/obj/item/storage/toolbox/pistolcase/commander, +/obj/item/storage/toolbox/pistolcase/egun, /turf/open/floor/wood, /area/ship/crew/dorm) "Hd" = ( diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index ff5841d98df5..8e820bca7d5d 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -2014,11 +2014,9 @@ /obj/item/gps{ pixel_x = -7 }, -/obj/item/gun/ballistic/revolver/montagne, /obj/item/storage/backpack/satchel/leather, -/obj/item/ammo_box/c45_speedloader, -/obj/item/ammo_box/c45_speedloader, /obj/item/ammo_box/c45, +/obj/item/storage/toolbox/pistolcase/montagne, /turf/open/floor/wood/mahogany, /area/ship/bridge) "zH" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index ce77d98f5833..98e885162ee9 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -62,11 +62,9 @@ /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, /obj/item/clothing/head/ngr/peaked, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/gun/ballistic/revolver, -/obj/item/ammo_box/a357/match, -/obj/item/ammo_box/a357/match, /obj/item/ammo_box/a357/match, /obj/item/pen/edagger, +/obj/item/storage/toolbox/pistolcase/a357, /turf/open/floor/carpet/black, /area/ship/bridge) "bJ" = ( diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 2a839cefc1ef..6695af197168 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -392,6 +392,19 @@ new /obj/item/gun/ballistic/derringer/no_mag(src) new /obj/item/gun/ballistic/derringer/no_mag(src) +/obj/item/storage/toolbox/pistolcase/a357 +/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/revolver/no_mag(src) + new /obj/item/ammo_box/a357/empty(src) + new /obj/item/ammo_box/a357/empty(src) + +/obj/item/storage/toolbox/pistolcase/montagne +/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + + /obj/item/storage/toolbox/pistolcase/disposable /obj/item/storage/toolbox/pistolcase/disposable/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/disposable(src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index eda7c1fac4e5..0dd2a262e363 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -13,6 +13,9 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE +/obj/item/ammo_box/a357/empty + start_empty = TRUE + /obj/item/ammo_box/a357/match name = "speed loader (.357 match)" desc = "A 7-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 1aa1f70199c7..b08d6c04ec04 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -528,6 +528,9 @@ /obj/item/gun/ballistic/revolver/detective/no_mag spawnwithmagazine = FALSE +/obj/item/gun/ballistic/revolver/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" desc = "A high-powered revolver with a unique auto-reloading system. Uses .357 ammo." From d4b5bd318b53f16772262023109f779ae6e056b9 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 18 May 2024 03:17:09 -0300 Subject: [PATCH 09/23] adds sprites and makes it its own unique type --- code/game/objects/items/storage/guncases.dm | 138 ++++++++++++++++++++ code/game/objects/items/storage/toolbox.dm | 127 ------------------ icons/obj/guncase.dmi | Bin 0 -> 359 bytes icons/obj/guncase_48x32.dmi | Bin 0 -> 606 bytes shiptest.dme | 1 + 5 files changed, 139 insertions(+), 127 deletions(-) create mode 100644 code/game/objects/items/storage/guncases.dm create mode 100644 icons/obj/guncase.dmi create mode 100644 icons/obj/guncase_48x32.dmi diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm new file mode 100644 index 000000000000..ce8d586e6178 --- /dev/null +++ b/code/game/objects/items/storage/guncases.dm @@ -0,0 +1,138 @@ +/obj/item/storage/guncase + name = "gun case" + desc = "A large box designed for holding firearms and magazines safely." + icon = 'icons/obj/guncase_48x32.dmi' + icon_state = "riflecase" + item_state = "riflecase" + force = 12 + throwforce = 12 + throw_speed = 2 + throw_range = 7 + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("robusted") + hitsound = 'sound/weapons/smash.ogg' + drop_sound = 'sound/items/handling/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + +/obj/item/storage/guncase/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 10 + STR.max_w_class = WEIGHT_CLASS_BULKY + STR.set_holdable(list( + /obj/item/gun, + /obj/item/ammo_box, + /obj/item/stock_parts/cell/gun + )) + +/obj/item/storage/pistolcase + name = "pistol case" + desc = "A large box designed for holding pistols and magazines safely." + icon = 'icons/obj/guncase.dmi' + icon_state = "pistolcase" + item_state = "pistolcase" + force = 12 + throwforce = 12 + throw_speed = 2 + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("robusted") + hitsound = 'sound/weapons/smash.ogg' + drop_sound = 'sound/items/handling/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + +/obj/item/storage/pistolcase/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 8 + STR.max_w_class = WEIGHT_CLASS_BULKY + STR.set_holdable(list( + /obj/item/gun, + /obj/item/ammo_box/, + /obj/item/stock_parts/cell/gun + )) +/obj/item/storage/pistolcase/stechkin +/obj/item/storage/pistolcase/stechkin/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) + new /obj/item/ammo_box/magazine/m10mm/empty(src) + new /obj/item/ammo_box/magazine/m10mm/empty(src) + +/obj/item/storage/pistolcase/candor +/obj/item/storage/pistolcase/candor/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/candor/no_mag(src) + new /obj/item/ammo_box/magazine/m45/empty(src) + new /obj/item/ammo_box/magazine/m45/empty(src) + +/obj/item/storage/pistolcase/detective +/obj/item/storage/pistolcase/detective/PopulateContents() + new /obj/item/gun/ballistic/revolver/detective/no_mag(src) + new /obj/item/ammo_box/c38/empty(src) + new /obj/item/ammo_box/c38/empty(src) + +/obj/item/storage/pistolcase/shadow +/obj/item/storage/pistolcase/shadow/PopulateContents() + new /obj/item/gun/ballistic/revolver/shadow/no_mag(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + +/obj/item/storage/pistolcase/commander +/obj/item/storage/pistolcase/commander/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) + new /obj/item/ammo_box/magazine/co9mm/empty(src) + new /obj/item/ammo_box/magazine/co9mm/empty(src) + +/obj/item/storage/pistolcase/firebrand +/obj/item/storage/pistolcase/firebrand/PopulateContents() + new /obj/item/gun/ballistic/revolver/firebrand/no_mag(src) + +/obj/item/storage/pistolcase/derringer +/obj/item/storage/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/derringer/no_mag(src) + new /obj/item/gun/ballistic/derringer/no_mag(src) + +/obj/item/storage/pistolcase/a357 +/obj/item/storage/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/revolver/no_mag(src) + new /obj/item/ammo_box/a357/empty(src) + new /obj/item/ammo_box/a357/empty(src) + +/obj/item/storage/pistolcase/montagne +/obj/item/storage/pistolcase/derringer/PopulateContents() + new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + new /obj/item/ammo_box/c45_speedloader/empty(src) + + +/obj/item/storage/pistolcase/disposable +/obj/item/storage/pistolcase/disposable/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + +/obj/item/storage/pistolcase/laser +/obj/item/storage/pistolcase/laser/PopulateContents() + new /obj/item/gun/energy/laser/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) + +/obj/item/storage/pistolcase/egun +/obj/item/storage/pistolcase/egun/PopulateContents() + new /obj/item/gun/energy/laser/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) + +/obj/item/storage/pistolcase/kalixpistol +/obj/item/storage/pistolcase/kalixpistol/PopulateContents() + new /obj/item/gun/energy/kalix/pistol/empty_cell(src) + new /obj/item/stock_parts/cell/gun/kalix(src) + +/obj/item/storage/pistolcase/kalixrifle +/obj/item/storage/pistolcase/kalixrifle/PopulateContents() + new /obj/item/gun/energy/kalix/empty_cell(src) + new /obj/item/stock_parts/cell/gun/kalix(src) + +/obj/item/storage/pistolcase/miniegun +/obj/item/storage/pistolcase/miniegun/PopulateContents() + new /obj/item/gun/energy/e_gun/empty_cell(src) + new /obj/item/stock_parts/cell/gun/mini(src) + +/obj/item/storage/pistolcase/iongun +/obj/item/storage/pistolcase/iongun/PopulateContents() + new /obj/item/gun/energy/ionrifle/empty_cell(src) + new /obj/item/stock_parts/cell/gun(src) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 6695af197168..c703aeb38a0d 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -312,133 +312,6 @@ new /obj/item/clothing/mask/infiltrator(src) new /obj/item/clothing/shoes/combat/sneakboots(src) -/obj/item/storage/toolbox/guncase - name = "gun case" - desc = "A large box designed for holding firearms and magazines safely." - icon_state = "infiltrator_case" - item_state = "infiltrator_case" - force = 15 - throwforce = 18 - w_class = WEIGHT_CLASS_BULKY - has_latches = FALSE - -/obj/item/storage/toolbox/guncase/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 12 - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/gun, - /obj/item/ammo_box, - /obj/item/stock_parts/cell/gun - )) - -/obj/item/storage/toolbox/pistolcase - name = "pistol case" - desc = "A large box designed for holding pistols and magazines safely." - icon_state = "infiltrator_case" - item_state = "infiltrator_case" - force = 15 - throwforce = 18 - w_class = WEIGHT_CLASS_BULKY - has_latches = FALSE - -/obj/item/storage/toolbox/pistolcase/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 8 - STR.max_w_class = WEIGHT_CLASS_NORMAL - STR.set_holdable(list( - /obj/item/gun, - /obj/item/ammo_box/, - /obj/item/stock_parts/cell/gun - )) -/obj/item/storage/toolbox/pistolcase/stechkin -/obj/item/storage/toolbox/pistolcase/stechkin/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) - new /obj/item/ammo_box/magazine/m10mm/empty(src) - new /obj/item/ammo_box/magazine/m10mm/empty(src) - -/obj/item/storage/toolbox/pistolcase/candor -/obj/item/storage/toolbox/pistolcase/candor/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/candor/no_mag(src) - new /obj/item/ammo_box/magazine/m45/empty(src) - new /obj/item/ammo_box/magazine/m45/empty(src) - -/obj/item/storage/toolbox/pistolcase/detective -/obj/item/storage/toolbox/pistolcase/detective/PopulateContents() - new /obj/item/gun/ballistic/revolver/detective/no_mag(src) - new /obj/item/ammo_box/c38/empty(src) - new /obj/item/ammo_box/c38/empty(src) - -/obj/item/storage/toolbox/pistolcase/shadow -/obj/item/storage/toolbox/pistolcase/shadow/PopulateContents() - new /obj/item/gun/ballistic/revolver/shadow/no_mag(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - -/obj/item/storage/toolbox/pistolcase/commander -/obj/item/storage/toolbox/pistolcase/commander/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) - new /obj/item/ammo_box/magazine/co9mm/empty(src) - new /obj/item/ammo_box/magazine/co9mm/empty(src) - -/obj/item/storage/toolbox/pistolcase/firebrand -/obj/item/storage/toolbox/pistolcase/firebrand/PopulateContents() - new /obj/item/gun/ballistic/revolver/firebrand/no_mag(src) - -/obj/item/storage/toolbox/pistolcase/derringer -/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/derringer/no_mag(src) - new /obj/item/gun/ballistic/derringer/no_mag(src) - -/obj/item/storage/toolbox/pistolcase/a357 -/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/revolver/no_mag(src) - new /obj/item/ammo_box/a357/empty(src) - new /obj/item/ammo_box/a357/empty(src) - -/obj/item/storage/toolbox/pistolcase/montagne -/obj/item/storage/toolbox/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - - -/obj/item/storage/toolbox/pistolcase/disposable -/obj/item/storage/toolbox/pistolcase/disposable/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/disposable(src) - new /obj/item/gun/ballistic/automatic/pistol/disposable(src) - -/obj/item/storage/toolbox/pistolcase/laser -/obj/item/storage/toolbox/pistolcase/laser/PopulateContents() - new /obj/item/gun/energy/laser/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) - -/obj/item/storage/toolbox/pistolcase/egun -/obj/item/storage/toolbox/pistolcase/egun/PopulateContents() - new /obj/item/gun/energy/laser/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) - -/obj/item/storage/toolbox/pistolcase/kalixpistol -/obj/item/storage/toolbox/pistolcase/kalixpistol/PopulateContents() - new /obj/item/gun/energy/kalix/pistol/empty_cell(src) - new /obj/item/stock_parts/cell/gun/kalix(src) - -/obj/item/storage/toolbox/pistolcase/kalixrifle -/obj/item/storage/toolbox/pistolcase/kalixrifle/PopulateContents() - new /obj/item/gun/energy/kalix/empty_cell(src) - new /obj/item/stock_parts/cell/gun/kalix(src) - -/obj/item/storage/toolbox/pistolcase/miniegun -/obj/item/storage/toolbox/pistolcase/miniegun/PopulateContents() - new /obj/item/gun/energy/e_gun/empty_cell(src) - new /obj/item/stock_parts/cell/gun/mini(src) - -/obj/item/storage/toolbox/pistolcase/iongun -/obj/item/storage/toolbox/pistolcase/iongun/PopulateContents() - new /obj/item/gun/energy/ionrifle/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/icons/obj/guncase.dmi b/icons/obj/guncase.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4941b965f2f84c706c80c274ad72397d7f6c0d8c GIT binary patch literal 359 zcmV-t0hs=YP)V=-0C=2J zR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5 zsUWksBtIuPu{c$Ui!&v&s2C_{$iqYo;Cwcb%yK zsa$8o3ZrpGH#wSx9j;dDHJ!Ca1Q9ZO61ZJI^WyEddjizcKL+Sz=o|n5002ovPDHLk FV1hB7kaYk6 literal 0 HcmV?d00001 diff --git a/icons/obj/guncase_48x32.dmi b/icons/obj/guncase_48x32.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b5dc20bc64e545e453d1d1c6cde50dca893cb21c GIT binary patch literal 606 zcmV-k0-^nhP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#aV)qvGg33t zGfIFQVZgi*W9;OoBp6G6l9j~y_WSSWJNkB#=eY_Qsc#2txyE`8VOUe1s zDANOY1BNH3d$vo8F#Iwj$Q zuY^*-%Y305fD)E!a$NZiX|=3Q&^26q=%c7}Bsf;V?#A{KxV##FM`inIu@icFoc88? z8$JXX+sc%8n2i8&T%gSkds#HsToOAeAGa0#g*d4TSU-}*EwPjE5wrkT`T#uNUAd2l z(5FTU*yckY-T|<6Z51Va+~0I~$$m42l|k^lez07*qoM6N<$g8LQ@%>V!Z literal 0 HcmV?d00001 diff --git a/shiptest.dme b/shiptest.dme index 93a0e5ce41f5..28f2e9f0d5a2 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1300,6 +1300,7 @@ #include "code\game\objects\items\storage\briefcase.dm" #include "code\game\objects\items\storage\fancy.dm" #include "code\game\objects\items\storage\firstaid.dm" +#include "code\game\objects\items\storage\guncases.dm" #include "code\game\objects\items\storage\holsters.dm" #include "code\game\objects\items\storage\lockbox.dm" #include "code\game\objects\items\storage\ration.dm" From 30c9b329ebd8894248345ed038dcce7033a20288 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 18 May 2024 17:09:46 -0300 Subject: [PATCH 10/23] adds to cargo and to ship! --- .../BeachRuins/beach_treasure_cove.dmm | 2 +- .../JungleRuins/jungle_cavecrew.dmm | 2 +- .../WasteRuins/wasteplanet_pandora.dmm | 2 +- .../independent/independent_dwayne.dmm | 2 +- _maps/shuttles/minutemen/minutemen_vela.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 2 +- _maps/shuttles/pirate/pirate_ember.dmm | 4 +- _maps/shuttles/roumain/srm_elder.dmm | 2 +- _maps/shuttles/solgov/solgov_chronicle.dmm | 6 +- _maps/shuttles/solgov/solgov_inkwell.dmm | 4 +- _maps/shuttles/solgov/solgov_paracelsus.dmm | 4 +- .../syndicate/syndicate_gorlex_komodo.dmm | 2 +- .../syndicate/syndicate_twinkleshine.dmm | 9 +-- code/game/objects/items/storage/guncases.dm | 74 +++++++++++++++++-- code/game/objects/structures/guncase.dm | 22 +++--- code/modules/cargo/packs/gun.dm | 51 +++++++------ .../projectiles/boxes_magazines/ammo_boxes.dm | 2 + .../boxes_magazines/external/gauss.dm | 3 + .../boxes_magazines/external/rifle.dm | 8 ++ .../boxes_magazines/external/smg.dm | 6 ++ .../projectiles/guns/ballistic/assault.dm | 6 ++ .../projectiles/guns/ballistic/gauss.dm | 3 + .../projectiles/guns/ballistic/rifle.dm | 6 ++ .../projectiles/guns/ballistic/shotgun.dm | 12 +++ .../modules/projectiles/guns/ballistic/smg.dm | 6 ++ 25 files changed, 174 insertions(+), 68 deletions(-) diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 7943cf93372e..274697d44c4a 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -565,7 +565,7 @@ /turf/open/floor/wood/walnut, /area/ruin/beach/treasure_cove) "sd" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/effect/turf_decal/industrial/warning{ dir = 4; color = "#808080" diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 928318c23ffe..94abbd862844 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -1364,7 +1364,7 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/jungle/cavecrew/cargo) "qz" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/turf_decal/industrial/warning{ dir = 10 diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm index b6298e29f39d..f0498d8d93a0 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm @@ -271,7 +271,7 @@ /turf/open/floor/mineral/titanium/white, /area/ruin/wasteplanet) "kV" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /turf/open/floor/mineral/titanium/white, /area/ruin/wasteplanet) "kZ" = ( diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index 262ac034dc5a..3452181d47c5 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -2096,7 +2096,7 @@ /obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ dir = 4 }, -/obj/structure/guncase/shotgun, +/obj/structure/guncloset/shotgun, /obj/item/gun/ballistic/shotgun/flamingarrow, /obj/item/gun/ballistic/shotgun/flamingarrow, /obj/item/gun/ballistic/shotgun/flamingarrow, diff --git a/_maps/shuttles/minutemen/minutemen_vela.dmm b/_maps/shuttles/minutemen/minutemen_vela.dmm index d4ae92298e58..911263cc87bd 100644 --- a/_maps/shuttles/minutemen/minutemen_vela.dmm +++ b/_maps/shuttles/minutemen/minutemen_vela.dmm @@ -8274,7 +8274,7 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/office) "Th" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/item/gun/ballistic/automatic/pistol/commander, /obj/item/gun/ballistic/automatic/pistol/commander, /obj/item/gun/ballistic/automatic/smg/cm5{ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 107044c9e80f..065253cc0d63 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -11536,7 +11536,7 @@ /turf/open/floor/plasteel, /area/ship/hallway/aft) "Rs" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /turf/open/floor/plasteel/tech, diff --git a/_maps/shuttles/pirate/pirate_ember.dmm b/_maps/shuttles/pirate/pirate_ember.dmm index 6173f14db95b..600e41f4bc4b 100644 --- a/_maps/shuttles/pirate/pirate_ember.dmm +++ b/_maps/shuttles/pirate/pirate_ember.dmm @@ -5621,7 +5621,7 @@ /turf/open/floor/plasteel/dark, /area/ship/security/armory) "By" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/item/gun/ballistic/automatic/smg/mini_uzi{ pixel_y = -3 }, @@ -10204,7 +10204,7 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/incinerator) "VP" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/effect/turf_decal/techfloor, /obj/item/gun/energy/taser, /obj/structure/sign/poster/official/ion_carbine{ diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index 8e820bca7d5d..ffd394b873b8 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -1255,7 +1255,7 @@ /turf/open/floor/grass/ship/jungle, /area/ship/hallway/central) "ox" = ( -/obj/structure/guncase, +/obj/structure/guncloset, /obj/machinery/door/window/eastright{ dir = 8 }, diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index d0359b5ca240..62337214ceae 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -271,10 +271,8 @@ /obj/item/stamp/solgov, /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/item/spacecash/bundle/loadsamoney, -/obj/item/gun/ballistic/automatic/powered/gauss/modelh, -/obj/item/ammo_box/magazine/modelh, -/obj/item/ammo_box/magazine/modelh, /obj/item/clothing/neck/cloak/solgovcap, +/obj/item/storage/pistolcase/modelh, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) "cg" = ( @@ -3730,7 +3728,7 @@ /turf/open/floor/wood/walnut, /area/ship/crew/crewtwo) "Ks" = ( -/obj/structure/guncase{ +/obj/structure/guncloset{ desc = "A locker that holds weapons."; name = "weapon locker" }, diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index 25c1da558e56..e73ca09b8266 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -5783,10 +5783,8 @@ }, /obj/item/fish_feed, /obj/item/pen/fountain/solgov, -/obj/item/gun/ballistic/automatic/powered/gauss/modelh, -/obj/item/ammo_box/magazine/modelh, -/obj/item/ammo_box/magazine/modelh, /obj/item/clothing/neck/cloak/solgovcap, +/obj/item/storage/pistolcase/modelh, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) "LJ" = ( diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 1eb02eac6a21..1d80108ab3e8 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -3580,10 +3580,8 @@ }, /obj/item/fish_feed, /obj/item/pen/fountain/solgov, -/obj/item/gun/ballistic/automatic/powered/gauss/modelh, -/obj/item/ammo_box/magazine/modelh, -/obj/item/ammo_box/magazine/modelh, /obj/item/clothing/neck/cloak/solgovcap, +/obj/item/storage/pistolcase/modelh, /turf/open/floor/carpet/royalblue, /area/ship/crew) "IZ" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index fc7e7a029b82..e32a6f674719 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -2730,7 +2730,7 @@ /obj/effect/turf_decal/industrial/fire{ dir = 8 }, -/obj/structure/guncase, +/obj/structure/guncloset, /obj/structure/railing, /obj/item/gun/ballistic/automatic/smg/c20r, /obj/machinery/light/directional/east, diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index f420ba047123..08b4efd8cfea 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -107,7 +107,7 @@ /obj/item/megaphone/sec{ name = "syndicate megaphone" }, -/obj/item/gun/ballistic/automatic/pistol/no_mag, +/obj/item/storage/pistolcase/stechkin, /obj/item/clothing/head/HoS/beret/syndicate, /obj/item/radio/headset/syndicate/alt/leader, /obj/item/clothing/gloves/krav_maga/combatglovesplus, @@ -1792,7 +1792,7 @@ /obj/item/codespeak_manual{ charges = 2 }, -/obj/item/gun/ballistic/revolver, +/obj/item/storage/pistolcase/a357, /obj/item/megaphone/sec{ name = "syndicate megaphone" }, @@ -1804,7 +1804,6 @@ /obj/item/clothing/head/HoS/syndicate, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, -/obj/item/ammo_box/a357, /turf/open/floor/carpet/nanoweave/red, /area/ship/crew/dorm/dormtwo) "ky" = ( @@ -7339,10 +7338,8 @@ /obj/item/radio/headset/syndicate/alt{ keyslot = null }, -/obj/item/gun/ballistic/automatic/powered/gauss/modelh, /obj/item/storage/belt/sabre/solgov, -/obj/item/ammo_box/magazine/modelh, -/obj/item/ammo_box/magazine/modelh, +/obj/item/storage/pistolcase/modelh, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) "Qv" = ( diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index ce8d586e6178..d73db7a04d5c 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -14,6 +14,7 @@ drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + /obj/item/storage/guncase/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) @@ -25,6 +26,63 @@ /obj/item/stock_parts/cell/gun )) +/obj/item/storage/guncase/winchester +/obj/item/storage/guncase/winchester/PopulateContents() + new /obj/item/gun/ballistic/shotgun/flamingarrow/no_mag(src) + +/obj/item/storage/guncase/skm +/obj/item/storage/guncase/skm/PopulateContents() + new /obj/item/gun/ballistic/automatic/assault/skm/no_mag(src) + new /obj/item/ammo_box/magazine/skm_762_40/empty(src) + new /obj/item/ammo_box/magazine/skm_762_40/empty(src) + +/obj/item/storage/guncase/p16 +/obj/item/storage/guncase/p16/PopulateContents() + new /obj/item/gun/ballistic/automatic/assault/p16/no_mag(src) + new /obj/item/ammo_box/magazine/p16/empty(src) + new /obj/item/ammo_box/magazine/p16/empty(src) + +/obj/item/storage/guncase/beacon +/obj/item/storage/guncase/beacon/PopulateContents() + new /obj/item/gun/ballistic/shotgun/doublebarrel/beacon(src) + +/obj/item/storage/guncase/scout +/obj/item/storage/guncase/scout/PopulateContents() + new /obj/item/gun/ballistic/rifle/scout(src) + new /obj/item/ammo_box/a300/empty(src) + new /obj/item/ammo_box/a300/empty(src) + +/obj/item/storage/guncase/cobra +/obj/item/storage/guncase/cobra/PopulateContents() + new /obj/item/gun/ballistic/automatic/smg/c20r/cobra/no_mag(src) + new /obj/item/ammo_box/magazine/smgm45/empty(src) + new /obj/item/ammo_box/magazine/smgm45/empty(src) + + +/obj/item/storage/guncase/hellfire +/obj/item/storage/guncase/hellfire/PopulateContents() + new /obj/item/gun/ballistic/shotgun/hellfire/no_mag(src) + +/obj/item/storage/guncase/doublebarrel +/obj/item/storage/guncase/doublebarrel/PopulateContents() + new /obj/item/gun/ballistic/shotgun/doublebarrel/no_mag(src) + +/obj/item/storage/guncase/brimstone +/obj/item/storage/guncase/brimstone/PopulateContents() + new /obj/item/gun/ballistic/shotgun/brimstone/no_mag(src) + +/obj/item/storage/guncase/illestren +/obj/item/storage/guncase/illestren/PopulateContents() + new /obj/item/gun/ballistic/rifle/illestren/no_mag + new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) + new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) + +/obj/item/storage/guncase/wt550 +/obj/item/storage/guncase/wt550/PopulateContents() + new /obj/item/gun/ballistic/automatic/smg/wt550(src) + new /obj/item/ammo_box/magazine/wt550m9/empty(src) + new /obj/item/ammo_box/magazine/wt550m9/empty(src) + /obj/item/storage/pistolcase name = "pistol case" desc = "A large box designed for holding pistols and magazines safely." @@ -44,12 +102,19 @@ . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 8 - STR.max_w_class = WEIGHT_CLASS_BULKY + STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( /obj/item/gun, /obj/item/ammo_box/, /obj/item/stock_parts/cell/gun )) + +/obj/item/storage/pistolcase/modelh +/obj/item/storage/pistolcase/modelh/PopulateContents() + new /obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag(src) + new /obj/item/ammo_box/magazine/modelh/empty(src) + new /obj/item/ammo_box/magazine/modelh/empty(src) + /obj/item/storage/pistolcase/stechkin /obj/item/storage/pistolcase/stechkin/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) @@ -87,10 +152,9 @@ /obj/item/storage/pistolcase/derringer /obj/item/storage/pistolcase/derringer/PopulateContents() new /obj/item/gun/ballistic/derringer/no_mag(src) - new /obj/item/gun/ballistic/derringer/no_mag(src) /obj/item/storage/pistolcase/a357 -/obj/item/storage/pistolcase/derringer/PopulateContents() +/obj/item/storage/pistolcase/a357/PopulateContents() new /obj/item/gun/ballistic/revolver/no_mag(src) new /obj/item/ammo_box/a357/empty(src) new /obj/item/ammo_box/a357/empty(src) @@ -122,8 +186,8 @@ new /obj/item/gun/energy/kalix/pistol/empty_cell(src) new /obj/item/stock_parts/cell/gun/kalix(src) -/obj/item/storage/pistolcase/kalixrifle -/obj/item/storage/pistolcase/kalixrifle/PopulateContents() +/obj/item/storage/guncase/kalixrifle +/obj/item/storage/guncase/kalixrifle/PopulateContents() new /obj/item/gun/energy/kalix/empty_cell(src) new /obj/item/stock_parts/cell/gun/kalix(src) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index cf0d6957e69c..ddcb59466deb 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -1,5 +1,5 @@ //GUNCASES// -/obj/structure/guncase +/obj/structure/guncloset name = "gun locker" desc = "A locker that holds guns." icon = 'icons/obj/closet.dmi' @@ -12,7 +12,7 @@ var/open = TRUE var/capacity = 4 -/obj/structure/guncase/Initialize(mapload) +/obj/structure/guncloset/Initialize(mapload) . = ..() if(mapload) for(var/obj/item/I in loc.contents) @@ -22,7 +22,7 @@ break update_appearance() -/obj/structure/guncase/update_overlays() +/obj/structure/guncloset/update_overlays() . = ..() if(case_type && LAZYLEN(contents)) var/mutable_appearance/gun_overlay = mutable_appearance(icon, case_type) @@ -31,7 +31,7 @@ . += new /mutable_appearance(gun_overlay) . += "[icon_state]_[open ? "open" : "door"]" -/obj/structure/guncase/attackby(obj/item/I, mob/user, params) +/obj/structure/guncloset/attackby(obj/item/I, mob/user, params) if(iscyborg(user) || isalien(user)) return if(istype(I, gun_category) && open) @@ -50,7 +50,7 @@ else return ..() -/obj/structure/guncase/attack_hand(mob/user) +/obj/structure/guncloset/attack_hand(mob/user) . = ..() if(.) return @@ -68,7 +68,7 @@ * Arguments: * * user The mob to which we are showing the radial menu */ -/obj/structure/guncase/proc/show_menu(mob/user) +/obj/structure/guncloset/proc/show_menu(mob/user) if(!LAZYLEN(contents)) return @@ -100,7 +100,7 @@ * Arguments: * * user The mob interacting with a menu */ -/obj/structure/guncase/proc/check_menu(mob/living/carbon/human/user) +/obj/structure/guncloset/proc/check_menu(mob/living/carbon/human/user) if(!open) return FALSE if(!istype(user)) @@ -109,10 +109,10 @@ return FALSE return TRUE -/obj/structure/guncase/handle_atom_del(atom/A) +/obj/structure/guncloset/handle_atom_del(atom/A) update_appearance() -/obj/structure/guncase/contents_explosion(severity, target) +/obj/structure/guncloset/contents_explosion(severity, target) for(var/atom/A in contents) switch(severity) if(EXPLODE_DEVASTATE) @@ -122,13 +122,13 @@ if(EXPLODE_LIGHT) SSexplosions.lowobj += A -/obj/structure/guncase/shotgun +/obj/structure/guncloset/shotgun name = "shotgun locker" desc = "A locker that holds shotguns." case_type = "shotgun" gun_category = /obj/item/gun/ballistic/shotgun -/obj/structure/guncase/ecase +/obj/structure/guncloset/ecase name = "energy gun locker" desc = "A locker that holds energy guns." icon_state = "ecase" diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 4025db76d300..3e500716ae79 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -9,53 +9,52 @@ /datum/supply_pack/gun/disposable name = "Disposable Gun Crate" desc = "In some sectors, these disposable pistols are the only firearms that can be legally sold for less than 200cr. That price is still far too high." - cost = 150 - contains = list(/obj/item/gun/ballistic/automatic/pistol/disposable) + cost = 300 + contains = list(/obj/item/storage/pistolcase/disposable) crate_name = "disposable gun crate" /datum/supply_pack/gun/derringer name = ".38 Derringer Crate" desc = "A cheap, concealable pistol manufactured by the reputable Hunter's Pride. At least it's better than a disposable pistol. Chambered in .38 rounds." cost = 350 - contains = list(/obj/item/gun/ballistic/derringer) + contains = list(/obj/item/storage/pistolcase/derringer) crate_name = "derringer crate" /datum/supply_pack/gun/commanders name = "Commander Pistol Crate" desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm." cost = 750 - contains = list(/obj/item/gun/ballistic/automatic/pistol/commander) + contains = list(/obj/item/storage/pistolcase/commander) /datum/supply_pack/gun/makarovs name = "Stechkin Pistol Crate" desc = "Contains a concealable stechkin pistol, produced by Scarborough Arms and chambered in 10mm." cost = 1000 - contains = list(/obj/item/gun/ballistic/automatic/pistol, - /obj/item/gun/ballistic/automatic/pistol) + contains = list(/obj/item/storage/pistolcase/stechkin) /datum/supply_pack/gun/candors name = "Candor Pistol Crate" desc = "Contains a Candor pistol, the trusty sidearm of any spacer, produced by Hunter's Pride and chambered in .45 ACP." cost = 1000 - contains = list(/obj/item/gun/ballistic/automatic/pistol/candor) + contains = list(/obj/item/storage/pistolcase/candor) /datum/supply_pack/gun/pepperbox name = "HP Firebrand Pepperbox Revolver Crate" desc = "Contains a concealable pepperbox revolver manufactured by the Saint Roumain Militia, chambered in .357." cost = 1250 - contains = list(/obj/item/gun/ballistic/revolver/firebrand) + contains = list(/obj/item/storage/pistolcase/firebrand) /datum/supply_pack/gun/detrevolver name = "Hunter's Pride Detective Revolver Crate" desc = "Contains a concealable revolver favored by police departments around the sector, chambered in .38." cost = 600 - contains = list(/obj/item/gun/ballistic/revolver/detective) + contains = list(/obj/item/storage/pistolcase/detective) /datum/supply_pack/gun/shadowrevolver name = "Shadow Revolver Crate" desc = "Contains a concealable Shadow revolver, chambered in .45 ACP." cost = 1000 - contains = list(/obj/item/gun/ballistic/revolver/shadow) + contains = list(/obj/item/storage/pistolcase/shadow) /* @@ -66,21 +65,21 @@ name = "Laser Gun Crate" desc = "Contains a lethal, high-energy laser gun." cost = 1000 - contains = list(/obj/item/gun/energy/laser) + contains = list(/obj/item/storage/pistolcase/laser) crate_name = "laser crate" /datum/supply_pack/gun/mini_energy name = "Mini Energy Gun Crate" desc = "Contains a small, versatile energy gun, capable of firing both nonlethal and lethal blasts, but with a limited power cell." cost = 500 - contains = list(/obj/item/gun/energy/e_gun/mini) + contains = list(/obj/item/storage/pistolcase/miniegun) crate_name = "laser crate" /datum/supply_pack/gun/energy name = "Energy Gun Crate" desc = "Contains a versatile energy gun, capable of firing both nonlethal and lethal blasts of light." cost = 1250 - contains = list(/obj/item/gun/energy/e_gun) + contains = list(/obj/item/storage/pistolcase/egun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -88,7 +87,7 @@ name = "Ion Rifle Crate" desc = "Contains a single Mk.I Ion Projector, a special anti-tank rifle designed to disable electronic threats at range." cost = 10000 - contains = list(/obj/item/gun/energy/ionrifle) + contains = list(/obj/item/storage/pistolcase/iongun) crate_name = "ion rifle crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -96,14 +95,14 @@ name = "Etherbor SG-8 Beam Pistol Crate" desc = "Contains a single SG-8 Beam Pistol, a civilian-grade sidearm developed in the PGF, manufactured by Etherbor Industries." cost = 1000 - contains = list(/obj/item/gun/energy/kalix/pistol) + contains = list(/obj/item/storage/pistolcase/kalixpistol) crate_name = "beam pistol crate" /datum/supply_pack/gun/laser/kalix name = "Etherbor BG-12 Beam Rifle Crate" desc = "Contains a single BG-12 Beam Rifle, a civilian-grade semi-automatic developed in the PGF, manufactured by Etherbor Industries." cost = 3000 - contains = list(/obj/item/gun/energy/kalix) + contains = list(/obj/item/storage/guncase/kalixrifle) crate_name = "beam rifle crate" /* @@ -114,21 +113,21 @@ name = "Double Barrel Shotgun Crate" desc = "For when you need to deal with 2 drunkards the old-fashioned way. Contains a double-barreled shotgun, favored by Bartenders. Warranty voided if sawed off." cost = 1000 - contains = list(/obj/item/gun/ballistic/shotgun/doublebarrel) + contains = list(/obj/item/storage/guncase/doublebarrel) crate_name = "shotguns crate" /datum/supply_pack/gun/hellfire_shotgun name = "Hellfire Shotgun Crate" desc = "For when you need to deal with 7 hooligans. Contains a pump shotgun, with a 8-round capacity." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/hellfire) + contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotguns crate" /datum/supply_pack/gun/brimstone_shotgun name = "Brimstone Shotgun Crate" desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains a slamfire shotgun, with a 5-round capacity. Warranty voided if sawed off." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/brimstone) + contains = list(/obj/item/storage/guncase/brimstone) crate_name = "shotguns crate" /* @@ -139,21 +138,21 @@ name = "Flaming Arrow Lever Action Rifle Crate" desc = "Contains a antiquated lever action rifle intended for hunting wildlife. Chambered in .38 rounds." cost = 750 - contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow) + contains = list(/obj/item/storage/guncase/winchester) crate_name = "rifle crate" /datum/supply_pack/gun/illestren name = "Illestren Rifle Crate" desc = "Contains a expertly made bolt action rifle intended for hunting wildlife. Chambered in 8x50mmR rounds." cost = 1250 - contains = list(/obj/item/gun/ballistic/rifle/illestren) + contains = list(/obj/item/storage/guncase/illestren) crate_name = "rifle crate" /datum/supply_pack/gun/beacon name = "Contender Break Action Rifle Crate" desc = "Contains a single shot break action rifle to hunt wildlife that annoys you in particular. Chambered in devastating .45-70 rounds. Warranty voided if sawed off." cost = 2250 - contains = list(/obj/item/gun/ballistic/shotgun/doublebarrel/beacon) + contains = list(/obj/item/storage/guncase/beacon) crate_name = "rifle crate" /datum/supply_pack/gun/scout @@ -167,26 +166,26 @@ name = "Cobra-20 SMG Crate" desc = "Contains a .45 submachine gun, manufactured by Scarborough Arms and chambered in .45" cost = 3000 - contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra) + contains = list(/obj/item/storage/guncase/cobra) crate_name = "SMG crate" /datum/supply_pack/gun/wt550 name = "WT-550 Auto Rifle Crate" desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm." cost = 4000 - contains = list(/obj/item/gun/ballistic/automatic/smg/wt550) + contains = list(/obj/item/storage/guncase/wt550) crate_name = "auto rifle crate" /datum/supply_pack/gun/p16 name = "P16 Assault Rifle Crate" desc = "Contains a high-powered, automatic rifle chambered in 5.56mm." cost = 5000 - contains = list(/obj/item/gun/ballistic/automatic/assault/p16) + contains = list(/obj/item/storage/guncase/p16) crate_name = "auto rifle crate" /datum/supply_pack/gun/skm name = "SKM-24 Rifle Crate" desc = "Contains a high-powered, automatic rifle chambered in 7.62x40mm CLIP." cost = 5000 - contains = list(/obj/item/gun/ballistic/automatic/assault/skm) + contains = list(/obj/item/storage/guncase/skm) crate_name = "auto rifle crate" diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 0dd2a262e363..5aacb4deffe5 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -162,6 +162,8 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE +/obj/item/ammo_box/a300/empty + start_empty = TRUE // .300 Blackout Stripper Clip (Polymer Survivor Rifle) /obj/item/ammo_box/aac_300blk_stripper diff --git a/code/modules/projectiles/boxes_magazines/external/gauss.dm b/code/modules/projectiles/boxes_magazines/external/gauss.dm index fa3797707ce6..d2edfc4aac94 100644 --- a/code/modules/projectiles/boxes_magazines/external/gauss.dm +++ b/code/modules/projectiles/boxes_magazines/external/gauss.dm @@ -16,6 +16,9 @@ max_ammo = 10 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/modelh/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/gar name = "GAR tube magazine (ferromagnetic lances)" desc = "A 32-round magazined for the GAR assault rifle. Ferromagnetic lances do good damage with significant armor penetration." diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 548350f20415..1066e5b7ef2d 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -55,6 +55,9 @@ max_ammo = 20 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/skm_762_40/empty + start_empty = FALSE + /obj/item/ammo_box/magazine/skm_762_40/extended name = "extended assault rifle magazine (7.62x40mm CLIP)" desc = "A very curved, 40-round magazine for the 7.62x40mm CLIP variants of the SKM assault rifle family. These rounds do good damage with good armor penetration." @@ -102,6 +105,8 @@ max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/p16/empty + start_empty = TRUE /obj/item/ammo_box/magazine/swiss name = "\improper Swiss Cheese Magazine (5.56x45mm)" @@ -133,3 +138,6 @@ max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY + +/obj/item/ammo_box/magazine/illestren_a850r/empty + start_empty = TRUE diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 61b9eb78512a..4c464c0433d0 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -11,6 +11,9 @@ . = ..() icon_state = "[base_icon_state]-[round(ammo_count(), 6)]" +/obj/item/ammo_box/magazine/wt550m9/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/wt550m9/ap name = "wt550 magazine (4.6x30mm AP)" desc = "A compact, 30-round top-loading magazine for the WT-550 Automatic Rifle. These armor-piercing rounds are great at piercing protective equipment, but lose some stopping power." @@ -97,6 +100,9 @@ . = ..() icon_state = "c20r45-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/smgm45/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/c45_firestorm_mag name = "stick magazine (.45)" desc = "A 28-round stick magazine for the toploading Firestorm submachine gun. These rounds do moderate damage, but struggle against armor." diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index d0b69480a106..761b3804012a 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -59,6 +59,9 @@ . = ..() AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) +/obj/item/gun/ballistic/automatic/assault/skm/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/assault/skm/pirate name = "\improper Chopper" desc = "An SKM-24 in a state of shockingly poor repair: Several parts are missing and the 'grip' is improvised from scrap wood. It's a miracle it still works at all. Chambered in 7.62x40mm CLIP." @@ -98,6 +101,9 @@ . = ..() AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) +/obj/item/gun/ballistic/automatic/assault/p16/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/assault/p16/minutemen name = "\improper CM-16" desc = "The standard-issue rifle of CLIP and an extensively modified reproduction of the P-16. Chambered in 5.56mm." diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 8fce353d8b22..119d7b2ac1c6 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -46,6 +46,9 @@ spread = 3 spread_unwielded = 12 +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." mag_type = /obj/item/ammo_box/magazine/modelh diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 9c45ac569da8..e1bb36953469 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -86,6 +86,9 @@ can_be_sawn_off = TRUE manufacturer = MANUFACTURER_HUNTERSPRIDE +/obj/item/gun/ballistic/rifle/illestren/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) . = ..() if(.) @@ -152,6 +155,9 @@ manufacturer = MANUFACTURER_HUNTERSPRIDE +/obj/item/gun/ballistic/rifle/scout + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/rifle/illestren/enchanted name = "enchanted bolt-action rifle" desc = "Careful not to lose your head." diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 0b7e526c8a2b..a34992b01299 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -86,6 +86,8 @@ item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough mob_overlay_state = item_state +/obj/item/gun/ballistic/shotgun/brimstone/no_mag + spawnwithmagazine = FALSE // HELLFIRE SHOTGUN // /obj/item/gun/ballistic/shotgun/hellfire @@ -117,6 +119,8 @@ item_state = "dshotgun_sawn" // ditto mob_overlay_state = item_state +/obj/item/gun/ballistic/shotgun/hellfire/no_mag + spawnwithmagazine = FALSE // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic spread = 4 @@ -360,6 +364,8 @@ item_state = "dshotgun_sawn" mob_overlay_state = item_state +/obj/item/gun/ballistic/shotgun/doublebarrel/no_mag + spawnwithmagazine = FALSE /obj/item/gun/ballistic/shotgun/doublebarrel/roumain name = "HP antique double-barreled shotgun" desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." @@ -611,6 +617,9 @@ recoil = 0 recoil_unwielded = 2 +/obj/item/gun/ballistic/shotgun/flamingarrow/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() . = ..() if(current_skin) @@ -741,6 +750,9 @@ recoil = 2 recoil_unwielded = 3 +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 23ec4247a5da..898ad2748db8 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -75,6 +75,9 @@ icon_state = "cobra20" item_state = "cobra20" +/obj/item/gun/ballistic/automatic/smg/c20r/cobra/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/smg/c20r/suns desc = "A bullpup .45 SMG designated 'C-20r.' Its buttstamp reads 'Scarborough Arms - Per falcis, per pravitas.' This one is painted in SUNS' colors." icon_state = "c20r_suns" @@ -102,6 +105,9 @@ . = ..() AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) +/obj/item/gun/ballistic/automatic/smg/wt550/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/automatic/smg/mini_uzi name = "\improper Type U3 Uzi" desc = "A lightweight submachine gun, for when you really want someone dead. Uses 9mm rounds." From 7fcaa25de4101f5fad103861fa6a11a35d659e3b Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 18 May 2024 17:28:56 -0300 Subject: [PATCH 11/23] fixes --- _maps/shuttles/solgov/solgov_chronicle.dmm | 1 + _maps/shuttles/solgov/solgov_inkwell.dmm | 1 + _maps/shuttles/solgov/solgov_paracelsus.dmm | 1 + _maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm | 6 +++--- _maps/shuttles/syndicate/syndicate_twinkleshine.dmm | 2 ++ 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index 62337214ceae..13e78929b4dc 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -273,6 +273,7 @@ /obj/item/spacecash/bundle/loadsamoney, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, +/obj/item/ammo_box/ferroslugbox, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) "cg" = ( diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index e73ca09b8266..dc85f8ae6bda 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -5785,6 +5785,7 @@ /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, +/obj/item/ammo_box/ferroslugbox, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) "LJ" = ( diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 1d80108ab3e8..b099e500aee9 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -3582,6 +3582,7 @@ /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, +/obj/item/ammo_box/ferroslugbox, /turf/open/floor/carpet/royalblue, /area/ship/crew) "IZ" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 98e885162ee9..7c7a34fd2690 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -64,7 +64,8 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/ammo_box/a357/match, /obj/item/pen/edagger, -/obj/item/storage/toolbox/pistolcase/a357, +/obj/item/storage/pistolcase/a357, +/obj/item/ammo_box/a357_box, /turf/open/floor/carpet/black, /area/ship/bridge) "bJ" = ( @@ -1653,14 +1654,13 @@ /obj/item/clothing/glasses/welding, /obj/item/storage/toolbox/syndicate, /obj/item/wrench/combat, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/gun/ballistic/automatic/pistol, /obj/item/clothing/accessory/holster, /obj/item/grenade/chem_grenade/metalfoam, /obj/machinery/airalarm/directional/west, /obj/item/clothing/suit/ngr, /obj/item/clothing/head/hardhat/ngr/foreman, /obj/item/tank/jetpack/suit, +/obj/item/storage/pistolcase/stechkin, /turf/open/floor/carpet/red, /area/ship/cargo/office) "BB" = ( diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 08b4efd8cfea..450f06909696 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -121,6 +121,7 @@ name = "Armory Access"; req_access = list(3,150) }, +/obj/item/ammo_box/c10mm, /turf/open/floor/mineral/plastitanium, /area/ship/security) "aE" = ( @@ -7340,6 +7341,7 @@ }, /obj/item/storage/belt/sabre/solgov, /obj/item/storage/pistolcase/modelh, +/obj/item/ammo_box/ferroslugbox, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) "Qv" = ( From 4fb15e9a5c53a894b1d713408bee3de460135975 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 18 May 2024 17:38:42 -0300 Subject: [PATCH 12/23] more fixes --- _maps/shuttles/nanotrasen/nanotrasen_ranger.dmm | 6 +++--- _maps/shuttles/roumain/srm_elder.dmm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 83a85e8325c7..a106a307bb18 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -191,7 +191,7 @@ /obj/item/ammo_box/c9mm, /obj/item/ammo_box/magazine/co9mm, /obj/item/storage/belt/security/webbing, -/obj/item/storage/toolbox/pistolcase/commander, +/obj/item/storage/pistolcase/commander, /turf/open/floor/wood, /area/ship/security) "bD" = ( @@ -3131,8 +3131,8 @@ /obj/item/ammo_box/c9mm, /obj/item/ammo_box/c9mm/rubbershot, /obj/item/ammo_box/magazine/co9mm, -/obj/item/storage/toolbox/pistolcase/commander, -/obj/item/storage/toolbox/pistolcase/egun, +/obj/item/storage/pistolcase/commander, +/obj/item/storage/pistolcase/egun, /turf/open/floor/wood, /area/ship/crew/dorm) "Hd" = ( diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index ffd394b873b8..28618acc8662 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -2016,7 +2016,7 @@ }, /obj/item/storage/backpack/satchel/leather, /obj/item/ammo_box/c45, -/obj/item/storage/toolbox/pistolcase/montagne, +/obj/item/storage/pistolcase/montagne, /turf/open/floor/wood/mahogany, /area/ship/bridge) "zH" = ( From 5b0326191627a42d72ab331224753af798d26061 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sun, 19 May 2024 21:30:40 -0300 Subject: [PATCH 13/23] Update guncases.dm --- code/game/objects/items/storage/guncases.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index d73db7a04d5c..ff840a25b473 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -73,7 +73,7 @@ /obj/item/storage/guncase/illestren /obj/item/storage/guncase/illestren/PopulateContents() - new /obj/item/gun/ballistic/rifle/illestren/no_mag + new /obj/item/gun/ballistic/rifle/illestren/empty new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) From 4e4b88e1d164f366e31e32b1fdf1c3e875e796e8 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sun, 19 May 2024 21:34:43 -0300 Subject: [PATCH 14/23] fixes illestren --- code/game/objects/items/storage/guncases.dm | 2 +- code/modules/projectiles/guns/ballistic/rifle.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index ff840a25b473..9eb8463b48d6 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -73,7 +73,7 @@ /obj/item/storage/guncase/illestren /obj/item/storage/guncase/illestren/PopulateContents() - new /obj/item/gun/ballistic/rifle/illestren/empty + new /obj/item/gun/ballistic/rifle/illestren/empty(src) new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index e1bb36953469..c6823c2ccb00 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -86,7 +86,7 @@ can_be_sawn_off = TRUE manufacturer = MANUFACTURER_HUNTERSPRIDE -/obj/item/gun/ballistic/rifle/illestren/no_mag +/obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! spawnwithmagazine = FALSE /obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) From afb409566a0259b7b27f9c949599d9c00ef30838 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Mon, 20 May 2024 21:26:52 -0300 Subject: [PATCH 15/23] Update guncases.dm --- code/game/objects/items/storage/guncases.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 9eb8463b48d6..669f42125a2d 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -160,7 +160,7 @@ new /obj/item/ammo_box/a357/empty(src) /obj/item/storage/pistolcase/montagne -/obj/item/storage/pistolcase/derringer/PopulateContents() +/obj/item/storage/pistolcase/montagne/PopulateContents() new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) new /obj/item/ammo_box/c45_speedloader/empty(src) new /obj/item/ammo_box/c45_speedloader/empty(src) From 1bd540e8286f90efcfe22c1f4caca7a5983d22aa Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 15 Jun 2024 16:54:18 -0300 Subject: [PATCH 16/23] fixes scout --- code/game/objects/items/storage/guncases.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 669f42125a2d..36b112fe95cd 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -48,7 +48,7 @@ /obj/item/storage/guncase/scout /obj/item/storage/guncase/scout/PopulateContents() - new /obj/item/gun/ballistic/rifle/scout(src) + new /obj/item/gun/ballistic/rifle/scout/no_mag(src) new /obj/item/ammo_box/a300/empty(src) new /obj/item/ammo_box/a300/empty(src) From 73c58bc029ba12412ab9bfb34e0e190edc3d2422 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 15 Jun 2024 17:04:46 -0300 Subject: [PATCH 17/23] gives these sprites idont cCARE anym --- code/game/objects/items/storage/guncases.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 36b112fe95cd..cd1e86fe404a 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -3,7 +3,7 @@ desc = "A large box designed for holding firearms and magazines safely." icon = 'icons/obj/guncase_48x32.dmi' icon_state = "riflecase" - item_state = "riflecase" + item_state = "infiltrator_case" force = 12 throwforce = 12 throw_speed = 2 @@ -88,7 +88,7 @@ desc = "A large box designed for holding pistols and magazines safely." icon = 'icons/obj/guncase.dmi' icon_state = "pistolcase" - item_state = "pistolcase" + item_state = "infiltrator_case" force = 12 throwforce = 12 throw_speed = 2 From 2a7319bc4c10727793efee10848f15cc457ffac9 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 15 Jun 2024 23:41:13 -0300 Subject: [PATCH 18/23] newline --- code/modules/projectiles/guns/ballistic/revolver.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index c478194beb54..8df4bb501831 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -738,4 +738,4 @@ EMPTY_GUN_HELPER(revolver/detective) chambered.BB.armour_penetration += 5 /obj/item/gun/ballistic/revolver/shadow/no_mag - spawnwithmagazine = FALSE \ No newline at end of file + spawnwithmagazine = FALSE From fef364811ca5d336c0999009fac9c7bad3e082ec Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sun, 16 Jun 2024 00:01:28 -0300 Subject: [PATCH 19/23] fixes tortuga --- _maps/shuttles/pirate/pirate_tortuga.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 1f94be7c5b03..e59e32865ee2 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -640,7 +640,7 @@ /obj/effect/turf_decal/techfloor{ dir = 10 }, -/obj/structure/guncase{ +/obj/structure/gunlocker{ anchored = 1 }, /obj/item/gun/ballistic/automatic/assault/skm/pirate, @@ -3140,7 +3140,7 @@ /area/ship/maintenance/port) "Px" = ( /obj/effect/turf_decal/techfloor, -/obj/structure/guncase{ +/obj/structure/gunlocker{ anchored = 1 }, /obj/item/gun/ballistic/automatic/pistol/candor, From cc74cc0eefd60d94b3287e2fc2d87f501be6dc46 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sun, 16 Jun 2024 00:05:51 -0300 Subject: [PATCH 20/23] fixes it for real --- _maps/shuttles/pirate/pirate_tortuga.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index e59e32865ee2..07bd4710a9b1 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -640,7 +640,7 @@ /obj/effect/turf_decal/techfloor{ dir = 10 }, -/obj/structure/gunlocker{ +/obj/structure/guncloset{ anchored = 1 }, /obj/item/gun/ballistic/automatic/assault/skm/pirate, @@ -3140,7 +3140,7 @@ /area/ship/maintenance/port) "Px" = ( /obj/effect/turf_decal/techfloor, -/obj/structure/gunlocker{ +/obj/structure/guncloset{ anchored = 1 }, /obj/item/gun/ballistic/automatic/pistol/candor, From 9da5b21e6db7db322734419f3c29da6918f77ec8 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sun, 16 Jun 2024 00:10:30 -0300 Subject: [PATCH 21/23] fixes some stupid fucking lavaland ruin --- .../RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index f4f938f0b7b4..9630c75b4f25 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -1157,7 +1157,7 @@ /obj/effect/turf_decal/corner/opaque/red/border{ dir = 5 }, -/obj/structure/guncase, +/obj/structure/guncloset, /obj/item/gun/energy/e_gun, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/adminstrative) From 9f52202f78895e9551abab7a3edc572542736de7 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Thu, 20 Jun 2024 22:34:09 -0300 Subject: [PATCH 22/23] .44 roumain update --- code/game/objects/items/storage/guncases.dm | 4 ++-- code/modules/projectiles/boxes_magazines/ammo_boxes.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index cd1e86fe404a..9da4e89ac1ec 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -162,8 +162,8 @@ /obj/item/storage/pistolcase/montagne /obj/item/storage/pistolcase/montagne/PopulateContents() new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) + new /obj/item/ammo_box/a44roum_speedloader/empty(src) + new /obj/item/ammo_box/a44roum_speedloader/empty(src) /obj/item/storage/pistolcase/disposable diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 3d29642ef56a..955856704ac6 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -432,7 +432,7 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE -/obj/item/ammo_box/c45_speedloader/empty +/obj/item/ammo_box/a44roum_speedloader/empty start_empty = TRUE /obj/item/ammo_box/c46x30mm_box From fba14f1f80861ea89ef4e3599bfdab9f582e7e9b Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Thu, 20 Jun 2024 22:43:01 -0300 Subject: [PATCH 23/23] removes the speedloaders from the shadow (can't take em) --- code/game/objects/items/storage/guncases.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 9da4e89ac1ec..d3b0c468b4b4 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -136,8 +136,6 @@ /obj/item/storage/pistolcase/shadow /obj/item/storage/pistolcase/shadow/PopulateContents() new /obj/item/gun/ballistic/revolver/shadow/no_mag(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) - new /obj/item/ammo_box/c45_speedloader/empty(src) /obj/item/storage/pistolcase/commander /obj/item/storage/pistolcase/commander/PopulateContents()