From 2a06209972f73b5814d832aa0ea8ec96222aa299 Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Tue, 17 Jul 2012 17:57:22 +0000 Subject: [PATCH] Runtime fix for Russian Revolvers. You cannot reuse bullets with Russian Revolvers now. Sinks can now fill any reagent containers, you can set the amount to fill by setting the reagent container's transfer amount. Was added so Chefs can be more precise when using water in their ingredients. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4098 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/objects/watercloset.dm | 15 ++++----------- .../projectiles/guns/projectile/revolver.dm | 15 ++++----------- html/changelog.html | 1 + 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/code/game/objects/watercloset.dm b/code/game/objects/watercloset.dm index 96c213faa0..808aaf9127 100644 --- a/code/game/objects/watercloset.dm +++ b/code/game/objects/watercloset.dm @@ -318,19 +318,12 @@ user << "\red Someone's already washing here." return - if (istype(O, /obj/item/weapon/reagent_containers/glass/bucket)) - O:reagents.add_reagent("water", 70) - user.visible_message( \ - "\blue [user] fills the [O] using \the [src].", \ - "\blue You fill the [O] using \the [src].") + if (istype(O, /obj/item/weapon/reagent_containers)) + var/obj/item/weapon/reagent_containers/RG = O + RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) + user.visible_message("\blue [user] fills the [RG] using \the [src].","\blue You fill the [RG] using \the [src].") return - if (istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks)) - O:reagents.add_reagent("water", 10) - user.visible_message( \ - "\blue [user] fills the [O] using \the [src].", \ - "\blue You fill the [O] using \the [src].") - return else if (istype(O, /obj/item/weapon/melee/baton)) var/obj/item/weapon/melee/baton/B = O if (B.charges > 0 && B.status == 1) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index b7339bf9fa..6ca433c6cf 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -69,8 +69,11 @@ /obj/item/weapon/gun/projectile/russian/attackby(var/obj/item/A as obj, mob/user as mob) + if(!A) return + var/num_loaded = 0 if(istype(A, /obj/item/ammo_magazine)) + if((load_method == 2) && loaded.len) return var/obj/item/ammo_magazine/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) @@ -82,16 +85,7 @@ loaded += AC num_loaded++ break - if(load_method == 2) - ..() - return - if(istype(A, /obj/item/ammo_casing) && !load_method) - var/obj/item/ammo_casing/AC = A - if(AC.caliber == caliber && loaded.len < max_shells && getAmmo() == 0) - user.drop_item() - AC.loc = src - loaded += AC - num_loaded++ + A.update_icon() if(num_loaded) user.visible_message("[user] loads a single bullet into the revolver and spins the chamber.", "You load a single bullet into the chamber and spin it.") @@ -99,7 +93,6 @@ user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") if(getAmmo() > 0) Spin() - A.update_icon() update_icon() return diff --git a/html/changelog.html b/html/changelog.html index 21bdd639e1..cc2c70fefc 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -57,6 +57,7 @@ should be listed in the changelog upon commit tho. Thanks. -->

Giacom updated: