Unlimited party, improved damage formula, better healing system, comprehensive highlighting and more.
Post Reply
User avatar
Magus
Site Admin
Posts: 157
Joined: Mon Nov 21, 2016 9:13 am

My take on AP/JHP dilemma

Post by Magus » Wed Nov 14, 2018 10:30 pm

Probably only a very lazy person hasn't taken a shot at this by now... and here I am, overcoming my laziness.
(If you don't want to read the long-winded version, scroll to the bottom to see what this does and how to try it).

First, to address the inevitable question - why make yet yet another ammo mod? Without going into details and making it sound like I badmouth various mods or authors - none of them were to my satisfaction. Some use original formula, which, after some research, I deemed broken beyond redemption, no amount of proto modding is going to change that. Some use formulas which I find convoluted, unintuitive and unjustified. Some change too much in addition to ammo stats, and don't really achieve the desired effect anyway.
Note, however, that sfall was not as advanced at the times when the well-known ammo mods were made as it is now, and formulas might have not been researched just as well, so this attempt wouldn't even be possible without the massive amount of work that other people put into this.

OK, enough with pleasantries, to the subject. The goal was to achieve a state in which AP/JHP situation would be somewhat resolved, with minimal amount of changes to game protos and affecting gameplay much. At least in the first half of the game. Later stages are going to be affected, because that's where AP ammo is supposed to be used. Basically, same old F2, just... making sense.

Main idea.
There are two problems resulting in F2's ammo mess:
1) DT can't be affected (this has been noted and to some point addressed in some mods).
2) Ammo stats - AC mod, DR mod, and DMG multiplier are pulled out of ass. Literally, they are just assigned on basis of "this is a hi-end rifle, so its ammo is better". This is where I took issue.

If you think about it a little, penetration and dealing damage are not independent qualities. In fact, they are exact opposites. A JHP bullet does more damage because it penetrates less.

It possible to make up some special bullet that penetrates first, and after wasting a specific amount of energy, just enough to penetrate armor, mushrooms and deals damage like JHP, but then if the armor got just a little bit harder, it would be ineffective similary to normal JHP, resulting in some non-linear effects. Let's just say that we don't need combat that complicated in F2.

Thus, the idea: having multiple modifiers for ammo is not justified. A bullet is a dumb projectile, a piece of metal flying at you at high velocity. Its penetration and damage dealing capabilities are inherently inverse.
So, instead of trying to juggle multiple ammo stats against multiple armor stats, I decided to make ammo have one parameter, determining all of its properties, and... let it balance itself, more or less.

To change as little as possible, vanilla DR mod was chosen to be this parameter. Only now it multiplies both target DR and DT, and determines damage mod. And DT is applied first, not last.
The short version of the new formula is

Code: Select all

(rnd + ranged_bonus - dt) * ammo_mult * critical_mult * difficulty_mult * dr_mult
Where

Code: Select all

dt = target_dt*(100+dr_mod)/100
ammo_mult = (100+dr_mod)/100
dr_mult = (100 - final_dr)/100 //see below
final_dr = target_dr * (100 + dr_mod) / 100
As you maybe can see from that, a JHP bullet with +35% DR mod will do exactly 135% damage to an unarmored target. And an AP bullet will do 65%. Twice less, about the same relation as in the original I think.
However, as armor gets harder, JHP damage values diminish at rates far greater than AP's, and if you take someone in Power Armor, their DT alone will skyrocket to 15*1.35=20. It means that almost no conventional weapon will be able to hurt them, at least with JHP.

The exact formula is more complicated, you can review it yourself. However, I kept true to the original F2 calculations, such as total dr is capped at 90% no matter what modifiers there are, critical bypass reduces both DT and DR to 20% of their values, values can't go negative, etc.

Now, the main question - what's the result? I been using it for a while, and I would say it's more or less satisfactory. Generally I can look at the numbers and say "yeah, it make sense". And I only had to adjust 3 protos to fit the formula - 2 rockets and needler AP ammo.

This is not all, however. With the way the criticals are implemented in F2, and how Sniper perk works, critical bursts with JHP still would outperform AP against heavily armored targets. To address this, and to be "fair", as in "fair game" I was going to change bursts so that each bullet roll its own critical. That again proved problematic, as with Sniper, 10 Luck, Better Criticals and a minigun, you shell out 40 bullets per burst, with 20% chance per bullet to outright kill the target.
I don't like to change things just "for balance", but this is where I made a judgement call. Now each bullet in a burst (excepting the first one) rolls its own critical damage and armor bypass effect (but not other effects like knockdown or instant death), unaffected by Sniper perk. Essentially, it means that bursts no longer deliver over-the-top critical damage. They deliver stable damage, critical only means that a critical effect has been rolled.
Note, however, that when you're shooting 40 bullets point-blank, even if it's JHP, and even if the target is in Power Armor, 1-2 of these bullets likely will roll a critical and do some damage.

Lastly, all internal calculations are made in float, and only rounded at the end. The numbers are just a convention, after all. And rounding is "smart". For example, 5.3 damage has 30% chance to be rounded to 6 and 70% chance to be rounded to 5. Both these things ensure that output curves are smooth. No single extra DT point or extra 5% DR will suddenly make total minigun damage drop from 10 to 0.

Well, major changes are highlighted, so it's time to move to
Effects in game
- Early game is more or less the same, JHP ammo rules.
- By midgame, starting somewhere with Metal Armor Mark II, AP ammo becomes somewhat more effective. (This doesn't mean that JHP doesn't do damage, though. A point-blank burst from a minigun with JHP will rip most enemies in Combat Armor apart).
- Power armor with its massive DT is a game changer. It will shrug off most JHP attacks. Even AP ammo is not very effective. You'll need to penetrate (criticals), or bring heavy weaponry - or bust.

Extra notes
- This is currently applied to all firearms. HtH, melee and throwing are not affected. Maybe they will be, after some feedback is gathered.
- This is not an attempt to "balance", just to make sense. There's more to balance than just item stats. There's ammo rarity, price, equipping enemies with proper ammo and armor, making them to actually use that ammo, etc. The more you change, the more there's to change, to the point when it's easier to start making a new game. I won't go down that road.
- "Fixing" energy weapons - also not in the scope. Damage mod makes them slightly weaker against end-game armor, but it does that to all weapons.
- The whole idea of penetration vs damage does not apply to, say, flamethrower, or "smart" projectiles such as rockets. It is indeed possible to have some flamethrower fuel that's just plain better than another. However, I found default values for flamethrower in particular to work sensibly, thus they remained intact. Rockets had to be adjusted a little.
- I am open to changing stats of 5-10-15 particular ammo/weapon/armor items to fit the narrative better, but probably no more. The whole idea is to keep it close to original experience.
- AC mod is left without change. I would've applied the same logic to it, but unfortunately it's not possible with current sfall capabilities. Maybe later.

How to get it
It's available in the latest FO2tweaks release. Best news is that it's completely optional, you can install it, try, and if you don't like the result - just disable it.
Please do not PM or email me about my mods and projects. Use forums. Also, see our talk channels.

Post Reply