From b362be9bb1d22f0a4279a1af0e5d9a23804f90da Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 28 Jul 2015 10:21:16 +0300 Subject: [PATCH] Russian roulette Fun for whole sec team! --- .../projectiles/guns/projectile/revolver.dm | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 2cfcaeb1530..bf238167be0 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -8,6 +8,29 @@ handle_casings = CYCLE_CASINGS max_shells = 7 ammo_type = /obj/item/ammo_casing/a357 + var/chamber_offset = 0 //how many empty chambers in the cylinder until you hit a round + +/obj/item/weapon/gun/projectile/revolver/verb/spin_cylinder() + set name = "Spin cylinder" + set desc = "Fun when you're bored out of your skull." + set category = "Object" + + chamber_offset = 0 + visible_message("\The [usr] spins the cylinder of \the [src]!", \ + "You hear something metallic spin and click.") + loaded = shuffle(loaded) + if(rand(1,max_shells) > loaded.len) + chamber_offset = rand(0,max_shells - loaded.len) + +/obj/item/weapon/gun/projectile/revolver/consume_next_projectile() + if(chamber_offset) + chamber_offset-- + return + return ..() + +/obj/item/weapon/gun/projectile/revolver/load_ammo(var/obj/item/A, mob/user) + chamber_offset = 0 + return ..() /obj/item/weapon/gun/projectile/revolver/mateba name = "mateba"