diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index 8b853aed63..d9be7cdb48 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -81,9 +81,9 @@ name = "Rifle Magazine (5.45mm AP)" path = /obj/item/ammo_magazine/m545/ap -/datum/uplink_item/item/ammo/c545/ap/ext +/datum/uplink_item/item/ammo/c545/ext/ap name = "Rifle Magazine (5.45mm AP Extended)" - path = /obj/item/ammo_magazine/m545/ap/ext + path = /obj/item/ammo_magazine/m545/ext/ap /datum/uplink_item/item/ammo/c762 name = "Rifle Magazine (7.62mm)" diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 4276a16768..8e74081045 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -62,6 +62,10 @@ max_ammo = 6 multiple_sprites = 1 +/obj/item/ammo_magazine/s357/bb + name = "speedloader (.357 BB)" + ammo_type = /obj/item/ammo_casing/a357/bb + ///////// .38 ///////// /obj/item/ammo_magazine/s38 @@ -83,6 +87,11 @@ name = "speedloader (.38 haywire)" ammo_type = /obj/item/ammo_casing/a38/emp +/obj/item/ammo_magazine/s38/bb + name = "speedloader (.38 BB)" + icon_state = "38" + ammo_type = /obj/item/ammo_casing/a38/bb + ///////// .45 ///////// /obj/item/ammo_magazine/m45 @@ -122,6 +131,10 @@ name = "ammunition box (.45 haywire)" ammo_type = /obj/item/ammo_casing/a45/emp +/obj/item/ammo_magazine/m45/bb + name = "magazine (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + /obj/item/ammo_magazine/m45uzi name = "stick magazine (.45)" icon_state = "uzi45" @@ -132,6 +145,10 @@ max_ammo = 16 multiple_sprites = 1 +/obj/item/ammo_magazine/m45uzi/bb + name = "stick magazine (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + /obj/item/ammo_magazine/m45uzi/empty initial_ammo = 0 @@ -151,6 +168,10 @@ /obj/item/ammo_magazine/m45tommy/empty initial_ammo = 0 +/obj/item/ammo_magazine/m45tommy/bb + name = "Tommy Gun magazine (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + /obj/item/ammo_magazine/m45tommydrum name = "Tommy Gun drum magazine (.45)" icon_state = "tommy-drum" @@ -165,6 +186,10 @@ name = "Tommy Gun drum magazine (.45 AP)" ammo_type = /obj/item/ammo_casing/a45/ap +/obj/item/ammo_magazine/m45tommydrum/bb + name = "Tommy Gun drum magazine (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + /obj/item/ammo_magazine/m45tommydrum/empty initial_ammo = 0 @@ -190,6 +215,10 @@ name = "ammo clip (.45 flash)" ammo_type = /obj/item/ammo_casing/a45/flash +/obj/item/ammo_magazine/clip/c45/bb + name = "ammo clip (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + /obj/item/ammo_magazine/s45 name = "speedloader (.45)" icon_state = "45s" @@ -218,6 +247,10 @@ name = "speedloader (.45 AP)" ammo_type = /obj/item/ammo_casing/a45/ap +/obj/item/ammo_magazine/s45/bb + name = "speedloader (.45 BB)" + ammo_type = /obj/item/ammo_casing/a45/bb + ///////// 5mm Caseless ///////// /obj/item/ammo_magazine/m5mmcaseless @@ -233,6 +266,11 @@ icon_state = "caseless-mag-alt" ammo_type = /obj/item/ammo_casing/a5mmcaseless/stun +/obj/item/ammo_magazine/m5mmcaseless/bb + name = "prototype rifle magazine (5mm caseless BB)" + icon_state = "caseless-mag" + ammo_type = /obj/item/ammo_casing/a5mmcaseless/bb + ///////// 9mm ///////// /obj/item/ammo_magazine/m9mm @@ -270,6 +308,10 @@ name = "magazine (9mm practice)" ammo_type = /obj/item/ammo_casing/a9mm/practice +/obj/item/ammo_magazine/m9mm/bb + name = "magazine (9mm BB)" + ammo_type = /obj/item/ammo_casing/a9mm/bb + // Compact /obj/item/ammo_magazine/m9mm/compact name = "compact magazine (9mm)" @@ -297,6 +339,10 @@ name = "compact magazine (9mm practice)" ammo_type = /obj/item/ammo_casing/a9mm/practice +/obj/item/ammo_magazine/m9mm/compact/bb + name = "compact magazine (9mm BB)" + ammo_type = /obj/item/ammo_casing/a9mm/bb + // SMG /obj/item/ammo_magazine/m9mmt name = "top mounted magazine (9mm)" @@ -328,6 +374,10 @@ ammo_type = /obj/item/ammo_casing/a9mm/ap matter = list(MAT_STEEL = 1000, MAT_PLASTEEL = 2000) +/obj/item/ammo_magazine/m9mmt/bb + name = "top mounted magazine (9mm BB)" + ammo_type = /obj/item/ammo_casing/a9mm/bb + /obj/item/ammo_magazine/m9mmp90 name = "large capacity top mounted magazine (9mm armor-piercing)" icon_state = "p90" @@ -338,6 +388,10 @@ max_ammo = 50 multiple_sprites = 1 +/obj/item/ammo_magazine/m9mmp90/bb + name = "large capacity top mounted magazine (9mm BB)" + ammo_type = /obj/item/ammo_casing/a9mm/bb + /obj/item/ammo_magazine/m9mmp90/empty initial_ammo = 0 @@ -374,6 +428,10 @@ origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1) multiple_sprites = 1 +/obj/item/ammo_magazine/m9mmAdvanced/bb + name = "top mounted magazine (9mm BB)" + ammo_type = /obj/item/ammo_casing/a9mm/bb + /obj/item/ammo_magazine/m9mmAdvanced/ap desc = "A high capacity double stack magazine made specially for the Advanced SMG. Filled with 21 9mm armor piercing bullets." icon_state = "S9mm" @@ -396,6 +454,10 @@ max_ammo = 20 multiple_sprites = 1 +/obj/item/ammo_magazine/m10mm/bb + name = "top mounted magazine (10mm BB)" + ammo_type = /obj/item/ammo_casing/a10mm/bb + /obj/item/ammo_magazine/m10mm/empty initial_ammo = 0 @@ -426,41 +488,49 @@ max_ammo = 20 multiple_sprites = 1 -/obj/item/ammo_magazine/m545/ext - name = "extended magazine (5.45mm)" - matter = list(MAT_STEEL = 2700) - max_ammo = 30 - -/obj/item/ammo_magazine/m545/empty - initial_ammo = 0 - -/obj/item/ammo_magazine/m545/ext/empty - initial_ammo = 0 - /obj/item/ammo_magazine/m545/practice name = "magazine (5.45mm practice)" ammo_type = /obj/item/ammo_casing/a545/practice -/obj/item/ammo_magazine/m545/practice/ext - name = "extended magazine (5.45mm practice)" - max_ammo = 30 - /obj/item/ammo_magazine/m545/ap name = "magazine (5.45mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a545/ap -/obj/item/ammo_magazine/m545/ap/ext - name = "extended magazine (5.45mm armor-piercing)" - max_ammo = 30 +/obj/item/ammo_magazine/m545/bb + name = "magazine (5.45mm BB)" + ammo_type = /obj/item/ammo_casing/a545/bb /obj/item/ammo_magazine/m545/hunter name = "magazine (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter -/obj/item/ammo_magazine/m545/hunter/ext - name = "extended magazine (5.45mm hunting)" +/obj/item/ammo_magazine/m545/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/m545/ext + name = "extended magazine (5.45mm)" + matter = list(MAT_STEEL = 2700) max_ammo = 30 +/obj/item/ammo_magazine/m545/ext/practice + name = "extended magazine (5.45mm practice)" + ammo_type = /obj/item/ammo_casing/a545/practice + +/obj/item/ammo_magazine/m545/ext/ap + name = "extended magazine (5.45mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/a545/ap + +/obj/item/ammo_magazine/m545/ext/bb + name = "extended magazine (5.45mm BB)" + ammo_type = /obj/item/ammo_casing/a545/bb + +/obj/item/ammo_magazine/m545/ext/hunter + name = "extended magazine (5.45mm hunting)" + ammo_type = /obj/item/ammo_casing/a545/hunter + +/obj/item/ammo_magazine/m545/ext/empty + initial_ammo = 0 + /obj/item/ammo_magazine/m545/small name = "reduced magazine (5.45mm)" icon_state = "m545-small" @@ -478,6 +548,10 @@ name = "magazine (5.45mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a545/ap +/obj/item/ammo_magazine/m545/small/bb + name = "magazine (5.45mm BB)" + ammo_type = /obj/item/ammo_casing/a545/bb + /obj/item/ammo_magazine/m545/small/hunter name = "magazine (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter @@ -519,6 +593,10 @@ name = "magazine box (5.45mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a545/ap +/obj/item/ammo_magazine/m545saw/bb + name = "magazine box (5.45mm BB)" + ammo_type = /obj/item/ammo_casing/a545/bb + /obj/item/ammo_magazine/m545saw/hunter name = "magazine box (5.45mm hunting)" ammo_type = /obj/item/ammo_casing/a545/hunter @@ -539,6 +617,10 @@ max_ammo = 7 multiple_sprites = 1 +/obj/item/ammo_magazine/m44/empty + name = "magazine (.44 BB)" + ammo_type = /obj/item/ammo_casing/a44/bb + /obj/item/ammo_magazine/m44/empty initial_ammo = 0 @@ -569,6 +651,10 @@ icon_state = "R44" ammo_type = /obj/item/ammo_casing/a44/rubber +/obj/item/ammo_magazine/s44/bb + name = "speedloader (.44 BB)" + ammo_type = /obj/item/ammo_casing/a44/bb + /obj/item/ammo_magazine/s44/rifle name = "speedloader (.44 rifle)" icon_state = "RI44" @@ -590,6 +676,10 @@ name = "magazine (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap +/obj/item/ammo_magazine/m762/bb + name = "magazine (7.62mm BB)" + ammo_type = /obj/item/ammo_casing/a762/bb + /obj/item/ammo_magazine/m762/empty initial_ammo = 0 @@ -607,6 +697,10 @@ name = "magazine (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap +/obj/item/ammo_magazine/m762m/bb + name = "magazine (7.62mm BB)" + ammo_type = /obj/item/ammo_casing/a762/bb + /obj/item/ammo_magazine/m762m/empty initial_ammo = 0 @@ -624,6 +718,10 @@ name = "garand clip (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap +/obj/item/ammo_magazine/m762garand/bb + name = "garand clip (7.62mm BB)" + ammo_type = /obj/item/ammo_casing/a762/bb + /obj/item/ammo_magazine/m762/empty initial_ammo = 0 @@ -648,6 +746,10 @@ name = "rifle clip (7.62mm hunting)" ammo_type = /obj/item/ammo_casing/a762/hunter +/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/m762svd name = "\improper SVD magazine (7.62mm)" icon_state = "SVD" @@ -662,6 +764,10 @@ name = "\improper SVD magazine (7.62mm armor-piercing)" ammo_type = /obj/item/ammo_casing/a762/ap +/obj/item/ammo_magazine/m762svd/bb + name = "\improper SVD magazine (7.62mm BB)" + ammo_type = /obj/item/ammo_casing/a762/bb + /obj/item/ammo_magazine/m762svd/empty initial_ammo = 0 @@ -689,6 +795,10 @@ name = "magazine (12 gauge flash)" ammo_type = /obj/item/ammo_casing/a12g/flash +/obj/item/ammo_magazine/m12gdrum/bb + name = "magazine (12 gauge BB)" + ammo_type = /obj/item/ammo_casing/a12g/bb + /obj/item/ammo_magazine/m12gdrum/empty initial_ammo = 0 @@ -716,6 +826,13 @@ ammo_type = /obj/item/ammo_casing/a12g/beanbag matter = list(MAT_STEEL = 710) //beanbags x2 + 350 metal +/obj/item/ammo_magazine/clip/c12g/bb + name = "ammo clip (12g BB)" + icon_state = "12gclipshell" + desc = "A replica color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with airsoft BBs." + ammo_type = /obj/item/ammo_casing/a12g/bb + matter = list(MAT_PLASTIC = 1070) // buckshot and slugs cost the same + ///////// .75 Gyrojet ///////// /obj/item/ammo_magazine/m75 diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 382dc91b6b..196ff70651 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -365,6 +365,12 @@ /obj/item/ammo_casing/a145/highvel desc = "A 14.5mm sabot shell." projectile_type = /obj/item/projectile/bullet/rifle/a145 + +/obj/item/ammo_casing/a145/bb + desc = "A 14.5mm BB. That'll take someone's eye out." + projectile_type = /obj/item/projectile/bullet/bb + matter = list(MAT_PLASTIC = 20) + caseless = TRUE /obj/item/ammo_casing/a145/spent/Initialize() ..() @@ -427,6 +433,12 @@ desc = "A 5mm solid phoron caseless stun round." projectile_type = /obj/item/projectile/energy/electrode // Maybe nerf this considering there's 30 rounds in a mag. +/obj/item/ammo_casing/a5mmcaseless/bb + desc = "A 5mm caseless airsoft BB." + projectile_type = /obj/item/projectile/bullet/bb + matter = list(MAT_PLASTIC = 20) + caseless = TRUE + /* * Misc */