diff --git a/code/modules/projectiles/guns/projectile/contender.dm b/code/modules/projectiles/guns/projectile/contender.dm
new file mode 100644
index 0000000000..4d840a214b
--- /dev/null
+++ b/code/modules/projectiles/guns/projectile/contender.dm
@@ -0,0 +1,42 @@
+/obj/item/weapon/gun/projectile/contender
+ name = "Thompson Contender"
+ desc = "A perfect, pristine replica of an ancient one-shot hand-cannon. For when you really want to make a hole. This one has been modified to work almost like a bolt-action. Uses .357 rounds."
+ icon_state = "pockrifle"
+ var/icon_retracted = "pockrifle-empty"
+ item_state = "revolver"
+ caliber = ".357"
+ handle_casings = HOLD_CASINGS
+ max_shells = 1
+ ammo_type = /obj/item/ammo_casing/a357
+ var/retracted_bolt = 0
+ load_method = SINGLE_CASING
+
+/obj/item/weapon/gun/projectile/contender/attack_self(mob/user as mob)
+ if(chambered)
+ chambered.loc = get_turf(src)
+ chambered = null
+ var/obj/item/ammo_casing/C = loaded[1]
+ loaded -= C
+
+ if(!retracted_bolt)
+ to_chat(user, "You cycle back the bolt on [src], ejecting the casing and allowing you to reload.")
+ icon_state = icon_retracted
+ retracted_bolt = 1
+ return 1
+ else if(retracted_bolt && loaded.len)
+ to_chat(user, "You cycle the loaded round into the chamber, allowing you to fire.")
+ else
+ to_chat(user, "You cycle the boly back into position, leaving the gun empty.")
+ icon_state = initial(icon_state)
+ retracted_bolt = 0
+
+/obj/item/weapon/gun/projectile/contender/load_ammo(var/obj/item/A, mob/user)
+ if(!retracted_bolt)
+ to_chat(user, "You can't load [src] without cycling the bolt.")
+ return
+ ..()
+
+/obj/item/weapon/gun/projectile/contender/tacticool
+ desc = "A modified replica of an ancient one-shot hand-cannon, reinvented with a tactical look. For when you really want to make a hole. This one has been modified to work almost like a bolt-action. Uses .357 rounds."
+ icon_state = "pockrifle_b"
+ icon_retracted = "pockrifle_b-empty"
\ No newline at end of file
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi
index 75f5005aa5..a548850ef9 100644
Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ
diff --git a/polaris.dme b/polaris.dme
index d5724e9710..e6b605a99b 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -1911,6 +1911,7 @@
#include "code\modules\projectiles\guns\launcher\syringe_gun.dm"
#include "code\modules\projectiles\guns\projectile\automatic.dm"
#include "code\modules\projectiles\guns\projectile\boltaction.dm"
+#include "code\modules\projectiles\guns\projectile\contender.dm"
#include "code\modules\projectiles\guns\projectile\dartgun.dm"
#include "code\modules\projectiles\guns\projectile\pistol.dm"
#include "code\modules\projectiles\guns\projectile\revolver.dm"