diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d9a0ee78a2..6654cc3410 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -214,6 +214,7 @@ var/sprd = 0 var/randomized_gun_spread = 0 + var/rand_spr = rand() if(spread) randomized_gun_spread = rand(0,spread) var/randomized_bonus_spread = rand(0, bonus_spread) @@ -230,7 +231,7 @@ if(randomspread) sprd = round((rand() - 0.5) * (randomized_gun_spread + randomized_bonus_spread)) else //Smart spread - sprd = round((i / burst_size - 0.5) * (randomized_gun_spread + randomized_bonus_spread)) + sprd = round((((rand_spr/burst_size) * i) - (0.5 + (rand_spr * 0.25))) * (randomized_gun_spread + randomized_bonus_spread)) if(!chambered.fire_casing(target, user, params, ,suppressed, zone_override, sprd)) shoot_with_empty_chamber(user) @@ -249,7 +250,7 @@ firing_burst = 0 else if(chambered) - sprd = round((pick(1,-1)) * (randomized_gun_spread + randomized_bonus_spread)) + sprd = round((rand() - 0.5) * (randomized_gun_spread + randomized_bonus_spread)) if(!chambered.fire_casing(target, user, params, , suppressed, zone_override, sprd)) shoot_with_empty_chamber(user) return