From 36544bc7daf51665d676e9d93e0246975ed1fca2 Mon Sep 17 00:00:00 2001 From: Spades Date: Sat, 27 May 2017 16:23:39 -0400 Subject: [PATCH] Documentation, proper file naming, and more consistency --- .../ammunition/{boxes.dm => magazines.dm} | 995 +++++++++--------- .../ammunition/{bullets.dm => rounds.dm} | 610 ++++++----- .../projectiles/guns/projectile/automatic.dm | 2 +- .../projectiles/guns/projectile/revolver.dm | 4 +- .../projectiles/guns/projectile/shotgun.dm | 4 +- polaris.dme | 4 +- 6 files changed, 836 insertions(+), 783 deletions(-) rename code/modules/projectiles/ammunition/{boxes.dm => magazines.dm} (90%) rename code/modules/projectiles/ammunition/{bullets.dm => rounds.dm} (85%) diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/magazines.dm similarity index 90% rename from code/modules/projectiles/ammunition/boxes.dm rename to code/modules/projectiles/ammunition/magazines.dm index 46c94ed1e66..92512b0dd11 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -1,487 +1,510 @@ -///////// .357 ///////// - -/obj/item/ammo_magazine/s357 - name = "speedloader (.357)" - desc = "A speedloader for .357 revolvers." - icon_state = "38" - caliber = "357" - ammo_type = /obj/item/ammo_casing/a357 - matter = list(DEFAULT_WALL_MATERIAL = 1260) - max_ammo = 6 - multiple_sprites = 1 - -///////// .38 ///////// - -/obj/item/ammo_magazine/s38 - name = "speedloader (.38)" - desc = "A speedloader for .38 revolvers." - icon_state = "38" - caliber = "38" - matter = list(DEFAULT_WALL_MATERIAL = 360) - ammo_type = /obj/item/ammo_casing/a38 - max_ammo = 6 - multiple_sprites = 1 - -/obj/item/ammo_magazine/s38/rubber - name = "speedloader (.38 rubber)" - ammo_type = /obj/item/ammo_casing/a38r - -/obj/item/ammo_magazine/s38/emp - name = "ammunition box (.38 haywire)" - ammo_type = /obj/item/ammo_casing/a38/emp - -///////// .45 ///////// - -/obj/item/ammo_magazine/m45 - name = "pistol magazine (.45)" - icon_state = "45" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal - caliber = ".45" - max_ammo = 7 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m45/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45/rubber - name = "magazine (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a45r - -/obj/item/ammo_magazine/m45/practice - name = "magazine (.45 practice)" - ammo_type = /obj/item/ammo_casing/a45p - -/obj/item/ammo_magazine/m45/flash - name = "magazine (.45 flash)" - ammo_type = /obj/item/ammo_casing/a45f - -/obj/item/ammo_magazine/m45/ap - name = "magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/box/emp/b45 - name = "ammunition box (.45 haywire)" - ammo_type = /obj/item/ammo_casing/a45/emp - -/obj/item/ammo_magazine/m45uzi - name = "stick magazine (.45)" - icon_state = "uzi45" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1200) - caliber = ".45" - max_ammo = 16 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m45uzi/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45tommy - name = "tommygun magazine (.45)" - icon_state = "tommy-mag" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1500) - caliber = ".45" - max_ammo = 20 - -/obj/item/ammo_magazine/m45tommy/ap - name = "tommygun magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/m45tommy/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m45tommydrum - name = "tommygun drum magazine (.45)" - icon_state = "tommy-drum" - w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 3750) - caliber = ".45" - max_ammo = 50 - -/obj/item/ammo_magazine/m45tommydrum/ap - name = "tommygun drum magazine (.45 AP)" - ammo_type = /obj/item/ammo_casing/a45ap - -/obj/item/ammo_magazine/m45tommydrum/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c45 - name = "ammo clip (.45)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading .45 rounds into magazines." - caliber = ".45" - ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c45/rubber - name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a45r - -/obj/item/ammo_magazine/clip/c45/practice - name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/a45p - -/obj/item/ammo_magazine/clip/c45/flash - name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/a45f - -///////// 9mm ///////// - -/obj/item/ammo_magazine/m9mm - name = "magazine (9mm)" - icon_state = "9x19p" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 480) - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - max_ammo = 8 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mm/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m9mm/flash - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/m9mm/rubber - name = "magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/m9mm/practice - name = "magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/m9mmt - name = "top mounted magazine (9mm)" - icon_state = "9mmt" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 1200) - caliber = "9mm" - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mmt/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m9mmt/rubber - name = "top mounted magazine (9mm rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/m9mmt/flash - name = "top mounted magazine (9mm flash)" - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/m9mmt/practice - name = "top mounted magazine (9mm practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/m9mmp90 - name = "high capacity top mounted magazine (9mm armor-piercing)" - icon_state = "p90" - mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/a9mm/ap - matter = list(DEFAULT_WALL_MATERIAL = 3000) - caliber = "9mm" - max_ammo = 50 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m9mmp90/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c9mm - name = "ammo clip (9mm)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading 9mm rounds into magazines." - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c9mm/rubber - name = "ammo clip (.45 rubber)" - ammo_type = /obj/item/ammo_casing/a9mmr - -/obj/item/ammo_magazine/clip/c9mm/practice - name = "ammo clip (.45 practice)" - ammo_type = /obj/item/ammo_casing/a9mmp - -/obj/item/ammo_magazine/clip/c9mm/flash - name = "ammo clip (.45 flash)" - ammo_type = /obj/item/ammo_casing/a9mmf - -/obj/item/ammo_magazine/box/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? - name = "ammunition Box (9mm)" - icon_state = "9mm" - origin_tech = list(TECH_COMBAT = 2) - matter = list(DEFAULT_WALL_MATERIAL = 1800) - caliber = "9mm" - ammo_type = /obj/item/ammo_casing/a9mm - max_ammo = 30 - -/obj/item/ammo_magazine/box/c9mm/empty - initial_ammo = 0 - -///////// 10mm ///////// - -/obj/item/ammo_magazine/m10mm - name = "magazine (10mm)" - icon_state = "10mm" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "10mm" - matter = list(DEFAULT_WALL_MATERIAL = 1500) - ammo_type = /obj/item/ammo_casing/a10mm - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m10mm/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c10mm - name = "ammo clip (10mm)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading 5mm rounds into magazines." - caliber = "10mm" - ammo_type = /obj/item/ammo_casing/a10mm - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal - max_ammo = 9 - multiple_sprites = 1 - -/obj/item/ammo_magazine/box/emp/b10 - name = "ammunition box (10mm haywire)" - ammo_type = /obj/item/ammo_casing/a10mm/emp - -///////// 5.56mm ///////// - -/obj/item/ammo_magazine/m556 - name = "magazine (5.56mm)" - icon_state = "m556" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "a556" - matter = list(DEFAULT_WALL_MATERIAL = 1800) - ammo_type = /obj/item/ammo_casing/a556 - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m556/ext - name = "extended magazine (5.56mm)" - matter = list(DEFAULT_WALL_MATERIAL = 2700) - max_ammo = 30 - -/obj/item/ammo_magazine/m556/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/ext/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/practice - name = "magazine (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556p - -/obj/item/ammo_magazine/m556/practice/ext - name = "extended magazine (5.56mm practice)" - max_ammo = 30 - -/obj/item/ammo_magazine/m556/ap - name = "magazine (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/m556/ap/ext - name = "extended magazine (5.56mm armor-piercing)" - max_ammo = 30 - -/obj/item/ammo_magazine/m556/small - icon_state = "m556-small" - matter = list(DEFAULT_WALL_MATERIAL = 900) - max_ammo = 10 - -/obj/item/ammo_magazine/m556/small/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m556/small/practice - name = "magazine (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556p - -/obj/item/ammo_magazine/m556/small/ap - name = "magazine (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/clip/c556 - name = "ammo clip (5.56mm)" - icon_state = "clip_rifle" - caliber = "a556" - ammo_type = /obj/item/ammo_casing/a556 - matter = list(DEFAULT_WALL_MATERIAL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal - max_ammo = 5 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c556/ap - name = "rifle clip (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/clip/c556/practice - name = "rifle clip (5.56mm practice)" - ammo_type = /obj/item/ammo_casing/a556 - -/obj/item/ammo_magazine/m556saw - name = "magazine box (5.56mm)" - icon_state = "a556" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = "a556" - matter = list(DEFAULT_WALL_MATERIAL = 10000) - ammo_type = /obj/item/ammo_casing/a556 - w_class = ITEMSIZE_NORMAL // This should NOT fit in your pocket!! - max_ammo = 50 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m556saw/ap - name = "magazine box (5.56mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a556/ap - -/obj/item/ammo_magazine/m556saw/empty - initial_ammo = 0 - -///////// .50 AE ///////// - -/obj/item/ammo_magazine/m50 - name = "magazine (.50 AE)" - icon_state = "50ae" - origin_tech = list(TECH_COMBAT = 2) - mag_type = MAGAZINE - caliber = ".50" - matter = list(DEFAULT_WALL_MATERIAL = 1260) - ammo_type = /obj/item/ammo_casing/a50 - max_ammo = 7 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m50/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c50 - name = "ammo clip (.50 AE)" - icon_state = "clip_pistol" - desc = "A stripper clip for reloading .50 Action Express rounds into magazines." - caliber = ".50" - ammo_type = /obj/item/ammo_casing/a50 - matter = list(DEFAULT_WALL_MATERIAL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal - max_ammo = 9 - multiple_sprites = 1 - -///////// 7.62mm ///////// - -/obj/item/ammo_magazine/m762 - name = "magazine (7.62mm)" - icon_state = "m762-small" - mag_type = MAGAZINE - caliber = "a762" - matter = list(DEFAULT_WALL_MATERIAL = 2000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 10 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m762/ap - name = "magazine (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/m762/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m762m // Intentionally not a subtype of m762 because it's supposed to be incompatible with the Z8 Bulldog rifle. - name = "magazine (7.62mm)" - icon_state = "m762" - mag_type = MAGAZINE - caliber = "a762" - matter = list(DEFAULT_WALL_MATERIAL = 4000) - ammo_type = /obj/item/ammo_casing/a762 - max_ammo = 20 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m762m/ap - name = "magazine (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/m762m/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/clip/c762 - name = "ammo clip (7.62mm)" - icon_state = "clip_rifle" - caliber = "a762" - ammo_type = /obj/item/ammo_casing/a762 - matter = list(DEFAULT_WALL_MATERIAL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal - max_ammo = 5 - multiple_sprites = 1 - -/obj/item/ammo_magazine/clip/c762/ap - name = "rifle clip (7.62mm armor-piercing)" - ammo_type = /obj/item/ammo_casing/a762/ap - -/obj/item/ammo_magazine/clip/c762/practice - name = "rifle clip (7.62mm practice)" - ammo_type = /obj/item/ammo_casing/a762p - -///////// 12g ///////// - -/obj/item/ammo_magazine/m12gdrum - name = "magazine (12 gauge)" - icon_state = "12g" - mag_type = MAGAZINE - caliber = "shotgun" - matter = list(DEFAULT_WALL_MATERIAL = 2200) - ammo_type = /obj/item/ammo_casing/a12g - max_ammo = 24 - multiple_sprites = 1 - -/obj/item/ammo_magazine/m12gdrum/beanbag - name = "magazine (12 gauge beanbag)" - ammo_type = /obj/item/ammo_casing/a12g/beanbag - -/obj/item/ammo_magazine/m12gdrum/pellet - name = "magazine (12 gauge pellet)" - ammo_type = /obj/item/ammo_casing/a12g/pellet - -/obj/item/ammo_magazine/m12gdrum/flash - name = "magazine (12 gauge flash)" - ammo_type = /obj/item/ammo_casing/a12g/flash - -/obj/item/ammo_magazine/m12gdrum/empty - initial_ammo = 0 - -///////// .75 Gyrojet ///////// - -/obj/item/ammo_magazine/m75 - name = "ammo magazine (.75 Gyrojet)" - icon_state = "75" - mag_type = MAGAZINE - caliber = "75" - ammo_type = /obj/item/ammo_casing/a75 - multiple_sprites = 1 - max_ammo = 4 - -/obj/item/ammo_magazine/m75/empty - initial_ammo = 0 - -///////// Misc. ///////// - -/obj/item/ammo_magazine/caps - name = "speedloader (caps)" - icon_state = "T38" - caliber = "caps" - color = "#FF0000" - ammo_type = /obj/item/ammo_casing/cap - matter = list(DEFAULT_WALL_MATERIAL = 600) - max_ammo = 7 +/************************************************************************/ +/* +# An explaination of the naming format for guns and ammo: +# +# a = Ammo, as in individual rounds of ammunition. +# b = Box, intended to have ammo taken out one at a time by hand. +# c = Clips, intended to reload magazines or guns quickly. +# m = Magazine, intended to hold rounds of ammo. +# s = Speedloaders, intended to reload guns quickly. +# +# Use this format, followed by the caliber. For example, a shotgun's caliber +# variable is "12g" as a result. Ergo, a shotgun round's path would have "a12g", +# or a magazine with shotgun shells would be "m12g" instead. To avoid confusion +# for developers and in-game admins spawning these items, stick to this format. +# Likewise, when creating new rounds, the caliber variable should match whatever +# the name says. +# +# This comment is copied in magazines.dm as well. +*/ +/************************************************************************/ + + + +///////// .357 ///////// + +/obj/item/ammo_magazine/s357 + name = "speedloader (.357)" + desc = "A speedloader for .357 revolvers." + icon_state = "38" + caliber = "357" + ammo_type = /obj/item/ammo_casing/a357 + matter = list(DEFAULT_WALL_MATERIAL = 1260) + max_ammo = 6 + multiple_sprites = 1 + +///////// .38 ///////// + +/obj/item/ammo_magazine/s38 + name = "speedloader (.38)" + desc = "A speedloader for .38 revolvers." + icon_state = "38" + caliber = ".38" + matter = list(DEFAULT_WALL_MATERIAL = 360) + ammo_type = /obj/item/ammo_casing/a38 + max_ammo = 6 + multiple_sprites = 1 + +/obj/item/ammo_magazine/s38/rubber + name = "speedloader (.38 rubber)" + ammo_type = /obj/item/ammo_casing/a38r + +/obj/item/ammo_magazine/s38/emp + name = "speedloader (.38 haywire)" + ammo_type = /obj/item/ammo_casing/a38/emp + +///////// .45 ///////// + +/obj/item/ammo_magazine/m45 + name = "pistol magazine (.45)" + icon_state = "45" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + caliber = ".45" + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m45/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45/rubber + name = "magazine (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a45r + +/obj/item/ammo_magazine/m45/practice + name = "magazine (.45 practice)" + ammo_type = /obj/item/ammo_casing/a45p + +/obj/item/ammo_magazine/m45/flash + name = "magazine (.45 flash)" + ammo_type = /obj/item/ammo_casing/a45f + +/obj/item/ammo_magazine/m45/ap + name = "magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/box/emp/b45 + name = "ammunition box (.45 haywire)" + ammo_type = /obj/item/ammo_casing/a45/emp + +/obj/item/ammo_magazine/m45uzi + name = "stick magazine (.45)" + icon_state = "uzi45" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 1200) + caliber = ".45" + max_ammo = 16 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m45uzi/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45tommy + name = "tommygun magazine (.45)" + icon_state = "tommy-mag" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 1500) + caliber = ".45" + max_ammo = 20 + +/obj/item/ammo_magazine/m45tommy/ap + name = "tommygun magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/m45tommy/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m45tommydrum + name = "tommygun drum magazine (.45)" + icon_state = "tommy-drum" + w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 3750) + caliber = ".45" + max_ammo = 50 + +/obj/item/ammo_magazine/m45tommydrum/ap + name = "tommygun drum magazine (.45 AP)" + ammo_type = /obj/item/ammo_casing/a45ap + +/obj/item/ammo_magazine/m45tommydrum/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c45 + name = "ammo clip (.45)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading .45 rounds into magazines." + caliber = ".45" + ammo_type = /obj/item/ammo_casing/a45 + matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c45/rubber + name = "ammo clip (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a45r + +/obj/item/ammo_magazine/clip/c45/practice + name = "ammo clip (.45 practice)" + ammo_type = /obj/item/ammo_casing/a45p + +/obj/item/ammo_magazine/clip/c45/flash + name = "ammo clip (.45 flash)" + ammo_type = /obj/item/ammo_casing/a45f + +///////// 9mm ///////// + +/obj/item/ammo_magazine/m9mm + name = "magazine (9mm)" + icon_state = "9x19p" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + matter = list(DEFAULT_WALL_MATERIAL = 480) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + max_ammo = 8 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m9mm/flash + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/m9mm/rubber + name = "magazine (9mm rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/m9mm/practice + name = "magazine (9mm practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/m9mmt + name = "top mounted magazine (9mm)" + icon_state = "9mmt" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a9mm + matter = list(DEFAULT_WALL_MATERIAL = 1200) + caliber = "9mm" + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mmt/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m9mmt/rubber + name = "top mounted magazine (9mm rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/m9mmt/flash + name = "top mounted magazine (9mm flash)" + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/m9mmt/practice + name = "top mounted magazine (9mm practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/m9mmp90 + name = "high capacity top mounted magazine (9mm armor-piercing)" + icon_state = "p90" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/a9mm/ap + matter = list(DEFAULT_WALL_MATERIAL = 3000) + caliber = "9mm" + max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m9mmp90/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c9mm + name = "ammo clip (9mm)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading 9mm rounds into magazines." + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c9mm/rubber + name = "ammo clip (.45 rubber)" + ammo_type = /obj/item/ammo_casing/a9mmr + +/obj/item/ammo_magazine/clip/c9mm/practice + name = "ammo clip (.45 practice)" + ammo_type = /obj/item/ammo_casing/a9mmp + +/obj/item/ammo_magazine/clip/c9mm/flash + name = "ammo clip (.45 flash)" + ammo_type = /obj/item/ammo_casing/a9mmf + +/obj/item/ammo_magazine/box/c9mm // Made by RnD for Prototype SMG and should probably be removed because why does it require DIAMONDS to make bullets? + name = "ammunition Box (9mm)" + icon_state = "9mm" + origin_tech = list(TECH_COMBAT = 2) + matter = list(DEFAULT_WALL_MATERIAL = 1800) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/a9mm + max_ammo = 30 + +/obj/item/ammo_magazine/box/c9mm/empty + initial_ammo = 0 + +///////// 10mm ///////// + +/obj/item/ammo_magazine/m10mm + name = "magazine (10mm)" + icon_state = "10mm" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "10mm" + matter = list(DEFAULT_WALL_MATERIAL = 1500) + ammo_type = /obj/item/ammo_casing/a10mm + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m10mm/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c10mm + name = "ammo clip (10mm)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading 5mm rounds into magazines." + caliber = "10mm" + ammo_type = /obj/item/ammo_casing/a10mm + matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal + max_ammo = 9 + multiple_sprites = 1 + +/obj/item/ammo_magazine/box/emp/b10 + name = "ammunition box (10mm haywire)" + ammo_type = /obj/item/ammo_casing/a10mm/emp + +///////// 5.56mm ///////// + +/obj/item/ammo_magazine/m556 + name = "magazine (5.56mm)" + icon_state = "m556" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "5.56mm" + matter = list(DEFAULT_WALL_MATERIAL = 1800) + ammo_type = /obj/item/ammo_casing/a556 + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m556/ext + name = "extended magazine (5.56mm)" + matter = list(DEFAULT_WALL_MATERIAL = 2700) + max_ammo = 30 + +/obj/item/ammo_magazine/m556/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/ext/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/practice + name = "magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556p + +/obj/item/ammo_magazine/m556/practice/ext + name = "extended magazine (5.56mm practice)" + max_ammo = 30 + +/obj/item/ammo_magazine/m556/ap + name = "magazine (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/m556/ap/ext + name = "extended magazine (5.56mm armor-piercing)" + max_ammo = 30 + +/obj/item/ammo_magazine/m556/small + icon_state = "m556-small" + matter = list(DEFAULT_WALL_MATERIAL = 900) + max_ammo = 10 + +/obj/item/ammo_magazine/m556/small/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m556/small/practice + name = "magazine (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556p + +/obj/item/ammo_magazine/m556/small/ap + name = "magazine (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/clip/c556 + name = "ammo clip (5.56mm)" + icon_state = "clip_rifle" + caliber = "5.56mm" + ammo_type = /obj/item/ammo_casing/a556 + matter = list(DEFAULT_WALL_MATERIAL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal + max_ammo = 5 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c556/ap + name = "rifle clip (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/clip/c556/practice + name = "rifle clip (5.56mm practice)" + ammo_type = /obj/item/ammo_casing/a556 + +/obj/item/ammo_magazine/m556saw + name = "magazine box (5.56mm)" + icon_state = "a556" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = "5.56mm" + matter = list(DEFAULT_WALL_MATERIAL = 10000) + ammo_type = /obj/item/ammo_casing/a556 + w_class = ITEMSIZE_NORMAL // This should NOT fit in your pocket!! + max_ammo = 50 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m556saw/ap + name = "magazine box (5.56mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a556/ap + +/obj/item/ammo_magazine/m556saw/empty + initial_ammo = 0 + +///////// .50 AE ///////// + +/obj/item/ammo_magazine/m50 + name = "magazine (.50 AE)" + icon_state = "50ae" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + caliber = ".50AE" + matter = list(DEFAULT_WALL_MATERIAL = 1260) + ammo_type = /obj/item/ammo_casing/a50ae + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m50/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c50 + name = "ammo clip (.50 AE)" + icon_state = "clip_pistol" + desc = "A stripper clip for reloading .50 Action Express rounds into magazines." + caliber = ".50AE" + ammo_type = /obj/item/ammo_casing/a50ae + matter = list(DEFAULT_WALL_MATERIAL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal + max_ammo = 9 + multiple_sprites = 1 + +///////// 7.62mm ///////// + +/obj/item/ammo_magazine/m762 + name = "magazine (7.62mm)" + icon_state = "m762-small" + mag_type = MAGAZINE + caliber = "7.62mm" + matter = list(DEFAULT_WALL_MATERIAL = 2000) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 10 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m762/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/m762/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m762m // Intentionally not a subtype of m762 because it's supposed to be incompatible with the Z8 Bulldog rifle. + name = "magazine (7.62mm)" + icon_state = "m762" + mag_type = MAGAZINE + caliber = "7.62mm" + matter = list(DEFAULT_WALL_MATERIAL = 4000) + ammo_type = /obj/item/ammo_casing/a762 + max_ammo = 20 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m762m/ap + name = "magazine (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/m762m/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/clip/c762 + name = "ammo clip (7.62mm)" + icon_state = "clip_rifle" + caliber = "7.62mm" + ammo_type = /obj/item/ammo_casing/a762 + matter = list(DEFAULT_WALL_MATERIAL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal + max_ammo = 5 + multiple_sprites = 1 + +/obj/item/ammo_magazine/clip/c762/ap + name = "rifle clip (7.62mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a762/ap + +/obj/item/ammo_magazine/clip/c762/practice + name = "rifle clip (7.62mm practice)" + ammo_type = /obj/item/ammo_casing/a762p + +///////// 12g ///////// + +/obj/item/ammo_magazine/m12gdrum + name = "magazine (12 gauge)" + icon_state = "12g" + mag_type = MAGAZINE + caliber = "12g" + matter = list(DEFAULT_WALL_MATERIAL = 2200) + ammo_type = /obj/item/ammo_casing/a12g + max_ammo = 24 + multiple_sprites = 1 + +/obj/item/ammo_magazine/m12gdrum/beanbag + name = "magazine (12 gauge beanbag)" + ammo_type = /obj/item/ammo_casing/a12g/beanbag + +/obj/item/ammo_magazine/m12gdrum/pellet + name = "magazine (12 gauge pellet)" + ammo_type = /obj/item/ammo_casing/a12g/pellet + +/obj/item/ammo_magazine/m12gdrum/flash + name = "magazine (12 gauge flash)" + ammo_type = /obj/item/ammo_casing/a12g/flash + +/obj/item/ammo_magazine/m12gdrum/empty + initial_ammo = 0 + +///////// .75 Gyrojet ///////// + +/obj/item/ammo_magazine/m75 + name = "ammo magazine (.75 Gyrojet)" + icon_state = "75" + mag_type = MAGAZINE + caliber = ".75" + ammo_type = /obj/item/ammo_casing/a75 + multiple_sprites = 1 + max_ammo = 4 + +/obj/item/ammo_magazine/m75/empty + initial_ammo = 0 + +///////// Misc. ///////// + +/obj/item/ammo_magazine/caps + name = "speedloader (caps)" + icon_state = "T38" + caliber = "caps" + color = "#FF0000" + ammo_type = /obj/item/ammo_casing/cap + matter = list(DEFAULT_WALL_MATERIAL = 600) + max_ammo = 7 multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/rounds.dm similarity index 85% rename from code/modules/projectiles/ammunition/bullets.dm rename to code/modules/projectiles/ammunition/rounds.dm index aa34925cefe..624c0e6f768 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -1,291 +1,321 @@ -/obj/item/ammo_casing/a357 - desc = "A .357 bullet casing." - caliber = "357" - projectile_type = /obj/item/projectile/bullet/pistol/strong - -/obj/item/ammo_casing/a50 - desc = "A .50AE bullet casing." - caliber = ".50" - projectile_type = /obj/item/projectile/bullet/pistol/strong - -/obj/item/ammo_casing/a75 - desc = "A .75 gyrojet rocket sheathe." - caliber = "75" - projectile_type = /obj/item/projectile/bullet/gyro - -/obj/item/ammo_casing/a38 - desc = "A .38 bullet casing." - caliber = "38" - projectile_type = /obj/item/projectile/bullet/pistol - -/obj/item/ammo_casing/a38r - desc = "A .38 rubber bullet casing." - caliber = "38" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a38/emp - name = ".38 haywire round" - desc = "A .38 bullet casing fitted with a single-use ion pulse generator." - icon_state = "empcasing" - projectile_type = /obj/item/projectile/ion/small - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/* - * 9mm - */ - -/obj/item/ammo_casing/a9mm - desc = "A 9mm bullet casing." - caliber = "9mm" - projectile_type = /obj/item/projectile/bullet/pistol - -/obj/item/ammo_casing/a9mm/ap - desc = "A 9mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/pistol/ap - -/obj/item/ammo_casing/a9mmf - desc = "A 9mm flash shell casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/energy/flash - -/obj/item/ammo_casing/a9mmr - desc = "A 9mm rubber bullet casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a9mmp - desc = "A 9mm practice bullet casing." - caliber = "9mm" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/practice - -/* -/obj/item/ammo_casing/c5mm - desc = "A 5mm bullet casing." - caliber = "5mm" - projectile_type = /obj/item/projectile/bullet/pistol/ap -*/ - -/* - * 45 ammo - */ - -/obj/item/ammo_casing/a45 - desc = "A .45 bullet casing." - caliber = ".45" - projectile_type = /obj/item/projectile/bullet/pistol/medium - -/obj/item/ammo_casing/a45ap - desc = "A .45 Armor-Piercing bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/medium/ap - -/obj/item/ammo_casing/a45p - desc = "A .45 practice bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/practice - -/obj/item/ammo_casing/a45r - desc = "A .45 rubber bullet casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/bullet/pistol/rubber - -/obj/item/ammo_casing/a45f - desc = "A .45 flash shell casing." - caliber = ".45" - icon_state = "r-casing" - projectile_type = /obj/item/projectile/energy/flash - -/obj/item/ammo_casing/a45/emp - name = ".45 haywire round" - desc = "A .45 bullet casing fitted with a single-use ion pulse generator." - projectile_type = /obj/item/projectile/ion/small - icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/obj/item/ammo_casing/a45/hp - desc = "A .45 hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow - - -/* - * 10mm - */ - -/obj/item/ammo_casing/a10mm - desc = "A 10mm bullet casing." - caliber = "10mm" - projectile_type = /obj/item/projectile/bullet/pistol/medium - -/obj/item/ammo_casing/a10mm/emp - name = "10mm haywire round" - desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." - projectile_type = /obj/item/projectile/ion/small - icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) - -/* - * Shotguns - */ - -/obj/item/ammo_casing/a12g - name = "shotgun slug" - desc = "A 12 gauge slug." - icon_state = "slshell" - caliber = "shotgun" - projectile_type = /obj/item/projectile/bullet/shotgun - matter = list(DEFAULT_WALL_MATERIAL = 360) - -/obj/item/ammo_casing/a12g/pellet - name = "shotgun shell" - desc = "A 12 gauge shell." - icon_state = "gshell" - projectile_type = /obj/item/projectile/bullet/pellet/shotgun - matter = list(DEFAULT_WALL_MATERIAL = 360) - -/obj/item/ammo_casing/a12g/blank - name = "shotgun shell" - desc = "A blank shell." - icon_state = "blshell" - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a12g/practice - name = "shotgun shell" - desc = "A practice shell." - icon_state = "pshell" - projectile_type = /obj/item/projectile/bullet/shotgun/practice - matter = list("metal" = 90) - -/obj/item/ammo_casing/a12g/beanbag - name = "beanbag shell" - desc = "A beanbag shell." - icon_state = "bshell" - projectile_type = /obj/item/projectile/bullet/shotgun/beanbag - matter = list(DEFAULT_WALL_MATERIAL = 180) - -//Can stun in one hit if aimed at the head, but -//is blocked by clothing that stops tasers and is vulnerable to EMP -/obj/item/ammo_casing/a12g/stunshell - name = "stun shell" - desc = "A 12 gauge taser cartridge." - icon_state = "stunshell" - projectile_type = /obj/item/projectile/energy/electrode/stunshot - matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) - -/obj/item/ammo_casing/a12g/stunshell/emp_act(severity) - if(prob(100/severity)) BB = null - update_icon() - -//Does not stun, only blinds, but has area of effect. -/obj/item/ammo_casing/a12g/flash - name = "flash shell" - desc = "A chemical shell used to signal distress or provide illumination." - icon_state = "fshell" - projectile_type = /obj/item/projectile/energy/flash/flare - matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) - -/obj/item/ammo_casing/a12g/emp - name = "ion shell" - desc = "An advanced shotgun round that creates a small EMP when it strikes a target." - icon_state = "empshell" - projectile_type = /obj/item/projectile/ion -// projectile_type = /obj/item/projectile/bullet/shotgun/ion - matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) - -/* - * 762mm - */ - -/obj/item/ammo_casing/a762 - desc = "A 7.62mm bullet casing." - caliber = "a762" - icon_state = "rifle-casing" - projectile_type = /obj/item/projectile/bullet/rifle/a762 - -/obj/item/ammo_casing/a762/ap - desc = "A 7.62mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a762/ap - -/obj/item/ammo_casing/a762p - desc = "A 7.62mm practice bullet casing." - caliber = "a762" - icon_state = "rifle-casing" // Need to make an icon for these - projectile_type = /obj/item/projectile/bullet/rifle/practice - -/obj/item/ammo_casing/a762/blank - desc = "A blank 7.62mm bullet casing." - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a762/hp - desc = "A 7.62mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow - -//145mm - -/obj/item/ammo_casing/a145 - desc = "A 14.5mm shell." - icon_state = "lcasing" - caliber = "14.5mm" - projectile_type = /obj/item/projectile/bullet/rifle/a145 - matter = list(DEFAULT_WALL_MATERIAL = 1250) - -/* - * 556mm - */ - -/obj/item/ammo_casing/a556 - desc = "A 5.56mm bullet casing." - caliber = "a556" - icon_state = "rifle-casing" - projectile_type = /obj/item/projectile/bullet/rifle/a556 - -/obj/item/ammo_casing/a556/ap - desc = "A 5.56mm armor-piercing bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a556/ap - -/obj/item/ammo_casing/a556p - desc = "A 5.56mm practice bullet casing." - caliber = "a556" - icon_state = "rifle-casing" // Need to make an icon for these - projectile_type = /obj/item/projectile/bullet/rifle/practice - -/obj/item/ammo_casing/a556/blank - desc = "A blank 5.56mm bullet casing." - projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) - -/obj/item/ammo_casing/a556/hp - desc = "A 5.56mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow - -/* - * Misc - */ - -/obj/item/ammo_casing/rocket - name = "rocket shell" - desc = "A high explosive designed to be fired from a launcher." - icon_state = "rocketshell" - projectile_type = /obj/item/missile - caliber = "rocket" - -/obj/item/ammo_casing/cap - name = "cap" - desc = "A cap for children toys." - caliber = "caps" - icon_state = "r-casing" - color = "#FF0000" - projectile_type = /obj/item/projectile/bullet/pistol/cap - -/obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else. - icon_state = "s-casing-spent" - BB = null +/************************************************************************/ +/* +# An explaination of the naming format for guns and ammo: +# +# a = Ammo, as in individual rounds of ammunition. +# b = Box, intended to have ammo taken out one at a time by hand. +# c = Clips, intended to reload magazines or guns quickly. +# m = Magazine, intended to hold rounds of ammo. +# s = Speedloaders, intended to reload guns quickly. +# +# Use this format, followed by the caliber. For example, a shotgun's caliber +# variable is "12g" as a result. Ergo, a shotgun round's path would have "a12g", +# or a magazine with shotgun shells would be "m12g" instead. To avoid confusion +# for developers and in-game admins spawning these items, stick to this format. +# Likewise, when creating new rounds, the caliber variable should match whatever +# the name says. +# +# This comment is copied in magazines.dm as well. +*/ +/************************************************************************/ + +/* + * .357 + */ + +/obj/item/ammo_casing/a357 + desc = "A .357 bullet casing." + caliber = "357" + projectile_type = /obj/item/projectile/bullet/pistol/strong + +/* + * .38 + */ + +/obj/item/ammo_casing/a38 + desc = "A .38 bullet casing." + caliber = ".38" + projectile_type = /obj/item/projectile/bullet/pistol + +/obj/item/ammo_casing/a38r + desc = "A .38 rubber bullet casing." + caliber = ".38" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a38/emp + name = ".38 haywire round" + desc = "A .38 bullet casing fitted with a single-use ion pulse generator." + icon_state = "empcasing" + projectile_type = /obj/item/projectile/ion/small + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/* + * .50 Action Express + */ + +/obj/item/ammo_casing/a50ae + desc = "A .50AE bullet casing." + caliber = ".50AE" + projectile_type = /obj/item/projectile/bullet/pistol/strong + +/* + * .75 (aka Gyrojet Rockets, aka admin abuse) + */ + +/obj/item/ammo_casing/a75 + desc = "A .75 gyrojet rocket sheathe." + caliber = ".75" + projectile_type = /obj/item/projectile/bullet/gyro + +/* + * 9mm + */ + +/obj/item/ammo_casing/a9mm + desc = "A 9mm bullet casing." + caliber = "9mm" + projectile_type = /obj/item/projectile/bullet/pistol + +/obj/item/ammo_casing/a9mm/ap + desc = "A 9mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/ap + +/obj/item/ammo_casing/a9mmf + desc = "A 9mm flash shell casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/energy/flash + +/obj/item/ammo_casing/a9mmr + desc = "A 9mm rubber bullet casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a9mmp + desc = "A 9mm practice bullet casing." + caliber = "9mm" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/practice + +/* + * .45 + */ + +/obj/item/ammo_casing/a45 + desc = "A .45 bullet casing." + caliber = ".45" + projectile_type = /obj/item/projectile/bullet/pistol/medium + +/obj/item/ammo_casing/a45ap + desc = "A .45 Armor-Piercing bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/medium/ap + +/obj/item/ammo_casing/a45p + desc = "A .45 practice bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/practice + +/obj/item/ammo_casing/a45r + desc = "A .45 rubber bullet casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/bullet/pistol/rubber + +/obj/item/ammo_casing/a45f + desc = "A .45 flash shell casing." + caliber = ".45" + icon_state = "r-casing" + projectile_type = /obj/item/projectile/energy/flash + +/obj/item/ammo_casing/a45/emp + name = ".45 haywire round" + desc = "A .45 bullet casing fitted with a single-use ion pulse generator." + projectile_type = /obj/item/projectile/ion/small + icon_state = "empcasing" + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/obj/item/ammo_casing/a45/hp + desc = "A .45 hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow + + +/* + * 10mm + */ + +/obj/item/ammo_casing/a10mm + desc = "A 10mm bullet casing." + caliber = "10mm" + projectile_type = /obj/item/projectile/bullet/pistol/medium + +/obj/item/ammo_casing/a10mm/emp + name = "10mm haywire round" + desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." + projectile_type = /obj/item/projectile/ion/small + icon_state = "empcasing" + matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + +/* + * 12g (aka shotgun ammo) + */ + +/obj/item/ammo_casing/a12g + name = "shotgun slug" + desc = "A 12 gauge slug." + icon_state = "slshell" + caliber = "12g" + projectile_type = /obj/item/projectile/bullet/shotgun + matter = list(DEFAULT_WALL_MATERIAL = 360) + +/obj/item/ammo_casing/a12g/pellet + name = "shotgun shell" + desc = "A 12 gauge shell." + icon_state = "gshell" + projectile_type = /obj/item/projectile/bullet/pellet/shotgun + matter = list(DEFAULT_WALL_MATERIAL = 360) + +/obj/item/ammo_casing/a12g/blank + name = "shotgun shell" + desc = "A blank shell." + icon_state = "blshell" + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a12g/practice + name = "shotgun shell" + desc = "A practice shell." + icon_state = "pshell" + projectile_type = /obj/item/projectile/bullet/shotgun/practice + matter = list("metal" = 90) + +/obj/item/ammo_casing/a12g/beanbag + name = "beanbag shell" + desc = "A beanbag shell." + icon_state = "bshell" + projectile_type = /obj/item/projectile/bullet/shotgun/beanbag + matter = list(DEFAULT_WALL_MATERIAL = 180) + +//Can stun in one hit if aimed at the head, but +//is blocked by clothing that stops tasers and is vulnerable to EMP +/obj/item/ammo_casing/a12g/stunshell + name = "stun shell" + desc = "A 12 gauge taser cartridge." + icon_state = "stunshell" + projectile_type = /obj/item/projectile/energy/electrode/stunshot + matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) + +/obj/item/ammo_casing/a12g/stunshell/emp_act(severity) + if(prob(100/severity)) BB = null + update_icon() + +//Does not stun, only blinds, but has area of effect. +/obj/item/ammo_casing/a12g/flash + name = "flash shell" + desc = "A chemical shell used to signal distress or provide illumination." + icon_state = "fshell" + projectile_type = /obj/item/projectile/energy/flash/flare + matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) + +/obj/item/ammo_casing/a12g/emp + name = "ion shell" + desc = "An advanced shotgun round that creates a small EMP when it strikes a target." + icon_state = "empshell" + projectile_type = /obj/item/projectile/ion +// projectile_type = /obj/item/projectile/bullet/shotgun/ion + matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) + +/* + * 7.62mm + */ + +/obj/item/ammo_casing/a762 + desc = "A 7.62mm bullet casing." + caliber = "7.62mm" + icon_state = "rifle-casing" + projectile_type = /obj/item/projectile/bullet/rifle/a762 + +/obj/item/ammo_casing/a762/ap + desc = "A 7.62mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a762/ap + +/obj/item/ammo_casing/a762p + desc = "A 7.62mm practice bullet casing." + caliber = "7.62mm" + icon_state = "rifle-casing" // Need to make an icon for these + projectile_type = /obj/item/projectile/bullet/rifle/practice + +/obj/item/ammo_casing/a762/blank + desc = "A blank 7.62mm bullet casing." + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a762/hp + desc = "A 7.62mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow + +//145mm + +/obj/item/ammo_casing/a145 + desc = "A 14.5mm shell." + icon_state = "lcasing" + caliber = "14.5mm" + projectile_type = /obj/item/projectile/bullet/rifle/a145 + matter = list(DEFAULT_WALL_MATERIAL = 1250) + +/* + * 5.56mm + */ + +/obj/item/ammo_casing/a556 + desc = "A 5.56mm bullet casing." + caliber = "5.56mm" + icon_state = "rifle-casing" + projectile_type = /obj/item/projectile/bullet/rifle/a556 + +/obj/item/ammo_casing/a556/ap + desc = "A 5.56mm armor-piercing bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/ap + +/obj/item/ammo_casing/a556p + desc = "A 5.56mm practice bullet casing." + caliber = "5.56mm" + icon_state = "rifle-casing" // Need to make an icon for these + projectile_type = /obj/item/projectile/bullet/rifle/practice + +/obj/item/ammo_casing/a556/blank + desc = "A blank 5.56mm bullet casing." + projectile_type = /obj/item/projectile/bullet/blank + matter = list(DEFAULT_WALL_MATERIAL = 90) + +/obj/item/ammo_casing/a556/hp + desc = "A 5.56mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow + +/* + * Misc + */ + +/obj/item/ammo_casing/rocket + name = "rocket shell" + desc = "A high explosive designed to be fired from a launcher." + icon_state = "rocketshell" + projectile_type = /obj/item/missile + caliber = "rocket" + +/obj/item/ammo_casing/cap + name = "cap" + desc = "A cap for children toys." + caliber = "caps" + icon_state = "r-casing" + color = "#FF0000" + projectile_type = /obj/item/projectile/bullet/pistol/cap + +/obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else. + icon_state = "s-casing-spent" + BB = null projectile_type = null \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index a3e1f671ec0..9bb9862fd3a 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -252,7 +252,7 @@ item_state = null w_class = ITEMSIZE_LARGE force = 10 - caliber = "shotgun" + caliber = "12g" fire_sound = 'sound/weapons/shotgun.ogg' origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index a92e59982c2..36a929af280 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -107,7 +107,7 @@ name = "\"The Judge\"" desc = "A revolving hand-shotgun by Cybersun Industries that packs the power of a 12 guage in the palm of your hand (if you don't break your wrist). Uses 12 shotgun rounds." icon_state = "judge" - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 4) max_shells = 5 fire_sound = 'sound/weapons/shotgun.ogg' @@ -127,7 +127,7 @@ caliber = "38" ammo_type = /obj/item/ammo_casing/a38 var/secondary_max_shells = 1 - var/secondary_caliber = "shotgun" + var/secondary_caliber = "12g" var/secondary_ammo_type = /obj/item/ammo_casing/a12g var/flipped_firing = 0 var/list/secondary_loaded = list() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 80d1a09d783..bc14bb94256 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -8,7 +8,7 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) load_method = SINGLE_CASING ammo_type = /obj/item/ammo_casing/a12g/beanbag @@ -64,7 +64,7 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - caliber = "shotgun" + caliber = "12g" origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1) ammo_type = /obj/item/ammo_casing/a12g/beanbag diff --git a/polaris.dme b/polaris.dme index 9f075b1d76b..92abfde4f5d 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1876,8 +1876,8 @@ #include "code\modules\projectiles\effects.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\ammunition\boxes.dm" -#include "code\modules\projectiles\ammunition\bullets.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\launcher.dm" #include "code\modules\projectiles\guns\projectile.dm"