diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm
index 951474062a0..990b87b52d1 100644
--- a/code/datums/autolathe/arms.dm
+++ b/code/datums/autolathe/arms.dm
@@ -411,12 +411,6 @@
category = list("Arms and Ammunition")
hidden = 1
-/datum/category_item/autolathe/arms/pistol_clip_10mm
- name = "ammo clip (10mm)"
- path =/obj/item/ammo_magazine/clip/c10mm
- category = list("Arms and Ammunition")
- hidden = 1
-
/datum/category_item/autolathe/arms/pistol_clip_50
name = "ammo clip (.44)"
path =/obj/item/ammo_magazine/clip/c50
diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm
index 8b853aed632..70ca73007d9 100644
--- a/code/datums/uplink/ammunition.dm
+++ b/code/datums/uplink/ammunition.dm
@@ -63,11 +63,11 @@
/datum/uplink_item/item/ammo/sniperammo
name = "Anti-Materiel Rifle ammo box (14.5mm)"
- path = /obj/item/weapon/storage/box/sniperammo
+ path = /obj/item/ammo_magazine/ammo_box/b145
/datum/uplink_item/item/ammo/sniperammo_highvel
name = "Anti-Materiel Rifle ammo box (14.5mm sabot)"
- path = /obj/item/weapon/storage/box/sniperammo/highvel
+ path = /obj/item/ammo_magazine/ammo_box/b145/highvel
/datum/uplink_item/item/ammo/c545
name = "Rifle Magazine (5.45mm)"
diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm
index 15995b15c6f..1bb63fab38d 100644
--- a/code/game/objects/items/devices/binoculars.dm
+++ b/code/game/objects/items/devices/binoculars.dm
@@ -9,8 +9,13 @@
throw_range = 15
throw_speed = 3
- //matter = list(MAT_STEEL = 50,MAT_GLASS = 50)
-
+ //matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/device/binoculars/attack_self(mob/user)
zoom()
+
+/obj/item/device/binoculars/spyglass
+ name = "spyglass"
+ desc = "It's a hand-held telescope, useful for star-gazing, peeping, and recon."
+ icon_state = "spyglass"
+ slot_flags = SLOT_BELT
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 4eac505ebf0..583363c8919 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -250,18 +250,6 @@
/obj/item/weapon/storage/box/flechetteshells/large
starts_with = list(/obj/item/ammo_casing/a12g/flechette = 16)
-/obj/item/weapon/storage/box/sniperammo
- name = "box of 14.5mm shells"
- desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- starts_with = list(/obj/item/ammo_casing/a145 = 7)
- drop_sound = 'sound/items/drop/ammobox.ogg'
- pickup_sound = 'sound/items/pickup/ammobox.ogg'
-
-/obj/item/weapon/storage/box/sniperammo/highvel
- name = "box of 14.5mm sabot shells"
- desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- starts_with = list(/obj/item/ammo_casing/a145/highvel = 7)
-
/obj/item/weapon/storage/box/flashbangs
name = "box of flashbangs (WARNING)"
desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use."
diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm
index c4766db55a5..69b19e003b6 100644
--- a/code/game/objects/random/guns_and_ammo.dm
+++ b/code/game/objects/random/guns_and_ammo.dm
@@ -315,8 +315,8 @@
),
prob(1);list(
/obj/item/weapon/gun/projectile/garand,
- /obj/item/ammo_magazine/m762garand,
- /obj/item/ammo_magazine/m762garand
+ /obj/item/ammo_magazine/m762enbloc,
+ /obj/item/ammo_magazine/m762enbloc
),
prob(1);list(
/obj/item/weapon/gun/projectile/revolvingrifle,
diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm
index a9e567c6c09..6940a6702fa 100644
--- a/code/game/objects/random/mapping.dm
+++ b/code/game/objects/random/mapping.dm
@@ -351,8 +351,8 @@
/obj/item/clothing/suit/armor/vest,
/obj/item/weapon/gun/projectile/garand,
/obj/item/weapon/gun/projectile/garand,
- /obj/item/ammo_magazine/m762garand,
- /obj/item/ammo_magazine/m762garand,
+ /obj/item/ammo_magazine/m762enbloc,
+ /obj/item/ammo_magazine/m762enbloc,
/obj/structure/closet/crate/plastic
),
prob(2);list(
diff --git a/code/game/objects/random/mob_vr.dm b/code/game/objects/random/mob_vr.dm
index d644e9e0143..46b3432025c 100644
--- a/code/game/objects/random/mob_vr.dm
+++ b/code/game/objects/random/mob_vr.dm
@@ -111,21 +111,22 @@
prob(4);/obj/item/ammo_magazine/m9mmp90,\
prob(4);/obj/item/ammo_magazine/m10mm,\
prob(4);/obj/item/ammo_magazine/m545/small,\
- prob(3);/obj/item/ammo_magazine/clip/c10mm,\
prob(3);/obj/item/ammo_magazine/clip/c44,\
+ prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp,\
+ prob(3);/obj/item/ammo_magazine/ammo_box/b10mm,\
prob(3);/obj/item/ammo_magazine/s44,\
prob(3);/obj/item/ammo_magazine/m762,\
prob(3);/obj/item/ammo_magazine/m545,\
prob(3);/obj/item/weapon/cell/device/weapon,\
prob(2);/obj/item/ammo_magazine/m44,\
prob(2);/obj/item/ammo_magazine/s357,\
- prob(2);/obj/item/ammo_magazine/m762m,\
+ prob(2);/obj/item/ammo_magazine/m762/ext,\
prob(2);/obj/item/ammo_magazine/clip/c12g,
prob(2);/obj/item/ammo_magazine/clip/c12g/pellet,\
prob(1);/obj/item/ammo_magazine/m45tommy,\
/* prob(1);/obj/item/ammo_magazine/m95,\ */
prob(1);/obj/item/ammo_casing/rocket,\
- prob(1);/obj/item/weapon/storage/box/sniperammo,\
+ prob(1);/obj/item/ammo_magazine/ammo_box/b145,\
prob(1);/obj/item/weapon/storage/box/flashshells,\
prob(1);/obj/item/weapon/storage/box/beanbags,\
prob(1);/obj/item/weapon/storage/box/stunshells,\
diff --git a/code/modules/awaymissions/loot_vr.dm b/code/modules/awaymissions/loot_vr.dm
index d6364d3bd4a..e6aeca4b10c 100644
--- a/code/modules/awaymissions/loot_vr.dm
+++ b/code/modules/awaymissions/loot_vr.dm
@@ -202,7 +202,8 @@
prob(4);/obj/item/ammo_magazine/m545/ext,
prob(4);/obj/item/ammo_magazine/m762,\
prob(4);/obj/item/ammo_magazine/m545/ext,\
- prob(3);/obj/item/ammo_magazine/clip/c10mm,\
+ prob(3);/obj/item/ammo_magazine/ammo_box/b10mm/emp,\
+ prob(3);/obj/item/ammo_magazine/ammo_box/b10mm,\
prob(3);/obj/item/ammo_magazine/clip/c44,\
prob(3);/obj/item/ammo_magazine/m545,\
prob(2);/obj/item/ammo_magazine/m44,\
@@ -210,7 +211,7 @@
prob(1);/obj/item/weapon/storage/box/frags,\
/* prob(1);/obj/item/ammo_magazine/m95,\ */
prob(1);/obj/item/ammo_casing/rocket,\
- prob(1);/obj/item/weapon/storage/box/sniperammo,\
+ prob(1);/obj/item/ammo_magazine/ammo_box/b145,\
prob(1);/obj/item/weapon/storage/box/flashshells,\
prob(1);/obj/item/weapon/storage/box/beanbags,\
prob(1);/obj/item/weapon/storage/box/practiceshells,\
@@ -286,7 +287,7 @@
else if(prob(50))
if(live_cargo) // Something else very much alive and angry.
var/spawn_type = pick(/mob/living/simple_mob/animal/space/alien, /mob/living/simple_mob/animal/space/alien/drone, /mob/living/simple_mob/animal/space/alien/sentinel)
- new spawn_type(C)
+ new spawn_type(C)
else // Just a costume.
new /obj/item/clothing/head/xenos(C)
new /obj/item/clothing/suit/xenos(C)
diff --git a/code/modules/projectiles/ammunition/ammo_boxes.dm b/code/modules/projectiles/ammunition/ammo_boxes.dm
index 332b634a0f7..0b4b6cdb6b4 100644
--- a/code/modules/projectiles/ammunition/ammo_boxes.dm
+++ b/code/modules/projectiles/ammunition/ammo_boxes.dm
@@ -55,4 +55,490 @@
ammo_type = /obj/item/ammo_casing/cap
matter = list(MAT_STEEL = 2040)
max_ammo = 24
- multiple_sprites = null
\ No newline at end of file
+ multiple_sprites = null
+
+/*
+ * .357
+ */
+
+/obj/item/ammo_magazine/ammo_box/b357
+ name = "ammo box (.357)"
+ desc = "A box of .357 rounds"
+ icon_state = "magnum"
+ caliber = ".357"
+ ammo_type = /obj/item/ammo_casing/a357
+ matter = list(MAT_STEEL = 5040)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b357/rubber
+ name = "ammo box (.357 rubber)"
+ desc = "A box of .357 rubber rounds"
+ icon_state = "magnum_r"
+ caliber = ".357"
+ ammo_type = /obj/item/ammo_casing/a357/rubber
+ matter = list(MAT_STEEL = 5040)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/*
+ * .38
+ */
+
+/obj/item/ammo_magazine/ammo_box/b38
+ name = "ammo box (.38)"
+ desc = "A box of .38 rounds"
+ icon_state = "pistol"
+ caliber = ".38"
+ ammo_type = /obj/item/ammo_casing/a38
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b38/rubber
+ name = "ammo box (.38 rubber)"
+ desc = "A box of .38 rubber rounds"
+ icon_state = "pistol_p"
+ caliber = ".38"
+ ammo_type = /obj/item/ammo_casing/a38/rubber
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/*
+ * 10mm
+ */
+
+/obj/item/ammo_magazine/ammo_box/b10mm
+ name = "ammo box (10mm)"
+ desc = "A box of 10mm rounds"
+ icon_state = "box10mm"
+ caliber = "10mm"
+ ammo_type = /obj/item/ammo_casing/a10mm
+ matter = list(MAT_STEEL = 3000)
+ max_ammo = 40
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b10mm/practice
+ name = "ammo box (10mm practice)"
+ desc = "A box of 10mm practice rounds"
+ icon_state = "box10mm-practice"
+ caliber = "10mm"
+ ammo_type = /obj/item/ammo_casing/a10mm/practice
+ matter = list(MAT_STEEL = 2400)
+ max_ammo = 40
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b10mm/rubber
+ name = "ammo box (10mm rubber)"
+ desc = "A box of 10mm rubber rounds"
+ icon_state = "box10mm-rubber"
+ caliber = "10mm"
+ ammo_type = /obj/item/ammo_casing/a10mm/rubber
+ matter = list(MAT_STEEL = 2400)
+ max_ammo = 40
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b10mm/emp
+ name = "ammo box (10mm haywire)"
+ desc = "A box of 10mm haywire rounds"
+ icon_state = "box10mm-hw"
+ caliber = "10mm"
+ ammo_type = /obj/item/ammo_casing/a10mm/emp
+ matter = list(MAT_STEEL = 5200, MAT_URANIUM = 4000)
+ max_ammo = 40
+ multiple_sprites = 1
+
+/*
+ * .44
+ */
+
+/obj/item/ammo_magazine/ammo_box/b44
+ name = "ammo box (.44)"
+ desc = "A box of .44 rounds"
+ icon_state = "box44"
+ caliber = ".44"
+ ammo_type = /obj/item/ammo_casing/a44
+ matter = list(MAT_STEEL = 5040)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b44/rubber
+ name = "ammo box (.44 rubber)"
+ desc = "A box of .44 rubber rounds"
+ icon_state = "box44-rubber"
+ caliber = ".44"
+ ammo_type = /obj/item/ammo_casing/a44/rubber
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/*
+ * .45
+ */
+
+/obj/item/ammo_magazine/ammo_box/b45
+ name = "ammo box (.45)"
+ desc = "A box of .45 rounds"
+ icon_state = "pistol_s"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45
+ matter = list(MAT_STEEL = 1800)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b45/practice
+ name = "ammo box (.45 practice)"
+ desc = "A box of .45 practice rounds"
+ icon_state = "pistol_p"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45/practice
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b45/ap
+ name = "ammo box (.45 AP)"
+ desc = "A box of .45 armor-piercing rounds"
+ icon_state = "pistol_ap"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45/ap
+ matter = list(MAT_STEEL = 1200, MAT_PLASTEEL = 600)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b45/hp
+ name = "ammo box (.45 HP)"
+ desc = "A box of .45 hollow-point rounds"
+ icon_state = "pistol_hp"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45/hp
+ matter = list(MAT_STEEL = 1440, MAT_PLASTIC = 360)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b45/rubber
+ name = "ammo box (.45 rubber)"
+ desc = "A box of .45 rubber rounds"
+ icon_state = "pistol_r"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45/rubber
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b45/emp
+ name = "ammo box (.45 haywire)"
+ desc = "A box of .45 haywire rounds"
+ icon_state = "pistol_hw"
+ caliber = ".45"
+ ammo_type = /obj/item/ammo_casing/a45/emp
+ matter = list(MAT_STEEL = 3120, MAT_URANIUM = 2400)
+ max_ammo = 24
+ multiple_sprites = 1
+
+/*
+ * 12g (aka shotgun ammo)
+ */
+
+/obj/item/ammo_magazine/ammo_box/b12g
+ name = "ammo box (12 gauge slug)"
+ desc = "A box of 12 gauge slug rounds"
+ icon_state = "slug"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g
+ matter = list(MAT_STEEL = 2880)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/pellet
+ name = "ammo box (12 gauge buckshot)"
+ desc = "A box of 12 gauge buckshot rounds"
+ icon_state = "buckshot"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/pellet
+ matter = list(MAT_STEEL = 2880)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/beanbag
+ name = "ammo box (12 gauge beanbag)"
+ desc = "A box of 12 gauge beanbag rounds"
+ icon_state = "bean"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/beanbag
+ matter = list(MAT_STEEL = 1440)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/stunshell
+ name = "ammo box (12 gauge stun)"
+ desc = "A box of 12 gauge stun rounds"
+ icon_state = "stun"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/stunshell
+ matter = list(MAT_STEEL = 2880, MAT_GLASS = 5760)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/emp
+ name = "ammo box (12 gauge EMP)"
+ desc = "A box of 12 gauge EMP rounds"
+ icon_state = "stun"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/emp
+ matter = list(MAT_STEEL = 2880, MAT_URANIUM = 1920)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/flechette
+ name = "ammo box (12 gauge flechette)"
+ desc = "A box of 12 gauge flechette rounds"
+ icon_state = "bean"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/flechette
+ matter = list(MAT_STEEL = 2880, MAT_PLASTEEL = 800)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/practice
+ name = "ammo box (12 gauge practice)"
+ desc = "A box of 12 gauge practice rounds"
+ icon_state = "practice"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/practice
+ matter = list(MAT_STEEL = 480)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/blank
+ name = "ammo box (12 gauge blank)"
+ desc = "A box of 12 gauge blank rounds"
+ icon_state = "blank"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/blank
+ matter = list(MAT_STEEL = 720)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b12g/flash
+ name = "ammo box (12 gauge flash)"
+ desc = "A box of 12 gauge flash rounds"
+ icon_state = "flash"
+ caliber = ".12g"
+ ammo_type = /obj/item/ammo_casing/a12g/flash
+ matter = list(MAT_STEEL = 720, MAT_GLASS = 720)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/*
+ * 14.5mm (anti-materiel rifle round)
+ */
+
+/obj/item/ammo_magazine/ammo_box/b145
+ desc = "ammo box (14.5mm)"
+ desc = "A box of 14.5mm rounds"
+ icon_state = "sniper"
+ caliber = "14.5mm"
+ ammo_type = /obj/item/ammo_casing/a145
+ matter = list(MAT_STEEL = 8750)
+ max_ammo = 7
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b145/highvel
+ desc = "ammo box (14.5mm sabot)"
+ desc = "A box of 14.5mm sabot rounds"
+ icon_state = "sniper"
+ caliber = "14.5mm"
+ ammo_type = /obj/item/ammo_casing/a145
+ matter = list(MAT_STEEL = 8750)
+ max_ammo = 7
+ multiple_sprites = 1
+
+/*
+ * 7.62mm
+ */
+
+/obj/item/ammo_magazine/ammo_box/b762
+ name = "ammo box (7.62mm)"
+ desc = "A box of 7.62mm rounds"
+ icon_state = "rifle"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762
+ matter = list(MAT_STEEL = 6000)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/hp
+ name = "ammo box (7.62mm HP)"
+ desc = "A box of 7.62mm hollow-point rounds"
+ icon_state = "rifle_hp"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762/hp
+ matter = list(MAT_STEEL = 9000)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/ap
+ name = "ammo box (7.62mm AP)"
+ desc = "A box of 7.62mm armor-piercing rounds"
+ icon_state = "rifle_ap"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762/ap
+ matter = list(MAT_STEEL = 9000)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/practice
+ name = "ammo box (7.62mm practice)"
+ desc = "A box of 7.62mm practice rounds"
+ icon_state = "rifle_p"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762/practice
+ matter = list(MAT_STEEL = 2700)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/hunter
+ name = "ammo box (7.62mm hunter)"
+ desc = "A box of 7.62mm hunter rounds"
+ icon_state = "rifle_hunter"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762/hunter
+ matter = list(MAT_STEEL = 6000)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/surplus
+ name = "ammo wrap (7.62mm)"
+ desc = "A paper wrap of 7.62mm rounds"
+ icon_state = "paper_wrap"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762
+ matter = list(MAT_STEEL = 1600)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b762/blank
+ name = "ammo wrap (7.62mm blank)"
+ desc = "A paper wrap of 7.62mm blank rounds"
+ icon_state = "paper_wrap"
+ caliber = "7.62mm"
+ ammo_type = /obj/item/ammo_casing/a762/blank
+ matter = list(MAT_STEEL = 720)
+ max_ammo = 8
+ multiple_sprites = 1
+
+/*
+ * 5.45mm
+ */
+
+/obj/item/ammo_magazine/ammo_box/b545
+ name = "ammo box (5.45mm)"
+ desc = "A box of 5.45mm rounds"
+ icon_state = "hrifle"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545
+ matter = list(MAT_STEEL = 5400)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/ap
+ name = "ammo box (5.45mm AP)"
+ desc = "A box of 5.45mm armor-piercing rounds"
+ icon_state = "hrifle-ap"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/ap
+ matter = list(MAT_STEEL = 8100)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/hp
+ name = "ammo box (5.45mm HP)"
+ desc = "A box of 5.45mm hollow-point rounds"
+ icon_state = "hrifle-hp"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/hp
+ matter = list(MAT_STEEL = 5400)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/practice
+ name = "ammo box (5.45mm practice)"
+ desc = "A box of 5.45mm practice rounds"
+ icon_state = "hrifle-practice"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/practice
+ matter = list(MAT_STEEL = 2700)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/hunter
+ name = "ammo box (5.45mm hunter)"
+ desc = "A box of 5.45mm hunter rounds"
+ icon_state = "hrifle-hunter"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/hunter
+ matter = list(MAT_STEEL = 5400)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/blank
+ name = "ammo box (5.45mm blank)"
+ desc = "A box of 5.45mm blank rounds"
+ icon_state = "hrifle-practice"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/blank
+ matter = list(MAT_STEEL = 2700)
+ max_ammo = 30
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545
+ name = "ammo box (5.45mm)"
+ desc = "A steel box of 5.45mm rounds"
+ icon_state = "boxhrifle"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545
+ matter = list(MAT_STEEL = 18000)
+ max_ammo = 100
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/ap
+ name = "ammo box (5.45mm AP)"
+ desc = "A steel box of 5.45mm armor-piercing rounds"
+ icon_state = "boxhrifle-ap"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/ap
+ matter = list(MAT_STEEL = 27000)
+ max_ammo = 100
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/hp
+ name = "ammo box (5.45mm HP)"
+ desc = "A steel box of 5.45mm hollow-point rounds"
+ icon_state = "boxhrifle-hp"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/hp
+ matter = list(MAT_STEEL = 18000)
+ max_ammo = 100
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/practice
+ name = "ammo box (5.45mm practice)"
+ desc = "A steel box of 5.45mm practice rounds"
+ icon_state = "boxhrifle-practice"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/practice
+ matter = list(MAT_STEEL = 9000)
+ max_ammo = 100
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/ammo_box/b545/hunter
+ name = "ammo box (5.45mm hunter)"
+ desc = "A steel box of 5.45mm hunter rounds"
+ icon_state = "boxhrifle-hunter"
+ caliber = "5.45mm"
+ ammo_type = /obj/item/ammo_casing/a545/hunter
+ matter = list(MAT_STEEL = 18000)
+ max_ammo = 100
+ multiple_sprites = 1
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm
index aa43a547922..b678ec8d9e4 100644
--- a/code/modules/projectiles/ammunition/magazines.dm
+++ b/code/modules/projectiles/ammunition/magazines.dm
@@ -3,7 +3,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. Really obsolete. Don't use this.
+# 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.
@@ -15,7 +15,7 @@
# Likewise, when creating new rounds, the caliber variable should match whatever
# the name says.
#
-# This comment is copied in rounds.dm as well.
+# This comment is copied in rounds.dm and ammo_boxes.dm as well.
#
# Also, if a magazine is only meant for a specific gun, include the name
# of the specific gun in the path. Example: m45uzi is only for the Uzi.
@@ -35,12 +35,13 @@
max_ammo = 9
multiple_sprites = 1
-/obj/item/ammo_magazine/mfoam_dart/pistol/riot
- ammo_type = /obj/item/ammo_casing/afoam_dart/riot
-
/obj/item/ammo_magazine/mfoam_dart/pistol/empty
initial_ammo = 0
+/obj/item/ammo_magazine/mfoam_dart/pistol/riot
+ ammo_type = /obj/item/ammo_casing/afoam_dart/riot
+
+// SMG
/obj/item/ammo_magazine/mfoam_dart/smg
name = "\improper Donk-Soft smg magazine"
icon = 'icons/obj/gun_toy.dmi'
@@ -52,13 +53,13 @@
max_ammo = 20
multiple_sprites = 1
+/obj/item/ammo_magazine/mfoam_dart/smg/empty
+ initial_ammo = 0
+
/obj/item/ammo_magazine/mfoam_dart/smg/riot
ammo_type = /obj/item/ammo_casing/afoam_dart/riot
matter = list(MAT_PLASTIC = 1260, MAT_PLASTIC = 250)
-/obj/item/ammo_magazine/mfoam_dart/smg/empty
- initial_ammo = 0
-
///////// .357 /////////
/obj/item/ammo_magazine/s357
@@ -71,6 +72,21 @@
max_ammo = 6
multiple_sprites = 1
+/obj/item/ammo_magazine/s357/stun
+ name = "speedloader (.357 stun)"
+ icon_state = "T38"
+ ammo_type = /obj/item/ammo_casing/a357/stun
+
+/obj/item/ammo_magazine/s357/rubber
+ name = "speedloader (.357 rubber)"
+ icon_state = "T38"
+ ammo_type = /obj/item/ammo_casing/a357/rubber
+
+/obj/item/ammo_magazine/s357/flash
+ name = "speedloader (.357 flash)"
+ icon_state = "S38"
+ ammo_type = /obj/item/ammo_casing/a357/flash
+
///////// .38 /////////
/obj/item/ammo_magazine/s38
@@ -131,6 +147,7 @@
name = "ammunition box (.45 haywire)"
ammo_type = /obj/item/ammo_casing/a45/emp
+// Uzi
/obj/item/ammo_magazine/m45uzi
name = "stick magazine (.45)"
icon_state = "uzi45"
@@ -144,14 +161,16 @@
/obj/item/ammo_magazine/m45uzi/empty
initial_ammo = 0
+// Tommy Gun
/obj/item/ammo_magazine/m45tommy
name = "Tommy Gun magazine (.45)"
- icon_state = "tommy-mag"
+ icon_state = "tomstick"
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/a45
matter = list(MAT_STEEL = 1500)
caliber = ".45"
max_ammo = 20
+ multiple_sprites = 1
/obj/item/ammo_magazine/m45tommy/ap
name = "Tommy Gun magazine (.45 AP)"
@@ -162,21 +181,23 @@
/obj/item/ammo_magazine/m45tommydrum
name = "Tommy Gun drum magazine (.45)"
- icon_state = "tommy-drum"
+ icon_state = "tomdrum"
w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets!
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/a45
matter = list(MAT_STEEL = 3750)
caliber = ".45"
max_ammo = 50
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/m45tommydrum/empty
+ initial_ammo = 0
/obj/item/ammo_magazine/m45tommydrum/ap
name = "Tommy Gun drum magazine (.45 AP)"
ammo_type = /obj/item/ammo_casing/a45/ap
-/obj/item/ammo_magazine/m45tommydrum/empty
- initial_ammo = 0
-
+// Stripper Clip
/obj/item/ammo_magazine/clip/c45
name = "ammo clip (.45)"
icon_state = "clip_pistol"
@@ -199,13 +220,14 @@
name = "ammo clip (.45 flash)"
ammo_type = /obj/item/ammo_casing/a45/flash
+// Speedloader
/obj/item/ammo_magazine/s45
name = "speedloader (.45)"
icon_state = "45s"
ammo_type = /obj/item/ammo_casing/a45
matter = list(MAT_STEEL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal
caliber = ".45"
- max_ammo = 7
+ max_ammo = 6
multiple_sprites = 1
/obj/item/ammo_magazine/s45/empty
@@ -238,6 +260,9 @@
max_ammo = 30
multiple_sprites = 1
+/obj/item/ammo_magazine/m5mmcaseless/empty
+ initial_ammo = 0
+
/obj/item/ammo_magazine/m5mmcaseless/stun
icon_state = "caseless-mag-alt"
ammo_type = /obj/item/ammo_casing/a5mmcaseless/stun
@@ -246,7 +271,7 @@
/obj/item/ammo_magazine/m9mm
name = "magazine (9mm)"
- icon_state = "9x19p_fullsize"
+ icon_state = "m91"
origin_tech = list(TECH_COMBAT = 2)
mag_type = MAGAZINE
matter = list(MAT_STEEL = 600)
@@ -255,15 +280,6 @@
max_ammo = 10
multiple_sprites = 1
-/obj/item/ammo_magazine/m9mm/large
- desc = "\"FOR LAW ENFORCEMENT/MILITARY USE ONLY\" is clearly etched on the magazine. This is probably illegal for you to have." // Remember, Security is not Law Enforcement, so it's illegal for Security to use as well.
- icon_state = "9x19p_highcap"
- max_ammo = 17
- origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1)
-
-/obj/item/ammo_magazine/m9mm/large/preban // Sold by traders.
- desc = "A large capacity magazine that was built before the SolGov Assault Weapons Ban, so it's legal to own."
-
/obj/item/ammo_magazine/m9mm/empty
initial_ammo = 0
@@ -279,10 +295,33 @@
name = "magazine (9mm practice)"
ammo_type = /obj/item/ammo_casing/a9mm/practice
+// Extended
+/obj/item/ammo_magazine/m9mm/large
+ name = "extended magazine (9mm)"
+ desc = "\"FOR LAW ENFORCEMENT/MILITARY USE ONLY\" is clearly etched on the magazine. This is probably illegal for you to have." // Remember, Security is not Law Enforcement, so it's illegal for Security to use as well.
+ icon_state = "m93"
+ origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1)
+ mag_type = MAGAZINE
+ matter = list(MAT_STEEL = 1000)
+ caliber = "9mm"
+ ammo_type = /obj/item/ammo_casing/a9mm
+ max_ammo = 17
+ multiple_sprites = 1
+
+/obj/item/ammo_magazine/m9mm/large/empty
+ initial_ammo = 0
+
+/obj/item/ammo_magazine/m9mm/large/preban // Sold by traders.
+ desc = "A large capacity magazine that was built before the SolGov Assault Weapons Ban, so it's legal to own."
+
+/obj/item/ammo_magazine/m9mm/large/preban/hp // Hollow Point version
+ name = "magazine (9mm hollow-point)"
+ ammo_type = /obj/item/ammo_casing/a9mm/hp
+
// Compact
/obj/item/ammo_magazine/m9mm/compact
name = "compact magazine (9mm)"
- icon_state = "9x19p"
+ icon_state = "m92"
origin_tech = list(TECH_COMBAT = 2)
mag_type = MAGAZINE
matter = list(MAT_STEEL = 480)
@@ -337,6 +376,7 @@
ammo_type = /obj/item/ammo_casing/a9mm/ap
matter = list(MAT_STEEL = 1000, MAT_PLASTEEL = 2000)
+// P90
/obj/item/ammo_magazine/m9mmp90
name = "large capacity top mounted magazine (9mm armor-piercing)"
icon_state = "p90"
@@ -350,6 +390,7 @@
/obj/item/ammo_magazine/m9mmp90/empty
initial_ammo = 0
+// Stripper Clip
/obj/item/ammo_magazine/clip/c9mm
name = "ammo clip (9mm)"
icon_state = "clip_pistol"
@@ -372,6 +413,7 @@
name = "ammo clip (.45 flash)"
ammo_type = /obj/item/ammo_casing/a9mm/flash
+// Advanced SMG
/obj/item/ammo_magazine/m9mmAdvanced
desc = "A very high capacity double stack magazine made specially for the Advanced SMG. Filled with 21 9mm bullets."
icon_state = "S9mm"
@@ -408,20 +450,6 @@
/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(MAT_STEEL = 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.45mm /////////
/obj/item/ammo_magazine/m545
@@ -435,41 +463,43 @@
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/hunter
name = "magazine (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
+// Extended
+/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/empty
+ initial_ammo = 0
+
+/obj/item/ammo_magazine/m545/practice/ext
+ name = "extended magazine (5.45mm practice)"
+ max_ammo = 30
+
+/obj/item/ammo_magazine/m545/ap/ext
+ name = "extended magazine (5.45mm armor-piercing)"
+ max_ammo = 30
+
/obj/item/ammo_magazine/m545/hunter/ext
name = "extended magazine (5.45mm hunting)"
max_ammo = 30
+// Reduced
/obj/item/ammo_magazine/m545/small
name = "reduced magazine (5.45mm)"
icon_state = "m545-small"
@@ -491,6 +521,7 @@
name = "magazine (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
+// Stripper Clip
/obj/item/ammo_magazine/clip/c545
name = "ammo clip (5.45mm)"
icon_state = "clip_rifle"
@@ -512,6 +543,7 @@
name = "rifle clip (5.45mm practice)"
ammo_type = /obj/item/ammo_casing/a545
+// SAW
/obj/item/ammo_magazine/m545saw
name = "magazine box (5.45mm)"
icon_state = "a545"
@@ -524,6 +556,9 @@
max_ammo = 50
multiple_sprites = 1
+/obj/item/ammo_magazine/m545saw/empty
+ initial_ammo = 0
+
/obj/item/ammo_magazine/m545saw/ap
name = "magazine box (5.45mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a545/ap
@@ -532,9 +567,6 @@
name = "magazine box (5.45mm hunting)"
ammo_type = /obj/item/ammo_casing/a545/hunter
-/obj/item/ammo_magazine/m545saw/empty
- initial_ammo = 0
-
///////// .44 Magnum /////////
/obj/item/ammo_magazine/m44
@@ -551,6 +583,7 @@
/obj/item/ammo_magazine/m44/empty
initial_ammo = 0
+// Stripper Clip
/obj/item/ammo_magazine/clip/c44
name = "ammo clip (.44)"
icon_state = "clip_pistol"
@@ -561,6 +594,7 @@
max_ammo = 9
multiple_sprites = 1
+// Speedloader
/obj/item/ammo_magazine/s44
name = "speedloader (.44)"
icon_state = "44"
@@ -595,33 +629,31 @@
max_ammo = 10
multiple_sprites = 1
+/obj/item/ammo_magazine/m762/empty
+ initial_ammo = 0
+
/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
+// Extended
+/obj/item/ammo_magazine/m762/ext
+ name = "extended magazine (7.62mm)"
+ icon_state = "m762"
+ matter = list(MAT_STEEL = 4000)
+ max_ammo = 20
+
+/obj/item/ammo_magazine/m762/ext/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(MAT_STEEL = 4000)
- ammo_type = /obj/item/ammo_casing/a762
- max_ammo = 20
- multiple_sprites = 1
-
-/obj/item/ammo_magazine/m762m/ap
+/obj/item/ammo_magazine/m762/ext/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/m762garand
- name = "garand clip (7.62mm)" // The clip goes into the magazine, hence the name. I'm very sure this is correct.
- icon_state = "gclip"
+// Enbloc
+/obj/item/ammo_magazine/m762enbloc
+ name = "enbloc (7.62mm)"
+ icon_state = "enbloc"
mag_type = MAGAZINE
caliber = "7.62mm"
matter = list(MAT_STEEL = 1600)
@@ -629,13 +661,14 @@
max_ammo = 8
multiple_sprites = 1
-/obj/item/ammo_magazine/m762garand/ap
+/obj/item/ammo_magazine/m762enbloc/ap
name = "garand clip (7.62mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a762/ap
-/obj/item/ammo_magazine/m762/empty
+/obj/item/ammo_magazine/m762enbloc/empty
initial_ammo = 0
+// Stripper Clip
/obj/item/ammo_magazine/clip/c762
name = "ammo clip (7.62mm)"
icon_state = "clip_rifle"
@@ -657,6 +690,7 @@
name = "rifle clip (7.62mm hunting)"
ammo_type = /obj/item/ammo_casing/a762/hunter
+// SVD
/obj/item/ammo_magazine/m762svd
name = "\improper SVD magazine (7.62mm)"
icon_state = "SVD"
@@ -667,13 +701,13 @@
max_ammo = 10
multiple_sprites = 1
+/obj/item/ammo_magazine/m762svd/empty
+ initial_ammo = 0
+
/obj/item/ammo_magazine/m762svd/ap
name = "\improper SVD magazine (7.62mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a762/ap
-/obj/item/ammo_magazine/m762svd/empty
- initial_ammo = 0
-
///////// 12g /////////
/obj/item/ammo_magazine/m12gdrum
@@ -686,6 +720,9 @@
max_ammo = 24
multiple_sprites = 1
+/obj/item/ammo_magazine/m12gdrum/empty
+ initial_ammo = 0
+
/obj/item/ammo_magazine/m12gdrum/beanbag
name = "magazine (12 gauge beanbag)"
ammo_type = /obj/item/ammo_casing/a12g/beanbag
@@ -698,9 +735,7 @@
name = "magazine (12 gauge flash)"
ammo_type = /obj/item/ammo_casing/a12g/flash
-/obj/item/ammo_magazine/m12gdrum/empty
- initial_ammo = 0
-
+// Clip
/obj/item/ammo_magazine/clip/c12g
name = "ammo clip (12g slug)"
icon_state = "12gclipslug" // Still a placeholder sprite. Feel free to make a better one.
@@ -738,15 +773,3 @@
/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(MAT_STEEL = 600)
- max_ammo = 7
- multiple_sprites = 1
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/magazines_vr.dm b/code/modules/projectiles/ammunition/magazines_vr.dm
deleted file mode 100644
index 0050ae7d478..00000000000
--- a/code/modules/projectiles/ammunition/magazines_vr.dm
+++ /dev/null
@@ -1,9 +0,0 @@
-/obj/item/ammo_magazine/m9mm/large/preban/hp // Hollow Point Version
- name = "magazine (9mm hollow-point)"
- ammo_type = /obj/item/ammo_casing/a9mm/hp
-
-/obj/item/weapon/magnetic_ammo/pistol/khi
- name = "flechette magazine (small, khi)"
- desc = "A magazine containing smaller carbyne flechettes, intended for a pistol."
- icon_state = "caseless-mag-short-alt"
- remaining = 12
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm
index ea0c995ac82..3b6bd97c88d 100644
--- a/code/modules/projectiles/ammunition/magnetic.dm
+++ b/code/modules/projectiles/ammunition/magnetic.dm
@@ -17,3 +17,9 @@
name = "flechette magazine (small)"
desc = "A magazine containing smaller steel flechettes, intended for a pistol."
icon_state = "caseless-mag-short"
+
+/obj/item/weapon/magnetic_ammo/pistol/khi
+ name = "flechette magazine (small, khi)"
+ desc = "A magazine containing smaller carbyne flechettes, intended for a pistol."
+ icon_state = "caseless-mag-short-alt"
+ remaining = 12
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm
index 0ea73396f89..2cbe138c61e 100644
--- a/code/modules/projectiles/ammunition/rounds.dm
+++ b/code/modules/projectiles/ammunition/rounds.dm
@@ -222,6 +222,18 @@
projectile_type = /obj/item/projectile/bullet/pistol/medium
matter = list(MAT_STEEL = 75)
+/obj/item/ammo_casing/a10mm/practice
+ desc = "A 10mm practice bullet casing."
+ icon_state = "r-casing"
+ projectile_type = /obj/item/projectile/bullet/practice
+ matter = list(MAT_STEEL = 60)
+
+/obj/item/ammo_casing/a10mm/rubber
+ desc = "A 10mm rubber bullet casing."
+ projectile_type = /obj/item/projectile/bullet/pistol/rubber
+ icon_state = "r-casing"
+ matter = list(MAT_STEEL = 60)
+
/obj/item/ammo_casing/a10mm/emp
name = "10mm haywire round"
desc = "A 10mm bullet casing fitted with a single-use ion pulse generator."
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index e9fce291a34..cea479f48cf 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -415,7 +415,7 @@
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m762
- allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762m)
+ allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762/ext)
projectile_type = /obj/item/projectile/bullet/rifle/a762
one_handed_penalty = 45
@@ -429,7 +429,7 @@
..()
if(istype(ammo_magazine,/obj/item/ammo_magazine/m762))
icon_state = "bullpup-small"
- else if(istype(ammo_magazine,/obj/item/ammo_magazine/m762m))
+ else if(istype(ammo_magazine,/obj/item/ammo_magazine/m762/ext))
icon_state = "bullpup"
else
item_state = "bullpup-empty"
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 678146eb182..3095666b830 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -78,7 +78,7 @@
caliber = ".45"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
ammo_type = /obj/item/ammo_casing/a45/rubber
- max_shells = 7
+ max_shells = 6
/obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun()
diff --git a/code/modules/projectiles/guns/projectile/semiauto.dm b/code/modules/projectiles/guns/projectile/semiauto.dm
index 31dcf48873f..d3fec59325d 100644
--- a/code/modules/projectiles/guns/projectile/semiauto.dm
+++ b/code/modules/projectiles/guns/projectile/semiauto.dm
@@ -12,8 +12,8 @@
slot_flags = SLOT_BACK
//fire_sound = 'sound/weapons/rifleshot.ogg'
load_method = MAGAZINE // ToDo: Make it so MAGAZINE, SPEEDLOADER and SINGLE_CASING can all be used on the same gun.
- magazine_type = /obj/item/ammo_magazine/m762garand
- allowed_magazines = list(/obj/item/ammo_magazine/m762garand)
+ magazine_type = /obj/item/ammo_magazine/m762enbloc
+ allowed_magazines = list(/obj/item/ammo_magazine/m762enbloc)
auto_eject = 1
auto_eject_sound = 'sound/weapons/garand_ping.ogg'
diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi
index bc7116f5d78..123e6773590 100644
Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ
diff --git a/icons/obj/ammo_boxes.dmi b/icons/obj/ammo_boxes.dmi
index 37069700416..ed38e805415 100644
Binary files a/icons/obj/ammo_boxes.dmi and b/icons/obj/ammo_boxes.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index c420cf57840..b39cca7a0b1 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -3490,7 +3490,6 @@
#include "code\modules\projectiles\projectile.dm"
#include "code\modules\projectiles\ammunition\ammo_boxes.dm"
#include "code\modules\projectiles\ammunition\magazines.dm"
-#include "code\modules\projectiles\ammunition\magazines_vr.dm"
#include "code\modules\projectiles\ammunition\magnetic.dm"
#include "code\modules\projectiles\ammunition\rounds.dm"
#include "code\modules\projectiles\ammunition\smartmag.dm"
@@ -3567,13 +3566,10 @@
#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm"
#include "code\modules\projectiles\projectile\arc.dm"
#include "code\modules\projectiles\projectile\beams.dm"
-#include "code\modules\projectiles\projectile\beams_vr.dm"
#include "code\modules\projectiles\projectile\blob.dm"
#include "code\modules\projectiles\projectile\bullets.dm"
-#include "code\modules\projectiles\projectile\bullets_vr.dm"
#include "code\modules\projectiles\projectile\change.dm"
#include "code\modules\projectiles\projectile\energy.dm"
-#include "code\modules\projectiles\projectile\energy_vr.dm"
#include "code\modules\projectiles\projectile\explosive.dm"
#include "code\modules\projectiles\projectile\force.dm"
#include "code\modules\projectiles\projectile\hook.dm"