From ff3e399a9c59bf1ede4cff3a72b7fe0d6f0ac4e4 Mon Sep 17 00:00:00 2001 From: "VivianFoxfoot@gmail.com" Date: Thu, 26 Apr 2012 21:53:56 +0000 Subject: [PATCH] Fixes Fix for some weapons not checking if they have a round in the chamber before attempting to load another. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3519 316c924e-a436-60f5-8080-3fe189b3f50e --- code/modules/projectiles/guns/energy/laser.dm | 3 ++- code/modules/projectiles/guns/projectile.dm | 10 +++++++++- code/modules/projectiles/guns/projectile/shotgun.dm | 8 ++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 419e5052aec..e5a0d764d11 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -51,7 +51,8 @@ obj/item/weapon/gun/energy/laser/retro /obj/item/weapon/gun/energy/laser/cyborg/load_into_chamber() - if(in_chamber) return 1 + if(in_chamber) + return 1 if(isrobot(src.loc)) var/mob/living/silicon/robot/R = src.loc if(R && R.cell) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index ab72471fe71..04b80ff02e3 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -24,7 +24,11 @@ load_into_chamber() - if(!loaded.len) return 0 + if(in_chamber) + return 1 + + if(!loaded.len) + return 0 var/obj/item/ammo_casing/AC = loaded[1] //load next casing. loaded -= AC //Remove casing from loaded list. @@ -73,5 +77,9 @@ examine() ..() usr << "Has [loaded.len] round\s remaining." + if(in_chamber && !loaded.len) + usr << "However, it has a chambered round." + if(in_chamber && loaded.len) + usr << "It also has a chambered round." return diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 551c469f411..3f13545b85a 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -17,7 +17,8 @@ load_into_chamber() - if(in_chamber) return 1 + if(in_chamber) + return 1 return 0 @@ -69,7 +70,10 @@ ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" load_into_chamber() - if(!loaded.len) return 0 + if(in_chamber) + return 1 + if(!loaded.len) + return 0 var/obj/item/ammo_casing/AC = loaded[1] //load next casing. loaded -= AC //Remove casing from loaded list.