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"