From 30c9b329ebd8894248345ed038dcce7033a20288 Mon Sep 17 00:00:00 2001 From: Martinpachu Date: Sat, 18 May 2024 17:09:46 -0300 Subject: [PATCH] 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."