diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm
index a9e4fa1646..b621033123 100644
--- a/code/modules/projectiles/ammunition/_ammunition.dm
+++ b/code/modules/projectiles/ammunition/_ammunition.dm
@@ -9,7 +9,7 @@
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL = 500)
var/fire_sound = null //What sound should play when this ammo is fired
- var/caliber = null //Which kind of guns it can be loaded into
+ var/caliber = list() //Which kind of guns it can be loaded into
var/projectile_type = null //The bullet type to create when New() is called
var/obj/item/projectile/BB = null //The loaded bullet
var/pellets = 1 //Pellets for spreadshot
diff --git a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
index 538ac753e2..d8e53b2451 100644
--- a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
@@ -1,7 +1,7 @@
/obj/item/ammo_box/magazine/internal/cylinder
name = "revolver cylinder"
ammo_type = /obj/item/ammo_casing/a357
- caliber = "357"
+ caliber = list("357","38")
max_ammo = 7
/obj/item/ammo_box/magazine/internal/cylinder/ammo_count(countempties = 1)
@@ -31,7 +31,7 @@
rotate()
/obj/item/ammo_box/magazine/internal/cylinder/give_round(obj/item/ammo_casing/R, replace_spent = 0)
- if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type))
+ if(!R || (caliber && !(R.caliber in caliber)) || (!caliber && R.type != ammo_type))
return FALSE
for(var/i in 1 to stored_ammo.len)
diff --git a/code/modules/projectiles/boxes_magazines/internal/grenade.dm b/code/modules/projectiles/boxes_magazines/internal/grenade.dm
index 8b2ec9fca3..d6d338e8ff 100644
--- a/code/modules/projectiles/boxes_magazines/internal/grenade.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/grenade.dm
@@ -1,7 +1,7 @@
/obj/item/ammo_box/magazine/internal/cylinder/grenademulti
name = "grenade launcher internal magazine"
ammo_type = /obj/item/ammo_casing/a40mm
- caliber = "40mm"
+ caliber = list("40mm")
max_ammo = 6
/obj/item/ammo_box/magazine/internal/grenadelauncher
diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
index 982d22493f..a9cad1adc8 100644
--- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
@@ -1,19 +1,19 @@
/obj/item/ammo_box/magazine/internal/cylinder/rev38
name = "detective revolver cylinder"
ammo_type = /obj/item/ammo_casing/c38
- caliber = "38"
+ caliber = list("38")
max_ammo = 6
/obj/item/ammo_box/magazine/internal/cylinder/rev762
name = "\improper Nagant revolver cylinder"
ammo_type = /obj/item/ammo_casing/n762
- caliber = "n762"
+ caliber = list("n762")
max_ammo = 7
/obj/item/ammo_box/magazine/internal/cylinder/rus357
name = "\improper Russian revolver cylinder"
ammo_type = /obj/item/ammo_casing/a357
- caliber = "357"
+ caliber = list("357")
max_ammo = 6
multiload = 0
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index c2206fcea8..ab9dd6d6a6 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -110,7 +110,7 @@
/obj/item/gun/ballistic/revolver/detective/screwdriver_act(mob/living/user, obj/item/I)
if(..())
return TRUE
- if(magazine.caliber == "38")
+ if("38" in magazine.caliber)
to_chat(user, "You begin to reinforce the barrel of [src]...")
if(magazine.ammo_count())
afterattack(user, user) //you know the drill
@@ -120,7 +120,7 @@
if(magazine.ammo_count())
to_chat(user, "You can't modify it!")
return TRUE
- magazine.caliber = "357"
+ magazine.caliber = list("357")
desc = "The barrel and chamber assembly seems to have been modified."
to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.")
else
@@ -133,7 +133,7 @@
if(magazine.ammo_count())
to_chat(user, "You can't modify it!")
return
- magazine.caliber = "38"
+ magazine.caliber = list("38")
desc = initial(desc)
to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.")
return TRUE