From f2d98033c41e376d849429a69a3c2aec8f8e09cf Mon Sep 17 00:00:00 2001 From: thgvr Date: Sat, 5 Oct 2024 12:50:28 -0700 Subject: [PATCH] Fixes --- code/game/objects/items/melee/weaponry.dm | 2 +- code/modules/antagonists/gang/outfits.dm | 11 +- .../clothing/outfits/ert/frontiersmen_ert.dm | 10 +- .../hostile/mining_mobs/hivelord_outfits.dm | 4 +- .../projectiles/ammunition/_ammo_casing.dm | 2 +- .../ammunition/ballistic/pistol.dm | 2 +- .../projectiles/boxes_magazines/ammo_boxes.dm | 743 ++++++++---------- .../prefab_stacks/_premade_stacks.dm | 12 +- .../prefab_stacks/premade_gauss_stacks.dm | 41 + .../prefab_stacks/premade_pistol_stacks.dm | 471 +++++++---- .../prefab_stacks/premade_rifle_stacks.dm | 62 +- .../prefab_stacks/premade_shotshell_stacks.dm | 65 ++ .../prefab_stacks/premade_smg_stacks.dm | 66 ++ .../prefab_stacks/premade_stacks_misc.dm | 26 + .../prefab_stacks/shotshell_stacks.dm | 18 - icons/obj/ammunition/ammo_shotshells.dmi | Bin 3149 -> 0 bytes shiptest.dme | 4 +- tools/UpdatePaths/3456_ammoboxes.txt | 69 ++ 18 files changed, 994 insertions(+), 614 deletions(-) create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_stacks_misc.dm delete mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/shotshell_stacks.dm delete mode 100644 icons/obj/ammunition/ammo_shotshells.dmi create mode 100644 tools/UpdatePaths/3456_ammoboxes.txt diff --git a/code/game/objects/items/melee/weaponry.dm b/code/game/objects/items/melee/weaponry.dm index 11c1b118570b..131e5e1aab20 100644 --- a/code/game/objects/items/melee/weaponry.dm +++ b/code/game/objects/items/melee/weaponry.dm @@ -75,7 +75,7 @@ /obj/item/throwing_star/magspear name = "magnetic spear" desc = "A reusable spear that is typically loaded into kinetic spearguns." - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "magspear" throwforce = 25 //kills regular carps in one hit force = 10 diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm index 77c091d2126a..f76bf026e12c 100644 --- a/code/modules/antagonists/gang/outfits.dm +++ b/code/modules/antagonists/gang/outfits.dm @@ -30,10 +30,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/m45 = 3, - /obj/item/ammo_box/c45 = 2) - + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/armored name = "Families: Armored Beat Cop" @@ -53,8 +50,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/storage/box/lethalshot = 2) + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/fbi name = "Families: Space FBI Officer" @@ -65,8 +61,7 @@ /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/smgm9mm = 3, - /obj/item/ammo_box/c9mm = 2) + /obj/item/ammo_box/magazine/smgm9mm = 3) /datum/outfit/families_police/beatcop/military name = "Families: Space Military" diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 8401455bf7d8..5a4710ac644d 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -89,11 +89,11 @@ var/loops = rand(1,3) for(var/i in 1 to loops) var/ammotype = pick(list( - /obj/item/ammo_box/c8x50mm_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a357_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a4570, + /obj/item/storage/box/ammo/a8_50r, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a357, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a4570, /obj/item/stock_parts/cell/gun/mini)) backpack_contents += ammotype diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index 4869d4a95c1c..86224e131747 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -461,8 +461,8 @@ /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 4, - /obj/item/ammo_box/c9mm/rubbershot = 3, - /obj/item/ammo_box/c9mm = 1, + /obj/item/storage/box/ammo/c9mm_rubber = 3, + /obj/item/storage/box/ammo/c9mm = 1, /obj/item/stock_parts/cell/gun = 3, /obj/item/coin/antagtoken = 1, /obj/item/grenade/stingbang = 1 diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index 23afe19ea294..19e1965939b9 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -167,7 +167,7 @@ desc = "[initial(desc)][BB ? null : " This one is spent."]" return ..() -//proc to magically refill a casing with a new projectile +///Proc to magically refill a casing with a new projectile /obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). if(!BB) BB = new projectile_type(src, src) diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index 5c2e4919dca0..80248255dcaf 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -58,7 +58,7 @@ name = "9mm armor-piercing bullet casing" desc = "A 9mm armor-piercing bullet casing." bullet_skin = "ap" - projectile_type =/obj/projectile/bullet/c9mm/ap + projectile_type = /obj/projectile/bullet/c9mm/ap /obj/item/ammo_casing/c9mm/hp name = "9mm hollow point bullet casing" diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 5b78f1fc93a1..afa2baed7324 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -2,12 +2,12 @@ /obj/item/ammo_box/a357 name = "speed loader (.357)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." - icon_state = "speedloader_357-6" + desc = "A 7-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." + icon_state = "speedloader_357-7" base_icon_state = "speedloader_357" ammo_type = /obj/item/ammo_casing/a357 caliber = ".357" - max_ammo = 6 + max_ammo = 7 multiple_sprites = AMMO_BOX_PER_BULLET item_flags = NO_MAT_REDEMPTION w_class = WEIGHT_CLASS_TINY @@ -18,63 +18,62 @@ /obj/item/ammo_box/a357/match name = "speed loader (.357 match)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + 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." ammo_type = /obj/item/ammo_casing/a357/match /obj/item/ammo_box/a357/hp name = "speed loader (.357 hollow point)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." + desc = "A 7-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." ammo_type = /obj/item/ammo_casing/a357/hp -/obj/item/ammo_box/a357_box - name = "ammo box (.357)" - desc = "A box of standard .357 ammo." - icon_state = "357box" - ammo_type = /obj/item/ammo_casing/a357 - max_ammo = 50 +// /obj/item/ammo_box/a357_box +// name = "ammo box (.357)" +// desc = "A box of standard .357 ammo." +// icon_state = "357box" +// ammo_type = /obj/item/ammo_casing/a357 +// max_ammo = 50 -/obj/item/ammo_box/a357_box/match - name = "ammo box (.357)" - desc = "A box of match .357 ammo." - icon_state = "357box-match" - ammo_type = /obj/item/ammo_casing/a357/match - max_ammo = 50 +// /obj/item/ammo_box/a357_box/match +// name = "ammo box (.357)" +// desc = "A box of match .357 ammo." +// icon_state = "357box-match" +// ammo_type = /obj/item/ammo_casing/a357/match +// max_ammo = 50 -/obj/item/ammo_box/a357_box/hp - name = "ammo box (.357)" - desc = "A box of hollow point .357 ammo." - icon_state = "357box-hp" - ammo_type = /obj/item/ammo_casing/a357/hp - max_ammo = 50 +// /obj/item/ammo_box/a357_box/hp +// name = "ammo box (.357)" +// desc = "A box of hollow point .357 ammo." +// icon_state = "357box-hp" +// ammo_type = /obj/item/ammo_casing/a357/hp +// max_ammo = 50 // .45-70 Ammo Holders (Hunting Revolver) -/obj/item/ammo_box/a4570 - name = "ammo box (.45-70)" - desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." - icon_state = "4570" - ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 18 +// /obj/item/ammo_box/a4570 +// name = "ammo box (.45-70)" +// desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." +// icon_state = "4570" +// ammo_type = /obj/item/ammo_casing/a4570 +// max_ammo = 12 -/obj/item/ammo_box/a4570/match - name = "ammo box (.45-70 match)" - desc = "A 18-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - icon_state = "4570-match" - ammo_type = /obj/item/ammo_casing/a4570/match +// /obj/item/ammo_box/a4570/match +// name = "ammo box (.45-70 match)" +// desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." +// icon_state = "4570-match" +// ammo_type = /obj/item/ammo_casing/a4570/match +// /obj/item/ammo_box/a4570/hp +// name = "ammo box (.45-70 hollow point)" +// desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." +// icon_state = "4570-hp" +// ammo_type = /obj/item/ammo_casing/a4570/hp -/obj/item/ammo_box/a4570/hp - name = "ammo box (.45-70 hollow point)" - desc = "A 18-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." - icon_state = "4570-hp" - ammo_type = /obj/item/ammo_casing/a4570/hp - -/obj/item/ammo_box/a4570/explosive - name = "ammo box (.45-70 explosive)" - desc = "A 18-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." - icon_state = "4570-explosive" - ammo_type = /obj/item/ammo_casing/a4570/explosive +// /obj/item/ammo_box/a4570/explosive +// name = "ammo box (.45-70 explosive)" +// desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." +// icon_state = "4570-explosive" +// ammo_type = /obj/item/ammo_casing/a4570/explosive // .38 special Speed Loaders (Colt Detective Special) @@ -113,13 +112,13 @@ ammo_type = /obj/item/ammo_casing/c38/dumdum /obj/item/ammo_box/c38/hotshot - name = "speed loader (.38 hearth)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hearthwine bullets contain an incendiary payload that set targets alight." + name = "speed loader (.38 hot shot)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hot shot bullets contain an incendiary payload that set targets alight." ammo_type = /obj/item/ammo_casing/c38/hotshot /obj/item/ammo_box/c38/iceblox - name = "speed loader (.38 chilled)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These icewine bullets contain a cryogenic payload that chills targets." + name = "speed loader (.38 iceblox)" + 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 @@ -136,13 +135,10 @@ multiple_sprites = AMMO_BOX_PER_BULLET instant_load = TRUE -/obj/item/ammo_box/a858/empty - start_empty = TRUE - // .308 Stripper Clip (Vickland) /obj/item/ammo_box/vickland_a308 - name = "stripper clip (.308)" + name = "stripper clip (.308)" desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." icon_state = "stripper_308-5" base_icon_state = "stripper_308" @@ -152,9 +148,6 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE -/obj/item/ammo_box/vickland_a308/empty - start_empty = TRUE - // .300 Magnum Stripper Clip (Scout) /obj/item/ammo_box/a300 @@ -169,22 +162,19 @@ /obj/item/ammo_box/a300/empty start_empty = TRUE -// 7.62 Stripper Clip (Polymer Survivor Rifle) +// .300 Blackout Stripper Clip (Polymer Survivor Rifle) -/obj/item/ammo_box/a762_stripper - name = "stripper clip (7.62)" +/obj/item/ammo_box/aac_300blk_stripper + name = "stripper clip (.300 BLK)" desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." - icon_state = "stripper_308-5" - base_icon_state = "stripper_308" - ammo_type = /obj/item/ammo_casing/a762_40 - caliber = "7.62x40mm" + icon_state = "300m" + ammo_type = /obj/item/ammo_casing/aac_300blk + caliber = ".300 BLK" max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE -/obj/item/ammo_box/a762_stripper/empty - start_empty = TRUE // Ferromagnetic Pellet Speed Loader (Claris) /obj/item/ammo_box/amagpellet_claris @@ -200,203 +190,185 @@ // Ammo Boxes -/obj/item/ammo_box/c38_box - name = "ammo box (.38)" - desc = "A box of standard .38 Special ammo." - icon_state = "38box" - ammo_type = /obj/item/ammo_casing/c38 - max_ammo = 50 - -/obj/item/ammo_box/c38_box/surplus - name = "ammo box (.38 surplus)" - desc = "A box of low-quality .38 Special ammo." - icon_state = "38box-surplus" - ammo_type = /obj/item/ammo_casing/c38/surplus - -/obj/item/ammo_box/c38_box/hotshot - name = "ammo box (.38 hearth)" - desc = "An unorthodox .38 Special cartridge infused with hearthwine. Catches the target on fire." - icon_state = "38hotshot" - ammo_type = /obj/item/ammo_casing/c38/hotshot - -/obj/item/ammo_box/c38_box/iceblox - name = "ammo box (.38 chilled)" - desc = "An unorthodox .38 Special cartridge infused with icewine. Chills the target, slowing them down." - icon_state = "38iceblox" - ammo_type = /obj/item/ammo_casing/c38/iceblox - -/obj/item/ammo_box/a12g - name = "ammo box (12g buckshot)" - desc = "A box of 12-gauge buckshot shells, devastating at close range." - icon_state = "12gbox-buckshot" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 25 - -/obj/item/ammo_box/a12g/slug - name = "ammo box (12g slug)" - desc = "A box of 12-gauge slugs, for improved accuracy and penetration." - icon_state = "12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun - -/obj/item/ammo_box/a12g/beanbag - name = "ammo box (12g beanbag)" - desc = "A box of 12-gauge beanbag shells, for incapacitating targets." - icon_state = "12gbox-beanbag" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag - -/obj/item/ammo_box/a12g/rubbershot - name = "ammo box (12g rubbershot)" - desc = "A box of 12-gauge rubbershot shells, designed for riot control." - icon_state = "12gbox-rubbershot" - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - -/obj/item/ammo_box/a12g/blanks - name = "ammo box (12g blanks)" - desc = "A box of 12-gauge blank shells, designed for training." - icon_state ="12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun/blank - -/obj/item/ammo_box/c9mm - name = "ammo box (9mm)" - desc = "A box of standard 9mm ammo." - icon_state = "9mmbox" - ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 50 - -/obj/item/ammo_box/c9mm/surplus - name = "ammo box (9mm surplus)" - desc = "A box of low-quality 9mm ammo." - icon_state = "9mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c9mm/surplus - -/obj/item/ammo_box/c9mm/rubbershot - name = "ammo box (9mm rubbershot)" - desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "9mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/c9mm/ap - name = "ammo box (9mm armor-piercing)" - desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "9mmbox-ap" - ammo_type = /obj/item/ammo_casing/c9mm/ap - -/obj/item/ammo_box/c9mm/hp - name = "ammo box (9mm hollow point)" - desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "9mmbox-hp" - ammo_type = /obj/item/ammo_casing/c9mm/hp - -/obj/item/ammo_box/c9mm/fire - name = "ammo box (9mm incendiary)" - desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "9mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c9mm/inc - -/obj/item/ammo_box/c10mm - name = "ammo box (10mm)" - desc = "A box of standard 10mm ammo." - icon_state = "10mmbox" - ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 50 - -/obj/item/ammo_box/c10mm/surplus - name = "ammo box (10mm surplus)" - desc = "A box of low-quality 10mm ammo." - icon_state = "10mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c10mm/surplus - -/obj/item/ammo_box/c10mm/rubbershot - name = "ammo box (10mm rubbershot)" - desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "10mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c10mm/rubber - -/obj/item/ammo_box/c10mm/ap - name = "ammo box (10mm armor-piercing)" - desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "10mmbox-ap" - ammo_type = /obj/item/ammo_casing/c10mm/ap - -/obj/item/ammo_box/c10mm/hp - name = "ammo box (10mm hollow point)" - desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "10mmbox-hp" - ammo_type = /obj/item/ammo_casing/c10mm/hp - -/obj/item/ammo_box/c10mm/fire - name = "ammo box (10mm incendiary)" - desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "10mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c10mm/inc - -/obj/item/ammo_box/c45 - name = "ammo box (.45)" - desc = "A box of standard .45 ammo." - icon_state = "45box" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 50 - -/obj/item/ammo_box/c45/surplus - name = "ammo box (.45 surplus)" - desc = "A box of low-quality .45 ammo." - icon_state = "45box-surplus" - ammo_type = /obj/item/ammo_casing/c45/surplus - -/obj/item/ammo_box/c45/rubbershot - name = "ammo box (.45 rubbershot)" - desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "45box-rubbershot" - ammo_type = /obj/item/ammo_casing/c45/rubber - -/obj/item/ammo_box/c45/ap - name = "ammo box (.45 armor-piercing)" - desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "45box-ap" - ammo_type = /obj/item/ammo_casing/c45/ap - -/obj/item/ammo_box/c45/hp - name = "ammo box (.45 hollow point)" - desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "45box-hp" - ammo_type = /obj/item/ammo_casing/c45/hp - -/obj/item/ammo_box/c45/fire - name = "ammo box (.45 incendiary)" - desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "45box-incendiary" - ammo_type = /obj/item/ammo_casing/c45/inc - -/obj/item/ammo_box/c556mmHITP - name = "ammo box (5.56mm HITP caseless)" - desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." - icon_state = "556mmHITPbox" - ammo_type = /obj/item/ammo_casing/caseless/c556mm - max_ammo = 50 - -/obj/item/ammo_box/c556mmHITP/surplus - name = "ammo box (5.56mm HITP caseless surplus)" - desc = "A box of low-quality 5.56mm HITP caseless ammo." - icon_state = "556mmHITPbox-surplus" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus - -/obj/item/ammo_box/c556mmHITP/rubbershot - name = "ammo box (5.56mm HITP caseless rubbershot)" - desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "556mmHITPbox-rubbershot" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot - -/obj/item/ammo_box/c556mmHITP/ap - name = "ammo box (5.56mm HITP caseless armor-piercing)" - desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "556mmHITPbox-ap" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap - -/obj/item/ammo_box/c556mmHITP/hp - name = "ammo box (5.56mm HITP caseless hollow point)" - desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "556mmHITPbox-hp" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp +// /obj/item/ammo_box/c38_box +// name = "ammo box (.38)" +// desc = "A box of standard .38 Special ammo." +// icon_state = "38box" +// ammo_type = /obj/item/ammo_casing/c38 +// max_ammo = 50 + +// /obj/item/ammo_box/c38_box/surplus +// name = "ammo box (.38 surplus)" +// desc = "A box of low-quality .38 Special ammo." +// icon_state = "38box-surplus" +// ammo_type = /obj/item/ammo_casing/c38/surplus + +// /obj/item/ammo_box/a12g +// name = "ammo box (12g buckshot)" +// desc = "A box of 12-gauge buckshot shells, devastating at close range." +// icon_state = "12gbox-buckshot" +// ammo_type = /obj/item/ammo_casing/shotgun/buckshot +// max_ammo = 25 + +// /obj/item/ammo_box/a12g/slug +// name = "ammo box (12g slug)" +// desc = "A box of 12-gauge slugs, for improved accuracy and penetration." +// icon_state = "12gbox-slug" +// ammo_type = /obj/item/ammo_casing/shotgun + +// /obj/item/ammo_box/a12g/beanbag +// name = "ammo box (12g beanbag)" +// desc = "A box of 12-gauge beanbag shells, for incapacitating targets." +// icon_state = "12gbox-beanbag" +// ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +// /obj/item/ammo_box/a12g/rubbershot +// name = "ammo box (12g rubbershot)" +// desc = "A box of 12-gauge rubbershot shells, designed for riot control." +// icon_state = "12gbox-rubbershot" +// ammo_type = /obj/item/ammo_casing/shotgun/rubbershot + +// /obj/item/ammo_box/c9mm +// name = "ammo box (9mm)" +// desc = "A box of standard 9mm ammo." +// icon_state = "9mmbox" +// ammo_type = /obj/item/ammo_casing/c9mm +// max_ammo = 50 + +// /obj/item/ammo_box/c9mm/surplus +// name = "ammo box (9mm surplus)" +// desc = "A box of low-quality 9mm ammo." +// icon_state = "9mmbox-surplus" +// ammo_type = /obj/item/ammo_casing/c9mm/surplus + +// /obj/item/ammo_box/c9mm/rubbershot +// name = "ammo box (9mm rubbershot)" +// desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." +// icon_state = "9mmbox-rubbershot" +// ammo_type = /obj/item/ammo_casing/c9mm/rubber + +// /obj/item/ammo_box/c9mm/ap +// name = "ammo box (9mm armor-piercing)" +// desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." +// icon_state = "9mmbox-ap" +// ammo_type = /obj/item/ammo_casing/c9mm/ap + +// /obj/item/ammo_box/c9mm/hp +// name = "ammo box (9mm hollow point)" +// desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." +// icon_state = "9mmbox-hp" +// ammo_type = /obj/item/ammo_casing/c9mm/hp + +// /obj/item/ammo_box/c9mm/fire +// name = "ammo box (9mm incendiary)" +// desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." +// icon_state = "9mmbox-incendiary" +// ammo_type = /obj/item/ammo_casing/c9mm/inc + +// /obj/item/ammo_box/c10mm +// name = "ammo box (10mm)" +// desc = "A box of standard 10mm ammo." +// icon_state = "10mmbox" +// ammo_type = /obj/item/ammo_casing/c10mm +// max_ammo = 50 + +// /obj/item/ammo_box/c10mm/surplus +// name = "ammo box (10mm surplus)" +// desc = "A box of low-quality 10mm ammo." +// icon_state = "10mmbox-surplus" +// ammo_type = /obj/item/ammo_casing/c10mm/surplus + +// /obj/item/ammo_box/c10mm/rubbershot +// name = "ammo box (10mm rubbershot)" +// desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." +// icon_state = "10mmbox-rubbershot" +// ammo_type = /obj/item/ammo_casing/c9mm/rubber + +// /obj/item/ammo_box/c10mm/ap +// name = "ammo box (10mm armor-piercing)" +// desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." +// icon_state = "10mmbox-ap" +// ammo_type = /obj/item/ammo_casing/c10mm/ap + +// /obj/item/ammo_box/c10mm/hp +// name = "ammo box (10mm hollow point)" +// desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." +// icon_state = "10mmbox-hp" +// ammo_type = /obj/item/ammo_casing/c10mm/hp + +// /obj/item/ammo_box/c10mm/fire +// name = "ammo box (10mm incendiary)" +// desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." +// icon_state = "10mmbox-incendiary" +// ammo_type = /obj/item/ammo_casing/c10mm/inc + +// /obj/item/ammo_box/c45 +// name = "ammo box (.45)" +// desc = "A box of standard .45 ammo." +// icon_state = "45box" +// ammo_type = /obj/item/ammo_casing/c45 +// max_ammo = 50 + +// /obj/item/ammo_box/c45/surplus +// name = "ammo box (.45 surplus)" +// desc = "A box of low-quality .45 ammo." +// icon_state = "45box-surplus" +// ammo_type = /obj/item/ammo_casing/c45/surplus + +// /obj/item/ammo_box/c45/rubbershot +// name = "ammo box (.45 rubbershot)" +// desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." +// icon_state = "45box-rubbershot" +// ammo_type = /obj/item/ammo_casing/c45/rubber + +// /obj/item/ammo_box/c45/ap +// name = "ammo box (.45 armor-piercing)" +// desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." +// icon_state = "45box-ap" +// ammo_type = /obj/item/ammo_casing/c45/ap + +// /obj/item/ammo_box/c45/hp +// name = "ammo box (.45 hollow point)" +// desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." +// icon_state = "45box-hp" +// ammo_type = /obj/item/ammo_casing/c45/hp + +// /obj/item/ammo_box/c45/fire +// name = "ammo box (.45 incendiary)" +// desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." +// icon_state = "45box-incendiary" +// ammo_type = /obj/item/ammo_casing/c45/inc + +// /obj/item/ammo_box/c556mmHITP +// name = "ammo box (5.56mm HITP caseless)" +// desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." +// icon_state = "556mmHITPbox" +// ammo_type = /obj/item/ammo_casing/caseless/c556mm +// max_ammo = 50 + +// /obj/item/ammo_box/c556mmHITP/surplus +// name = "ammo box (5.56mm HITP caseless surplus)" +// desc = "A box of low-quality 5.56mm HITP caseless ammo." +// icon_state = "556mmHITPbox-surplus" +// ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus + +// /obj/item/ammo_box/c556mmHITP/rubbershot +// name = "ammo box (5.56mm HITP caseless rubbershot)" +// desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." +// icon_state = "556mmHITPbox-rubbershot" +// ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot + +// /obj/item/ammo_box/c556mmHITP/ap +// name = "ammo box (5.56mm HITP caseless armor-piercing)" +// desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." +// icon_state = "556mmHITPbox-ap" +// ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap + +// /obj/item/ammo_box/c556mmHITP/hp +// name = "ammo box (5.56mm HITP caseless hollow point)" +// desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." +// icon_state = "556mmHITPbox-hp" +// ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp /obj/item/ammo_box/a40mm name = "ammo box (40mm grenades)" @@ -406,51 +378,93 @@ multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/a762_40 - name = "ammo box (7.62x40mm CLIP)" - icon_state = "a762_40box_big" - ammo_type = /obj/item/ammo_casing/a762_40 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a762_40/inteq - icon_state = "a762_40box_big_inteq" - -/obj/item/ammo_box/a556_42 - name = "ammo box (5.56x42mm CLIP)" - icon_state = "a556_42box_big" - ammo_type = /obj/item/ammo_casing/a556_42 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a308 - name = "ammo box (.308)" - icon_state = "a308box" - ammo_type = /obj/item/ammo_casing/a308 - max_ammo = 30 - -/obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships - icon_state = "a308box-HP" - -/obj/item/ammo_box/foambox - name = "ammo box (Foam Darts)" - icon = 'icons/obj/guns/toy.dmi' - icon_state = "foambox" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart - max_ammo = 40 - custom_materials = list(/datum/material/iron = 500) - -/obj/item/ammo_box/foambox/riot - icon_state = "foambox_riot" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - custom_materials = list(/datum/material/iron = 50000) - -/obj/item/ammo_box/c22lr_box - name = "ammo box (.22 LR)" - desc = "A box of standard .22 LR ammo." - icon_state = "22lrbox" - ammo_type = /obj/item/ammo_casing/c22lr - max_ammo = 75 +// /obj/item/ammo_box/a762_40 +// name = "ammo box (7.62x40mm CLIP)" +// icon_state = "a762_40box_big" +// ammo_type = /obj/item/ammo_casing/a762_40 +// max_ammo = 120 +// w_class = WEIGHT_CLASS_NORMAL + +// /obj/item/ammo_box/a762_40/inteq +// icon_state = "a762_40box_big_inteq" + +// /obj/item/ammo_box/a308 +// name = "ammo box (.308)" +// icon_state = "a308box" +// ammo_type = /obj/item/ammo_casing/a308 +// max_ammo = 30 + +// /obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships +// icon_state = "a308box-HP" + +// /obj/item/ammo_box/foambox +// name = "ammo box (Foam Darts)" +// icon = 'icons/obj/guns/toy.dmi' +// icon_state = "foambox" +// ammo_type = /obj/item/ammo_casing/caseless/foam_dart +// max_ammo = 40 +// custom_materials = list(/datum/material/iron = 500) + +// /obj/item/ammo_box/foambox/riot +// icon_state = "foambox_riot" +// ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot +// custom_materials = list(/datum/material/iron = 50000) + +// /obj/item/ammo_box/c22lr_box +// name = "ammo box (.22 LR)" +// desc = "A box of standard .22 LR ammo." +// icon_state = "22lrbox" +// ammo_type = /obj/item/ammo_casing/c22lr +// max_ammo = 75 + +// /obj/item/ammo_box/c46x30mm_box +// name = "ammo box (4.6x30mm)" +// desc = "A box of standard 4.6x30mm ammo." +// icon_state = "46x30mmbox" +// ammo_type = /obj/item/ammo_casing/c46x30mm +// max_ammo = 50 + +// /obj/item/ammo_box/c8x50mm_box +// name = "ammo box (8x50mm)" +// desc = "A box of standard 8x50mm ammo." +// icon_state = "8x50mmbox" +// ammo_type = /obj/item/ammo_casing/a8_50r +// max_ammo = 20 + +// /obj/item/ammo_box/ferropelletbox +// name = "ammo box (ferromagnetic pellets)" +// desc = "A box of ferromagnetic pellets." +// icon_state = "ferropelletsbox" +// ammo_type = /obj/item/ammo_casing/caseless/gauss +// max_ammo = 50 + +// /obj/item/ammo_box/ferroslugbox +// name = "ammo box (ferromagnetic slugs)" +// desc = "A box of standard ferromagnetic slugs." +// icon_state = "ferroslugsbox" +// ammo_type = /obj/item/ammo_casing/caseless/gauss/slug +// max_ammo = 20 + +// /obj/item/ammo_box/ferrolancebox +// name = "ammo box (ferromagnetic lances)" +// desc = "A box of standard ferromagnetic lances." +// icon_state = "ferrolancesbox" +// ammo_type = /obj/item/ammo_casing/caseless/gauss/lance +// max_ammo = 50 + +// /obj/item/ammo_box/c8x50mmhp_box +// name = "ammo box (8x50mm)" +// desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." +// icon_state = "8x50mmbox-hp" +// ammo_type = /obj/item/ammo_casing/a8_50rhp +// max_ammo = 20 + +// /obj/item/ammo_box/a300_box +// name = "ammo box (.300 Magnum)" +// desc = "A box of standard .300 Magnum ammo." +// icon_state = "300box" +// ammo_type = /obj/item/ammo_casing/a300 +// max_ammo = 20 /obj/item/ammo_box/a44roum_speedloader name = "speed loader (.44)" @@ -468,98 +482,23 @@ /obj/item/ammo_box/a44roum_speedloader/empty start_empty = TRUE -/obj/item/ammo_box/c57x39mm_box - name = "ammo box (5.7x39mm)" - desc = "A box of standard 5.7x39mm ammo." - icon_state = "57x39mmbox" - ammo_type = /obj/item/ammo_casing/c57x39mm - max_ammo = 50 - - -/obj/item/ammo_box/c46x30mm_box - name = "ammo box (4.6x30mm)" - desc = "A box of standard 4.6x30mm ammo." - icon_state = "46x30mmbox" - ammo_type = /obj/item/ammo_casing/c46x30mm - max_ammo = 50 - -/obj/item/ammo_box/c8x50mm_box - name = "ammo box (8x50mm)" - desc = "A box of standard 8x50mm ammo." - icon_state = "8x50mmbox" - ammo_type = /obj/item/ammo_casing/a8_50r - max_ammo = 25 - -/obj/item/ammo_box/ferropelletbox - name = "ammo box (ferromagnetic pellets)" - desc = "A box of ferromagnetic pellets." - icon_state = "ferropelletsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss - max_ammo = 50 - -/obj/item/ammo_box/ferroslugbox - name = "ammo box (ferromagnetic slugs)" - desc = "A box of standard ferromagnetic slugs." - icon_state = "ferroslugsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/slug - max_ammo = 20 - -/obj/item/ammo_box/ferrolancebox - name = "ammo box (ferromagnetic lances)" - desc = "A box of standard ferromagnetic lances." - icon_state = "ferrolancesbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/lance - max_ammo = 50 - -/obj/item/ammo_box/c8x50mmhp_box - name = "ammo box (8x50mm)" - desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "8x50mmbox-hp" - ammo_type = /obj/item/ammo_casing/a8_50rhp - max_ammo = 20 - -/obj/item/ammo_box/a300_box - name = "ammo box (.300 Magnum)" - desc = "A box of standard .300 Magnum ammo." - icon_state = "300box" - ammo_type = /obj/item/ammo_casing/a300 - max_ammo = 20 - -/obj/item/ammo_box/a65clip_box - name = "ammo box (6.5x57mm CLIP)" - desc = "A box of standard 6.5x57mm CLIP ammo." - icon_state = "65box" - ammo_type = /obj/item/ammo_casing/a65clip - max_ammo = 20 - -/obj/item/ammo_box/a65clip_box/syndicate - icon_state = "65box_sa" - -/obj/item/ammo_box/a44roum - name = "ammo box (.44 roumain)" - desc = "A box of standard .44 roumain ammo." - icon_state = "a44roum" - ammo_type = /obj/item/ammo_casing/a44roum - max_ammo = 50 - -/obj/item/ammo_box/a44roum/rubber - name = "ammo box (.44 roumain rubber)" - desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "a44roum-rubber" - ammo_type = /obj/item/ammo_casing/a44roum/rubber - max_ammo = 50 - -/obj/item/ammo_box/a44roum/hp - name = "ammo box (.44 roumain hollow point)" - desc = "A box of .44 roumain hollow point ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "a44roum-hp" - ammo_type = /obj/item/ammo_casing/a44roum/hp - max_ammo = 50 - -/obj/item/ammo_box/c299 - name = "ammo box (.299 Eoehoma caseless)" - desc = "A box of .299 Eoehoma caseless, for use with the E-40 hybrid assault rifle." - icon_state = "299box" - ammo_type = /obj/item/ammo_casing/caseless/c299 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL // This is a lot of ammo +// /obj/item/ammo_box/a44roum +// name = "ammo box (.44 roumain)" +// desc = "A box of standard .44 roumain ammo." +// icon_state = "a44roum" +// ammo_type = /obj/item/ammo_casing/a44roum +// max_ammo = 50 + +// /obj/item/ammo_box/a44roum/rubber +// name = "ammo box (.44 roumain rubber)" +// desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." +// icon_state = "a44roum-rubber" +// ammo_type = /obj/item/ammo_casing/a44roum/rubber +// max_ammo = 50 + +// /obj/item/ammo_box/a44roum/hp +// name = "ammo box (.44 roumain hollow point)" +// desc = "A box of .44 roumain hollow point ammo, designed to cause massive damage at the cost of armor penetration." +// icon_state = "a44roum-hp" +// ammo_type = /obj/item/ammo_casing/a44roum/hp +// max_ammo = 50 diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm index 6f9ae74e61f9..912526c1a93c 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm @@ -1,16 +1,20 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled /obj/item/ammo_box/magazine/ammo_stack/prefilled/Initialize(mapload) + make_stack() + update_appearance() + . = ..() + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/proc/make_stack() var/obj/item/ammo_casing/to_copy = ammo_type src.top_off() caliber = to_copy.caliber - base_icon_state = to_copy.icon_state - name = "handful of [name]s" - update_appearance() - . = ..() + base_icon_state = "[initial(to_copy.icon_state)][to_copy.bullet_skin ? "-[to_copy.bullet_skin]" : ""]" + name = "handful of [to_copy.name]s" /obj/item/storage/box/ammo //base type, don't use this! name = "box of default ammo" + desc = "How peculiar." icon = 'icons/obj/ammunition/ammo_boxes.dmi' icon_state = "9mmbox" illustration = null diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm new file mode 100644 index 000000000000..ac82cf6bcebd --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm @@ -0,0 +1,41 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet + ammo_type = /obj/item/ammo_casing/caseless/gauss + +/obj/item/storage/box/ammo/ferropellet + name = "box of ferromagnetic pellets" + desc = "A box of ferromagnetic pellets for gauss firearms." + icon_state = "ferropelletsbox" + +/obj/item/storage/box/ammo/ferropellet/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug + ammo_type = /obj/item/ammo_casing/caseless/gauss/slug + +/obj/item/storage/box/ammo/ferroslug + name = "box of ferromagnetic slugs" + desc = "A box of standard ferromagnetic slugs for gauss firearms." + icon_state = "ferroslugsbox" + +/obj/item/storage/box/ammo/ferroslug/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance + ammo_type = /obj/item/ammo_casing/caseless/gauss/lance + +/obj/item/storage/box/ammo/ferrolance + name = "box of ferromagnetic lances" + desc = "A box of standard ferromagnetic lances for gauss firearms." + icon_state = "ferrolancesbox" + +/obj/item/storage/box/ammo/ferrolance/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm index 8f75ad2fc207..d7389389ebe6 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -3,21 +3,87 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm ammo_type = /obj/item/ammo_casing/c10mm +/obj/item/storage/box/ammo/c10mm + name = "box of 10mm ammo" + desc = "A box of standard 10mm ammo." + icon_state = "10mmbox" + +/obj/item/storage/box/ammo/c10mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/surplus ammo_type = /obj/item/ammo_casing/c10mm/surplus +/obj/item/storage/box/ammo/c10mm_surplus + name = "box of surplus 10mm ammo" + desc = "A box of low-quality 10mm ammo." + icon_state = "10mmbox-surplus" + +/obj/item/storage/box/ammo/c10mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap ammo_type = /obj/item/ammo_casing/c10mm/ap +/obj/item/storage/box/ammo/c10mm_ap + name = "box of AP 10mm ammo" + desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "10mmbox-ap" + +/obj/item/storage/box/ammo/c10mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp ammo_type = /obj/item/ammo_casing/c10mm/hp +/obj/item/storage/box/ammo/c10mm_hp + name = "box of HP 10mm ammo" + desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "10mmbox-hp" + +/obj/item/storage/box/ammo/c10mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/incendiary ammo_type = /obj/item/ammo_casing/c10mm/inc +/obj/item/storage/box/ammo/c10mm_incendiary + name = "box of incendiary 10mm ammo" + desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." + icon_state = "10mmbox-incendiary" + +/obj/item/storage/box/ammo/c10mm_incendiary/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/incendiary = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber ammo_type = /obj/item/ammo_casing/c10mm/rubber +/obj/item/storage/box/ammo/c10mm_rubber + name = "box of rubber 10mm ammo" + desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "10mmbox-rubbershot" + +/obj/item/storage/box/ammo/c10mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber = 4) + generate_items_inside(items_inside,src) + // 9MM (Commander + SABR) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm @@ -30,27 +96,25 @@ /obj/item/storage/box/ammo/c9mm/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm = 4) + generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus ammo_type = /obj/item/ammo_casing/c9mm/surplus -/obj/item/storage/box/ammo/c9mm/surplus +/obj/item/storage/box/ammo/c9mm_surplus name = "box of surplus 9mm ammo" desc = "A box of low-quality 9mm ammo." icon_state = "9mmbox-surplus" -/obj/item/storage/box/ammo/c9mm/surplus/PopulateContents() +/obj/item/storage/box/ammo/c9mm_surplus/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus = 48) + generate_items_inside(items_inside,src) -/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap ammo_type = /obj/item/ammo_casing/c9mm/ap /obj/item/storage/box/ammo/c9mm/ap @@ -58,78 +122,140 @@ desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "9mmbox-ap" -/obj/item/storage/box/ammo/c9mm/ap/PopulateContents() +/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap = 4) + generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp ammo_type = /obj/item/ammo_casing/c9mm/hp -/obj/item/storage/box/ammo/c9mm/hp +/obj/item/storage/box/ammo/c9mm_hp name = "box of HP 9mm ammo" desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." icon_state = "9mmbox-hp" -/obj/item/storage/box/ammo/c9mm/hp/PopulateContents() +/obj/item/storage/box/ammo/c9mm_hp/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_hp = 4) + generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary ammo_type = /obj/item/ammo_casing/c9mm/inc -/obj/item/storage/box/ammo/c9mm/incendiary +/obj/item/storage/box/ammo/c9mm_incendiary name = "box of incendiary 9mm ammo" desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." icon_state = "9mmbox-incendiary" -/obj/item/storage/box/ammo/c9mm/incendiary/PopulateContents() +/obj/item/storage/box/ammo/c9mm_incendiary/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary = 4) + generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber ammo_type = /obj/item/ammo_casing/c9mm/rubber -/obj/item/storage/box/ammo/c9mm/rubber +/obj/item/storage/box/ammo/c9mm_rubber name = "box of rubber 9mm ammo" desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "9mmbox-rubbershot" -/obj/item/storage/box/ammo/c9mm/rubber/PopulateContents() +/obj/item/storage/box/ammo/c9mm_rubber/PopulateContents() ..() - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber - new /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber = 4) + generate_items_inside(items_inside,src) // .45 (Candor + C20R) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 ammo_type = /obj/item/ammo_casing/c45 +/obj/item/storage/box/ammo/c45 + name = "box of .45 ammo" + desc = "A box of standard .45 ammo." + icon_state = "45box" + +/obj/item/storage/box/ammo/c45/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus ammo_type = /obj/item/ammo_casing/c45/surplus +/obj/item/storage/box/ammo/c45_surplus + name = "box of surplus .45 ammo" + desc = "A box of low-quality .45 ammo." + icon_state = "45box-surplus" + +/obj/item/storage/box/ammo/c45_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap ammo_type = /obj/item/ammo_casing/c45/ap +/obj/item/storage/box/ammo/c45_ap + name = "box of AP .45 ammo" + desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "45box-ap" + +/obj/item/storage/box/ammo/c45_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp ammo_type = /obj/item/ammo_casing/c45/hp +/obj/item/storage/box/ammo/c45_hp + name = "box of HP .45 ammo" + desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "45box-hp" + +/obj/item/storage/box/ammo/c45_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/incendiary ammo_type = /obj/item/ammo_casing/c45/inc +/obj/item/storage/box/ammo/c45_incendiary + name = "box of incendiary .45 ammo" + desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." + icon_state = "45box-incendiary" + +/obj/item/storage/box/ammo/c45_incendiary/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/incendiary = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber ammo_type = /obj/item/ammo_casing/c45/rubber +/obj/item/storage/box/ammo/c45_rubber + name = "box of incendiary .45 ammo" + desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "45box-rubbershot" + +/obj/item/storage/box/ammo/c45_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber = 4) + generate_items_inside(items_inside,src) + // .50 AE (Desert Eagle) /obj/item/ammo_box/magazine/ammo_stack/prefilled/a50AE @@ -143,39 +269,149 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr ammo_type = /obj/item/ammo_casing/c22lr +/obj/item/storage/box/ammo/c22lr + name = "box of .22 LR ammo" + desc = "A box of standard .22 LR ammo." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr = 4) + generate_items_inside(items_inside,src) + // .357 /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 - ammo_type = /obj/item/ammo_casing/c45 + ammo_type = /obj/item/ammo_casing/a357 + +/obj/item/storage/box/ammo/a357 + name = "box of .357 ammo" + desc = "A box of standard .357 ammo." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/a357/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 = 4) + generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match ammo_type = /obj/item/ammo_casing/a357/match +/obj/item/storage/box/ammo/a357_match + name = "box of match .357 ammo" + desc = "A box of match .357 ammo." + icon_state = "357box-match" + +/obj/item/storage/box/ammo/a357_match/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp ammo_type = /obj/item/ammo_casing/a357/hp +/obj/item/storage/box/ammo/a357_hp + name = "box of HP .357 ammo" + desc = "A box of hollow point .357 ammo." + icon_state = "357box-hp" + +/obj/item/storage/box/ammo/a357_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp = 4) + generate_items_inside(items_inside,src) + // .45-70 (Hunting Revolver, Beacon) /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 ammo_type = /obj/item/ammo_casing/a4570 +/obj/item/storage/box/ammo/a4570 + name = "box of .45-70 ammo" + desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." + icon_state = "4570" + +/obj/item/storage/box/ammo/a4570/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match ammo_type = /obj/item/ammo_casing/a4570/match +/obj/item/storage/box/ammo/a4570_match + name = "box of HP match .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + icon_state = "4570-match" + +/obj/item/storage/box/ammo/a4570_match/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp ammo_type = /obj/item/ammo_casing/a4570/hp +/obj/item/storage/box/ammo/a4570_hp + name = "box of HP .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." + icon_state = "4570-hp" + +/obj/item/storage/box/ammo/a4570_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive ammo_type = /obj/item/ammo_casing/a4570/explosive +/obj/item/storage/box/ammo/a4570_explosive + name = "box of explosive .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." + icon_state = "4570-explosive" + +/obj/item/storage/box/ammo/a4570_explosive/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive = 4) + generate_items_inside(items_inside,src) + // .38 Special /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 ammo_type = /obj/item/ammo_casing/c38 +/obj/item/storage/box/ammo/c38 + name = "box of .38 ammo" + desc = "A box of standard .38 Special ammo." + icon_state = "38box" + +/obj/item/storage/box/ammo/c38/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus ammo_type = /obj/item/ammo_casing/c38/surplus +/obj/item/storage/box/ammo/c38_surplus + name = "box of surplus .38 ammo" + desc = "A box of low-quality .38 Special ammo." + icon_state = "38box-surplus" + +/obj/item/storage/box/ammo/c38_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/trac ammo_type = /obj/item/ammo_casing/c38/trac @@ -199,144 +435,41 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum ammo_type = /obj/item/ammo_casing/a44roum -/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber - ammo_type = /obj/item/ammo_casing/a44roum/rubber - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp - ammo_type = /obj/item/ammo_casing/a44roum/hp - -/obj/item/ammo_box/c10mm - name = "ammo box (10mm)" - desc = "A box of standard 10mm ammo." - icon_state = "10mmbox" - ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 50 - -/obj/item/ammo_box/c10mm/surplus - name = "ammo box (10mm surplus)" - desc = "A box of low-quality 10mm ammo." - icon_state = "10mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c10mm/surplus - -/obj/item/ammo_box/c10mm/rubbershot - name = "ammo box (10mm rubbershot)" - desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "10mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/c10mm/ap - name = "ammo box (10mm armor-piercing)" - desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "10mmbox-ap" - ammo_type = /obj/item/ammo_casing/c10mm/ap - -/obj/item/ammo_box/c10mm/hp - name = "ammo box (10mm hollow point)" - desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "10mmbox-hp" - ammo_type = /obj/item/ammo_casing/c10mm/hp - -/obj/item/ammo_box/c10mm/fire - name = "ammo box (10mm incendiary)" - desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "10mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c10mm/inc - - - - - - - - - - - - - - - - - - - - - - - -/obj/item/ammo_box/c38_box - name = "ammo box (.38)" - desc = "A box of standard .38 Special ammo." - icon_state = "38box" - ammo_type = /obj/item/ammo_casing/c38 - max_ammo = 50 - -/obj/item/ammo_box/c38_box/surplus - name = "ammo box (.38 surplus)" - desc = "A box of low-quality .38 Special ammo." - icon_state = "38box-surplus" - ammo_type = /obj/item/ammo_casing/c38/surplus - -/obj/item/ammo_box/a12g - name = "ammo box (12g buckshot)" - desc = "A box of 12-gauge buckshot shells, devastating at close range." - icon_state = "12gbox-buckshot" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 25 - -/obj/item/ammo_box/a12g/slug - name = "ammo box (12g slug)" - desc = "A box of 12-gauge slugs, for improved accuracy and penetration." - icon_state = "12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun - -/obj/item/ammo_box/a12g/beanbag - name = "ammo box (12g beanbag)" - desc = "A box of 12-gauge beanbag shells, for incapacitating targets." - icon_state = "12gbox-beanbag" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag - -/obj/item/ammo_box/a12g/rubbershot - name = "ammo box (12g rubbershot)" - desc = "A box of 12-gauge rubbershot shells, designed for riot control." - icon_state = "12gbox-rubbershot" - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - +/obj/item/storage/box/ammo/a44roum + name = "box of .44 roumain ammo" + desc = "A box of standard .44 roumain ammo." + icon_state = "a44roum" +/obj/item/storage/box/ammo/a44roum/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/a44roum = 4) + generate_items_inside(items_inside,src) -/obj/item/ammo_box/c45 - name = "ammo box (.45)" - desc = "A box of standard .45 ammo." - icon_state = "45box" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 50 +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber + ammo_type = /obj/item/ammo_casing/a44roum/rubber -/obj/item/ammo_box/c45/surplus - name = "ammo box (.45 surplus)" - desc = "A box of low-quality .45 ammo." - icon_state = "45box-surplus" - ammo_type = /obj/item/ammo_casing/c45/surplus +/obj/item/storage/box/ammo/a44roum_rubber + name = "box of rubber .44 roumain ammo" + desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-rubber" -/obj/item/ammo_box/c45/rubbershot - name = "ammo box (.45 rubbershot)" - desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "45box-rubbershot" - ammo_type = /obj/item/ammo_casing/c45/rubber +/obj/item/storage/box/ammo/a44roum_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/a44roum/rubber = 4) + generate_items_inside(items_inside,src) -/obj/item/ammo_box/c45/ap - name = "ammo box (.45 armor-piercing)" - desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "45box-ap" - ammo_type = /obj/item/ammo_casing/c45/ap +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp + ammo_type = /obj/item/ammo_casing/a44roum/hp -/obj/item/ammo_box/c45/hp - name = "ammo box (.45 hollow point)" - desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "45box-hp" - ammo_type = /obj/item/ammo_casing/c45/hp +/obj/item/storage/box/ammo/a44roum_hp + name = "box of HP .44 roumain ammo" + desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-rubber" -/obj/item/ammo_box/c45/fire - name = "ammo box (.45 incendiary)" - desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "45box-incendiary" - ammo_type = /obj/item/ammo_casing/c45/inc +/obj/item/storage/box/ammo/a44roum_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/a44roum/hp = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm index 128cd0213610..7e0d24b9eca0 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm @@ -3,9 +3,31 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r ammo_type = /obj/item/ammo_casing/a8_50r +/obj/item/storage/box/ammo/a8_50r + name = "box of 8x50mm ammo" + desc = "A box of standard 8x50mm ammo." + icon_state = "8x50mmbox" + +/obj/item/storage/box/ammo/a8_50r/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp ammo_type = /obj/item/ammo_casing/a8_50rhp +/obj/item/storage/box/ammo/a8_50r_hp + name = "box of HP 8x50mm ammo" + desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." + icon_state = "8x50mmbox-hp" + +/obj/item/storage/box/ammo/a8_50r_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp = 4) + generate_items_inside(items_inside,src) + // 8x58mm Caseless (SSG-669C) /obj/item/ammo_box/magazine/ammo_stack/prefilled/a858 @@ -16,6 +38,17 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 ammo_type = /obj/item/ammo_casing/a300 +/obj/item/storage/box/ammo/a300 + name = "box of .300 magnum ammo" + desc = "A box of standard .300 Magnum ammo." + icon_state = "300box" + +/obj/item/storage/box/ammo/a300/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 = 4) + generate_items_inside(items_inside,src) + // 5.56x39mm (M-90gl Carbine & P-16) /obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_39 @@ -34,6 +67,20 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 ammo_type = /obj/item/ammo_casing/a762_40 +/obj/item/storage/box/ammo/a762_40 + name = "box of 7.62x40mm CLIP ammo" + desc = "A box of standard 7.62x40mm CLIP ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/inteq + icon_state = "a762_40box_big_inteq" + +/obj/item/storage/box/ammo/a762_40/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 = 4) + generate_items_inside(items_inside,src) + // .300 Blackout (Polymer Survivor Rifle) /obj/item/ammo_box/magazine/ammo_stack/prefilled/aac_300blk @@ -47,5 +94,16 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 ammo_type = /obj/item/ammo_casing/a308 -/obj/item/ammo_box/magazine/ammo_stack/prefilled/caseless/c299 - ammo_type = /obj/item/ammo_casing/caseless/c299 +/obj/item/storage/box/ammo/a308 + name = "box of .308 ammo" + desc = "A box of standard .308 ammo." + icon_state = "a308box" + +/obj/item/storage/box/ammo/a308/hunterspride + icon_state = "a308box-HP" + +/obj/item/storage/box/ammo/a308/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm new file mode 100644 index 000000000000..bf201a2f2656 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm @@ -0,0 +1,65 @@ +// Shotshells +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun + max_ammo = 8 //make sure these values are consistent across the board with stack_size variable. + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + +/obj/item/storage/box/ammo/a12g_buckshot + name = "box of 12ga buckshot" + desc = "A box of 12-gauge buckshot shells, devastating at close range." + icon_state = "12gbox-buckshot" + +/obj/item/storage/box/ammo/a12g_buckshot/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug + ammo_type = /obj/item/ammo_casing/shotgun + +/obj/item/storage/box/ammo/a12g_slug + name = "box of 12ga slugs" + desc = "A box of 12-gauge slugs, for improved accuracy and penetration." + icon_state = "12gbox-slug" + +/obj/item/storage/box/ammo/a12g_slug/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +/obj/item/storage/box/ammo/a12g_beanbag + name = "box of 12ga beanbags" + desc = "A box of 12-gauge beanbag shells, for incapacitating targets." + icon_state = "12gbox-beanbag" + +/obj/item/storage/box/ammo/a12g_beanbag/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber + ammo_type = /obj/item/ammo_casing/shotgun/rubbershot + +/obj/item/storage/box/ammo/a12g_rubbershot + name = "box of 12ga beanbags" + desc = "A box of 12-gauge rubbershot shells, designed for riot control." + icon_state = "12gbox-rubbershot" + +/obj/item/storage/box/ammo/a12g_beanbag/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/incendiary + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/improvised + ammo_type = /obj/item/ammo_casing/shotgun/improvised diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm index 9bf8a48bff52..5a6c99d8297c 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm @@ -2,6 +2,17 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm ammo_type = /obj/item/ammo_casing/c46x30mm +/obj/item/storage/box/ammo/c46x30mm + name = "box of 4.6x30mm ammo" + desc = "A box of standard 4.6x30mm ammo." + icon_state = "46x30mmbox" + +/obj/item/storage/box/ammo/c46x30mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/ap ammo_type = /obj/item/ammo_casing/c46x30mm/ap @@ -16,14 +27,69 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm ammo_type = /obj/item/ammo_casing/caseless/c556mm +/obj/item/storage/box/ammo/c556mm + name = "box of 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." + icon_state = "556mmHITPbox" + +/obj/item/storage/box/ammo/c556mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus +/obj/item/storage/box/ammo/c556mm_surplus + name = "box of surplus 5.56mm HITP caseless ammo" + desc = "A box of low-quality 5.56mm HITP caseless ammo." + icon_state = "556mmHITPbox-surplus" + +/obj/item/storage/box/ammo/c556mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap +/obj/item/storage/box/ammo/c556mm_ap + name = "box of AP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "556mmHITPbox-ap" + +/obj/item/storage/box/ammo/c556mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp +/obj/item/storage/box/ammo/c556mm_hp + name = "box of HP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "556mmHITPbox-hp" + +/obj/item/storage/box/ammo/c556mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp = 4) + generate_items_inside(items_inside,src) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot + +/obj/item/storage/box/ammo/c556mm_rubber + name = "box of rubber 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "556mmHITPbox-rubbershot" + +/obj/item/storage/box/ammo/c556mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_stacks_misc.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_stacks_misc.dm new file mode 100644 index 000000000000..e0cd61a885b6 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_stacks_misc.dm @@ -0,0 +1,26 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts + ammo_type = /obj/item/ammo_casing/c10mm/foam_dart + +/obj/item/storage/box/ammo/foam_darts + name = "box of foam darts" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + +/obj/item/storage/box/ammo/foam_darts/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot + ammo_type = /obj/item/ammo_casing/c10mm/foam_dart/riot + +/obj/item/storage/box/ammo/foam_darts/riot + name = "box of foam darts" + icon_state = "foambox_riot" + +/obj/item/storage/box/ammo/foam_darts/riot/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/shotshell_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/shotshell_stacks.dm deleted file mode 100644 index 2b4d0e6538a2..000000000000 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/shotshell_stacks.dm +++ /dev/null @@ -1,18 +0,0 @@ -// Shotshells -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun - max_ammo = 8 //make sure these values are consistent across the board with stack_size variable. - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag - ammo_type = /obj/item/ammo_casing/shotgun/beanbag - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/incendiary - ammo_type = /obj/item/ammo_casing/shotgun/incendiary - -/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/improvised - ammo_type = /obj/item/ammo_casing/shotgun/improvised diff --git a/icons/obj/ammunition/ammo_shotshells.dmi b/icons/obj/ammunition/ammo_shotshells.dmi deleted file mode 100644 index 55b00cdd0b21797c4f752dd63dc42530a6d6b336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3149 zcmbuCc{J4BAIHCgm`9d)vSewjsYD`8B{M|XvR1@|r+PfLGO}fx8A~d=q`_oMvKwWa zvdoA|8=^6T$&iRJwlOhdX8fk-`RjL1zuzCf-yiqB&-vWt+;cwn_5R$O?Brl2DXt_A z0Dz>8wWW(dJAXE?sGxWGd{qnpK;YQ`D7x zwGon~NqWj;@o@8cr}VGtEpx*I!}@cK-+nW>x!TA~D=M;jghaAvE4(nu?aX_vPyZ|~ zMGqa!bgX8twmf?pNw0bRbm?M#>cz_C$j^DBUX6A>kCf)MGwTWiU`f$M{g_U%#oHm? zFGDL;MdD%IJ0gcA5xUxAzTP+QK{2$Pb^(TXN58I8R9#~f~#d-oB2MJsJ&5Y z_DI{kZ%+EA!<#yz_(?gP0h^@OosBZ(lazr8$t(3VhPj0Og%q&xXtaI-R@mT5iIG{p zxUQiwIcwLWj|36zfKvUai49~KffETk1KEVWw0Iux(G?O40NVi@OY?J)1&p!4VEJh| zvE{@ZnFRThGWOzF6Z_xxc$75R;u5mV5_V)sA%#sc1*@={CMP!!hjPt2(RJECjKoejC}rK&7P~I_Kt*A1$fEaMq>baSF)q2e+yz> zbYOAqv(s)83vAGaf!fXu3>|RUm>B7@OYRGV6WQ*#6F#@x%OZQ=eEiOtX0cwFbw@VL zAXNkwv9v)GH>!j890yp}6dqCVb;+9zHvDY)d`?V6P^L$lD={Gd7{4naN`uu;UeEAo z`#~R^|FFUw&2)kbFW4z+b!;!C2b|b1kZ6+p(x%Z#RRAFE0G#x)fJkIwnKgBtF6v*m z)FCN;1vO7CNrS|(<@VaGGtJfO`lUO$;yKd?(Po|~H1N%> zTaE+{?hW!tVDwzLhll6T%NM?QR{5QlO@B5(4cE$H-DpA;(&rvH)=SOWNE>ran^-0z zeA}sq6_DgenwS*iQCIkb0{ZO|*qoU2c(jNj^g38?e~~}s%4uyHI?b4D#Z#L@WET27 zj$Lve;In48Q8wc^l?PqNIr3mN`H2~zL`ev!R{!4x$2$1RH~0K$n0@P~t2glVk3H>- zEJh%7*TCziwR|iKMqnXpLa*wpW&IrqQ+zQ^7p7*JgsQcb!(r#{@xFnS`_k`QW*Yxg zjSFRpj}nm2Q~+u_eR-k#?(@ER-)TNU@2FU(F%gLTlG~}X@vMr-?C2Ix{#Yz&wZ*!?g#X0q-~cH^5B1A$VA?h8~;l?EE71e zU=9uk)Q*E?kAk@p6H4&Si~gGd>cGT%kHxKdF%D)mLG}2i8X{5|(1$;Rgu3vJi-u|517K_Ba2fG6~!xNJX z_A+_H$%6o_y0G?j?1uS8C)Oc2Fo(#8mFbu|8@#JE;X4^#{U^p|zej#dQpFh4D)7kb zh!dSZ7oO|x2mPAIUqbrp;5bt__)7IuWAj6XG;+RhHAbWA_vm~^>zvWy+9~ado_-dz z(Ba`w=+>EI@8J=2Y}pi1LBqW`&4||4)_!vOLAgmWq-$POeNaBhk)L_GJcXd0lTB=Z zunIno9gy9a!u-YDwVx9XkDf&=KKKMvax?oHqm_TEE8&@Oe5_PZ{DHzc7^FEOy`HN| z#q)@DumFa~`AJO%E!lLjnXfVqnmu4(BC);NG$L;rMao^%zw_3QZ9^W#E&JST%iW=jaY05ibBb!1;UO|6dAK`_5m3;E0igv#cb z!UiNEpKh16p&7A1(A(Y-Ek0Se3%JUQ=0xqE`(!=h9Wt)S@~9-unJJww&@Dwl9gOO= znuj2+(YTax6}!}2?X!b-ZhfQ>f-;nKd0(8zr5tk@*X+*ZsGdX3%c!|>x@nX7HiH!o z(7<$-PVbwCJy3Wc#UkjrdK0Uz7uZZA(!$@M1J}MP`G0wA`Q1~-DC(WWchBW*peN+@AI~bA zcfNHtkXHk+gGI`Il-_x<6mqWL?MQ7Gf|>b>9DoLIpETF1Wra$oSF|r$-tTTpCg;NV zr?$OX8@@*}Ouea=F;49Vl|d|>AuJw6;H~1@zvUBv=^AYE#ds$OE3s0*VVDX>3olfe z$uTFdn+h#^tcw5iK|>)f5)(oFdr~G_Kn+*rKUcF~gYxfn&l?p#_@K{9)Rj?|4lj@! zk`G=^yhwNv^xO7xK`P9Tqysy?f(RYGVl7QVDgabn^ zN_2VmNjA)BPGmyHX;OaKRulhn?}@`E{o!vr*-9YXk)1dMuw*-ngPLZYiwUlhDbak3 z=)5p7KLa$%*Ba=&$ZOV37%i@uw9nb&ORh;9^XtapH zfV5ooO3tETFMWAW)+?+~BY(T%d1?kc8MP< zO6&SCxN&T?&)LJ2^wJ+yuU$&rEvo=Bp%BcdCoz#h=`#cY)HI{e*>9l4UX53QVj-WV zOkVy_U#J!Cy!O3y9h2a-U~~_rlCL}kLoISXD;H5^QT}vfP?|>@)}_D~&s{mYC|d>5 zjb(}YgiaFeX_ZIrpq^?BsYYK~^|Q6MR#Q4rAcbD}`JySuT}$RX?OI2a=qY$fUWUis z_3I@p4y$|6A`7r?Bx_}9x0)KkPU%4Gs$C}Ff=`w)dxEZAmW!*ZD6aUb