diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 0bb76d5369..672978400c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -54,7 +54,7 @@
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/ids( src )
new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/projectile/detective/flash(src)
+ new /obj/item/weapon/gun/projectile/colt/flash(src)
new /obj/item/device/flash(src)
return
@@ -262,7 +262,7 @@
new /obj/item/ammo_magazine/c45m/rubber(src)
new /obj/item/ammo_magazine/c45m/rubber(src)
new /obj/item/taperoll/police(src)
- new /obj/item/weapon/gun/projectile/detective(src)
+ new /obj/item/weapon/gun/projectile/colt/detective(src)
new /obj/item/clothing/accessory/holster/armpit(src)
return
diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm
index 12f1f96601..839289e2c2 100644
--- a/code/modules/projectiles/guns/projectile/pistol.dm
+++ b/code/modules/projectiles/guns/projectile/pistol.dm
@@ -1,20 +1,38 @@
-/obj/item/weapon/gun/projectile/detective
+/obj/item/weapon/gun/projectile/colt
name = "\improper Colt M1911"
- desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds."
+ desc = "A cheap Martian knock-off of a Colt M1911."
+ magazine_type = /obj/item/ammo_magazine/c45m
icon_state = "colt"
caliber = ".45"
origin_tech = "combat=2;materials=2"
load_method = MAGAZINE
- magazine_type = /obj/item/ammo_magazine/c45m/rubber
-/obj/item/weapon/gun/projectile/detective/flash
+/obj/item/weapon/gun/projectile/colt/flash
name = "\improper Colt M1911 signal pistol"
desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 signal flash rounds."
magazine_type = /obj/item/ammo_magazine/c45m/flash
-/obj/item/weapon/gun/projectile/detective/colt
- desc = "A cheap Martian knock-off of a Colt M1911."
- magazine_type = /obj/item/ammo_magazine/c45m
+/obj/item/weapon/gun/projectile/colt/detective
+ desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds."
+ magazine_type = /obj/item/ammo_magazine/c45m/rubber
+
+/obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun()
+ set name = "Name Gun"
+ set category = "Object"
+ set desc = "Rename your gun. If you're the detective."
+
+ var/mob/M = usr
+ if(!M.mind) return 0
+ if(!M.mind.assigned_role == "Detective")
+ M << "You don't feel cool enough to name this gun, chump."
+ return 0
+
+ var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN)
+
+ if(src && input && !M.stat && in_range(M,src))
+ name = input
+ M << "You name the gun [input]. Say hello to your new friend."
+ return 1
/obj/item/weapon/gun/projectile/silenced
name = "silenced pistol"
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 0d23d63d7b..9bef0c40d3 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -23,61 +23,20 @@
origin_tech = "combat=2;materials=2"
ammo_type = /obj/item/ammo_casing/c38
- special_check(var/mob/living/carbon/human/M)
- if(caliber == initial(caliber) && prob(70 - (loaded.len * 10))) //minimum probability of 10, maximum of 60
- M << "[src] blows up in your face."
- M.take_organ_damage(0,20)
- M.drop_item()
- del(src)
- return 0
- return ..()
+/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
+ set name = "Name Gun"
+ set category = "Object"
+ set desc = "Click to rename your gun. If you're the detective."
- verb/rename_gun()
- set name = "Name Gun"
- set category = "Object"
- set desc = "Click to rename your gun. If you're the detective."
+ var/mob/M = usr
+ if(!M.mind) return 0
+ if(!M.mind.assigned_role == "Detective")
+ M << "You don't feel cool enough to name this gun, chump."
+ return 0
- var/mob/M = usr
- if(!M.mind) return 0
- if(!M.mind.assigned_role == "Detective")
- M << "You don't feel cool enough to name this gun, chump."
- return 0
+ var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN)
- var/input = stripped_input(usr,"What do you want to name the gun?", ,"", MAX_NAME_LEN)
-
- if(src && input && !M.stat && in_range(M,src))
- name = input
- M << "You name the gun [input]. Say hello to your new friend."
- return 1
-
- attackby(var/obj/item/A as obj, mob/user as mob)
- ..()
- if(istype(A, /obj/item/weapon/screwdriver))
- if(caliber == "38")
- user << "You begin to reinforce the barrel of [src]."
- if(loaded.len)
- afterattack(user, user) //you know the drill
- playsound(user, fire_sound, 50, 1)
- user.visible_message("[src] goes off!", "[src] goes off in your face!")
- return
- if(do_after(user, 30))
- if(loaded.len)
- user << "You can't modify it!"
- return
- caliber = "357"
- desc = "The barrel and chamber assembly seems to have been modified."
- user << "You reinforce the barrel of [src]! Now it will fire .357 rounds."
- else if (caliber == "357")
- user << "You begin to revert the modifications to [src]."
- if(loaded.len)
- afterattack(user, user) //and again
- playsound(user, fire_sound, 50, 1)
- user.visible_message("[src] goes off!", "[src] goes off in your face!")
- return
- if(do_after(user, 30))
- if(loaded.len)
- user << "You can't modify it!"
- return
- caliber = "38"
- desc = initial(desc)
- user << "You remove the modifications on [src]! Now it will fire .38 rounds."
+ if(src && input && !M.stat && in_range(M,src))
+ name = input
+ M << "You name the gun [input]. Say hello to your new friend."
+ return 1