Cyberpunk 2077
0 of 0

File information

Last updated

Original upload

Created by

SKNTheLisper

Uploaded by

SknTheLisper

Virus scan

Safe to use

Tags for this mod

About this mod

Discards the remaining ammunition in a magazine when you reload

Requirements
Permissions and credits
Changelogs
Tired of seeing V discard magazines like they're nothing, just to have a magic hand grab the remaining bullets from it, and pull it into V's pocket(which also seems to magically refill any magazines he has)? Then this is the mod for you!  While it won't fix V's horrible habbit of discarding magazines, it will remove the weird magic bullet-magnet that V has. In other words: Remaining ammo in a magazine is discarded. 

If confused at exactly what the mod does, look at the showcase video and pay attention to the ammo counter.

Note for those with gameplay concerns:
See the 2 gameplay videos under the video tab(2 is continuation of 1, with non-full magazines from previous fight). As long as you let go of bad habbits(of reloading as soon as you've shot one bullet), and accept that you don't actually need to start a fight with full magazine, this mod changes very little. Most fights you'll either shoot out your entire magazine(making this mod have no effect), or you'll lose < 5 bullets from premature reloads.  My average bullet-waste is somewhere around 6 pr fight, which is less than what I waste when I miss!


Install:
Drop into your Cyberpunk Directory example: "C:/GoG Games/Cyberpunk 2077/", the requirement is not optional.

Config Options(In the mod menu):
Immersion Mode: This only activates the discard functions 'if' V actually discards the magazine.  There 'is' however a caveat to this, and that's I can't determine what animation is played, so the assumption is that V 'always' discards if a weapon has at least 1 relativly clear-cut case of magazine discard(with a non-empty magazine). Example of this would be the Nekomata, where V clearly stove the magazine in at least one of the three animations, but clearly throws it infront of him\her in another. So presedence is set by the one where the magazine is clearly thrown.  Animations where it can kind-of be taken both ways(like the Sidewinder SMG), assumption is that V stoves it.

Combat Discard: This option ensures ammo is always discarded 'if' you are in combat. If used with Immersive Mode, then Immersive mode will work outside of combat, and in-combat discard will always happen. Note: Tubefed weapons are always an exception(for obvious logical reasons).

Disable Ammo Discard:  This option is onyl available if Combat Discard is activated. With this on, reload functions exactly like vanilla, unless you are in combat(Immersive Mode will have no effect with this option on).

Delay Time: This is an hacky solution to the problem of only being able to tell when you press reload, and no other time. What this does, is that it gives a certain amount of game-ticks before ammo is subtracted. The default value(55) i chosen as it in my testing, is the best all-around number for enough time to interrupt, and also have ammo-count get updated.  Too low value, interruption and reload spam doing multiple subtractions increases,  too high and the HUD\Ammo Counter doesn't update the discarded ammo. If you're having either of those problems, this is the setting to choose(For the former, increase it, but bear in mind it'll prevent ammo from updating,  for the latter, decrease it).

Refund Time:  This option is essentially how long you have to do an interrupt, but also how long it takes before the ammo you lost(because of this mod when you attempted to interrupt) is refunded. As with Delay time, lower value = lower interrupt time, but slower refund time, and vice-versa.  The issue with an higher value. You can do multiple reloads within the same timeframe(as it's added ontop). I still don't really recommend having excessivly high values on it. 65 is chosen as it feels like the perfect 'sweetspot' for most weapons(where you generally don't see the ammo subtracted then magically added after an interrupt).

Minor issue(s):
Spamming the reload key while reloading will make the gun 'reload' twice(a.k.a; remove\subtract multiple magazines worth of ammo), I've done the best I can to mitigate this(accidental double, tripple or quadtrouple clicks are fine, pressing reload towards end of the reload animation, is not). This can be configured with DelayTime, increasing it's value will delay the subtraction of the ammo further, too high, and you'd be able to interrupt the reload simply by re-reloading before this happens(reload subtraction is not qued and never will be, it serves no purpose).

Interrupt\Refund Time. So because of how things work, the UI\HUD doesn't really update when new things get added, etc. I haven't been able to figure out how to force an update event(if it's even possible) for the HUD\Ammo Counter, so you might not see the refund before you've shot a round(or changed the weapon). This is why the delay time is so low for the reload mechanic, as any higher causes it to bug out on certain guns(not showing the new total ammo, because the updated didn't happen 'in time').

Ammo is only refunded to the last interrupted ammo-type. This means for example: you start reload on a pistol, but you interrupt, then switch to an assault rifle, then attempt a reload but interrupt this as well, all before refund time has gone down and refunded the original pistol ammo,  you'll be refunded only for the assault rifle, not the pistol.  To fix this, I need to create a more sophisticated qued interrupt check.


Will you do:
"Chambered bullet" - I've been unable to find a way to determine if the player shoots their gun or not(I can see 'if' the player wants to shoot, but not if it actually did shoot), which makes a chambered bullet system extremely unreliable.

"Fix immersive Mode, so only correct animation discards" - If you tell me how to check for what animation is playing, yes. Otherwise, no(I've been unable to find this).

"Make a better reload\discard system" - Yes\No. I've been throwing around the idea of 'maybe' prevent movement when you've started reloading(assuming I can do that), unless you double-tap reload(which'll discard your entire magazine, but allow you to move at the same time). As before, no promises. Haven't tested to check if it's even doable.

"I don't like your choices with immersive mode, can you make a customized list for me?" - No, but you can go into the ReloadSystem.lua file and add\remove whichever weapon you want yourself. Take a look at how I get the weaponNames to see how to check for which weapon you're holding, and then add\remove as you wish.