From 67489d62d422f78b0c0c685ca8ddd3a1741ccf36 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 05:56:31 -0700 Subject: [PATCH 1/2] Update projectile.dm --- code/modules/projectiles/projectile.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a902c545b8..e79fe9c3a3 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -90,6 +90,10 @@ var/decayedRange //stores original range var/reflect_range_decrease = 5 //amount of original range that falls off when reflecting, so it doesn't go forever var/is_reflectable = FALSE // Can it be reflected or not? + + /// factor to multiply by for zone accuracy percent. + var/zone_accuracy_factor = 1 + //Effects var/stun = 0 var/knockdown = 0 @@ -253,7 +257,8 @@ return TRUE var/distance = get_dist(T, starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations. - def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. + if(check_zone(def_zone) != BODY_ZONE_CHEST) + def_zone = ran_zone(def_zone, max(100-(7*distance), 5) * zone_accuracy_factor) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. if(isturf(A) && hitsound_wall) var/volume = CLAMP(vol_by_damage() + 20, 0, 100) From 3d7fef76f3b2fbbd6a4a7003ce32a9ef0d0d4928 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 05:57:16 -0700 Subject: [PATCH 2/2] Update sniper.dm --- code/modules/projectiles/projectile/bullets/sniper.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index bea5dbc140..5e3ae53806 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -7,6 +7,7 @@ knockdown = 100 dismemberment = 50 armour_penetration = 50 + zone_accuracy_factor = 100 //guarunteed 100% var/breakthings = TRUE /obj/item/projectile/bullet/p50/on_hit(atom/target, blocked = 0)