From 7e9752abf56562c3608ba6598528820f1e9f8fc0 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Wed, 25 Sep 2024 08:51:41 -0500 Subject: [PATCH] minimum recoil for ballistics (#3330) ## About The Pull Request gives a very small kick to all ballistics, not enough to affect your aim but makes them feel alot better to use. atomization of #3094 currently debating what the value should be.. 0 https://github.com/user-attachments/assets/1630a089-bf9f-4ec5-8853-c2728f420f4e .1 https://github.com/user-attachments/assets/2064b49b-37f5-4860-b273-1f28274724f7 .175 https://github.com/user-attachments/assets/6baba2ad-8100-403e-b6c4-d4e958ad21d6 .25 https://github.com/user-attachments/assets/ca3bdf37-bf30-493e-bb24-ae452cbc6481 a bit of an extreme case being a fast firing auto but it happens to be a gun with a recoil of 0 rn so it will be affected by the change ## Why It's Good For The Game without it, a surprising amount of ballistics get 0 recoil just but wielding them which feels really jarring. ## Changelog :cl: add: Ballistics now have a minimum recoil, not enough to mess up your shot! /:cl: --- code/modules/projectiles/gun.dm | 11 +++++++---- code/modules/projectiles/guns/ballistic.dm | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index b59a1530a209..28ef8cecdd80 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -207,6 +207,12 @@ ///this is how much deviation the gun recoil can have, recoil pushes the screen towards the reverse angle you shot + some deviation which this is the max. var/recoil_deviation = 22.5 + ///Used if the guns recoil is lower then the min, it clamps the highest recoil + var/min_recoil = 0 + + var/gunslinger_recoil_bonus = 0 + var/gunslinger_spread_bonus = 0 + /// how many shots per burst, Ex: most machine pistols, M90, some ARs are 3rnd burst, while others like the GAR and laser minigun are 2 round burst. var/burst_size = 3 ///The rate of fire when firing in a burst. Not the delay between bursts @@ -318,9 +324,6 @@ ///This prevents gun from firing until the coodown is done, affected by lag var/current_cooldown = 0 - var/gunslinger_recoil_bonus = 0 - var/gunslinger_spread_bonus = 0 - /obj/item/gun/Initialize() . = ..() RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) @@ -815,7 +818,7 @@ /obj/item/gun/proc/calculate_recoil(mob/user, recoil_bonus = 0) if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) recoil_bonus += gunslinger_recoil_bonus - return clamp(recoil_bonus, 0 , INFINITY) + return clamp(recoil_bonus, min_recoil , INFINITY) /obj/item/gun/proc/calculate_spread(mob/user, bonus_spread) var/final_spread = 0 diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 0288813fd089..00f48cc29239 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -13,6 +13,8 @@ has_safety = TRUE safety = TRUE + min_recoil = 0.1 + valid_attachments = list( /obj/item/attachment/silencer, /obj/item/attachment/laser_sight,