What does Combat Difficult setting do?

Discussion in 'Fallout RPG Gameplay & Tech' started by QuantumApprentice, Feb 9, 2018.

  1. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    I apologize if this has been explained elsewhere, the search function didn't turn up much so I figured I'd just ask.

    I'm trying to figure out what exactly the combat difficulty setting does in Fallout 2. A few posts I've seen on other forums say it lowers the enemies perception, or reduces their critical chance while increasing the players.

    But I was looking at the weapon damage formula on the falloutmods wiki and it looks like the combat difficulty setting is also used to determine the player's final damage output.

    Can anybody point me to a breakdown of what the Combat Difficulty setting affects?
    Also, does the Game Difficulty setting affect anything besides your non-combat skill levels?
  2. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    Here's what I've come up with so far:

    This place appears to actually be documentation on the Fallout engine, though I can't tell if it's Fallout 1 or 2.
    Most of the way down on the page (search "Damage and combat calculations") there's a section that describes the equation for damage the player does in an attack. In that equation is a reference to the Combat Difficulty setting. Here's the whole quote (important section in red):

    Damage and combat calculations
    ND = net damage value
    RD = random damage value produced from weapons hit damage range
    RB = ranged bonus (RB=0 unless the player has Bonus Ranged Damage perk)
    X = ammo damage multiplier
    Y = ammo damage divisor
    CM = critical hit damage multiplier (if no critical hit then CM=2, otherwise assigned value from critical hit table)
    CD = combat difficulty multiplier (Easy=75, Normal=100, Hard=125)
    AI = 1 if critical hit which ignores armor, otherwise 0
    ADT = armor damage threshold value
    ADR = armor damage resistance value
    RM = ammo resistance modifier (only value allowed to be negative or positive in the equation)

    ND = ((RD+RB) × (X/Y) × (CM/2) × (CD/100) - ADT/max(5*AI,1)) × (100 - max((ADR/max(5*AI,1) + RM),0) / 100

    These two forum posts both mention enemy spawn rate in encounters and critical chance rate, but neither mention a source.

    The game manual pdf found in the Fallout 2 game directory states:

    Combat Difficulty [Wimpy, Normal, Rough]
    Controls the difficulty of combat. On Wimpy level, all
    opponents have a negative modifier to hit you, do less
    damage and take fewer targeted shots. On the Rough
    setting, they will hit you more often, do more damage and
    tend to take more targeted shots.There is no penalty or
    reward for using any of the settings, and you can change
    this preference whenever you wish.

    This matches my printed manual, (though the pdf itself differs from the printed manual in several places), and no mention is made of player damage or enemy spawn rate, though the change in criticals could be accounted for with a change in aimed shots as the manual states.

    However, because there are so many inconsistencies between the manual and the game because of bugs (vanilla version at least), I'm just trying to find out what the setting actually changes in the engine according to the most recent official patch.
    Last edited: Feb 12, 2018
  3. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    Still looking for a reliable source, but here's one that has a different formula from the previous:

    The final damage caused by a ranged weapon can be computed by the following formula:
    (final damage) = (( raw damage * DM ) - DT) - RoundDown((DR + DRM) * ((raw damage * DM) - DT)))

    No mention of combat difficulty in this one, and I suspect that it's incomplete anyway, but I still haven't figured out how to peak into the game engine to verify.
    Last edited: Mar 13, 2018
  4. Gizmojunk

    Gizmojunk Vault Fossil

    Nov 26, 2007
    I have never looked into the scripts... but I was under the impression that the Luck Stat affected every die roll in the game. Sad if it does not. :(
  5. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    As far as I know up to this point, Luck affects how often criticals occur and how much damage they do, but I haven't seen anything yet for luck and base damage. The earlier post has a Critical Multiplier which is probably a separate formula that uses luck, but other than that, I have no idea yet :(
  6. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Your second post in the thread is already the answer. difficultyMultiplier (Combat Difficulty) is only used in compute_damage_ engine function.
  7. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    I thought so at first too, but look at the values for Easy/Normal/Hard. According to that formula, on Easy difficulty the Player would be doing less damage as well, which doesn't make much sense.

    In addition, as I mentioned in the second post, several outside forum posts indicate perception and crit's being affected. I'm trying to figure out what all the Combat Difficulty affects, and there is a lot of conflicting information out there.

    I was hoping a few people on NMA might have more direct experience (given the Restoration Project etc), and could point me in the right direction for some concrete answers...or at least a link to a modding walkthrough on how to pull the information from the engine itself.

    Thanks for the support:)
  8. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    If you want concrete answers from the most reliable source, the engine itself, you need to use a disassember. Or you can check the engine dump databases from a Russian modder named Crafty. You can download them here (the comment is in Russian). You need IDA Pro 6.8 or newer to open them.
    Last edited: Mar 14, 2018
  9. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    I'm willing to try that, unfortunately I don't have IDA Pro or the money to purchase it. Can you convert the file to a format that the free version will open? Or maybe a format for one of these free disassemblers?:

    If that's not possible, can you tell me if any of the sfall decompilers can be used to answer the same question? You can find them at this location:

    I just found that Haenlomal (from NMA here) who created the YAAM ammo mod and ended up modifying the damage formula from the vanilla version in order to fix AP ammo as he notes here: (http://falloutmods.wikia.com/wiki/YAAM_(Yet_Another_Ammo_Mod)) also points to my earlier link for the engine calculations (http://falloutmods.wikia.com/wiki/Fallout_engine_calculations) as having the correct formula. So that's probably the right formula and the second link I found probably has an incorrect formula. Weird that the combat difficulty means you do more damage at higher difficulties, but cool too.

    Still, I'm wondering if that's all the Combat Difficulty setting does, though it's not mentioned anywhere else on that page.
    Last edited: Mar 19, 2018 at 4:11 AM
  10. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    I don't know how to convert DB files. Also the sfall decompiler is for scripts (*.int) and has nothing to do with checking engine internal work.
    Here are screenshots showing the occurrence of Combat Difficulty in engine:
    cdsetting.png cdsetting2.png
    As you can see, it's only used sparely when calculating combat damage and To-Hit chance (which is never fully described in any wiki/forums because the calculation is more complex than combat damage)
    Last edited: Mar 19, 2018 at 4:38 AM
    • [Like] [Like] x 1
  11. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    OMG Thank you so much! That's exactly what I'm looking for! And thank you for answering my question about the sfall decompilers, I was a little confused about the difference between them and a disassembler.

    One last question, does the To-Hit chance calculation also modify the Critical Hit chance? I know it modifies it for aimed shots, which could also explain a decline in criticals on easy combat difficulty, but now I'm curious if it also changes it for un-aimed shots.

    Either way, thanks for answering my question!
  12. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    Before you answer that question, I briefly fired up Fallout 2 (both the vanilla version and Restoration Project) to check if the Player Character chance to hit changed with combat difficulty, and it doesn't appear to...at least at first glance by just changing the difficulty setting and aiming at an NPC.

    It's possible it changes the number of crits you get, but I'm not sure how to test that :P
    It's also possible it only changes multipliers for NPC's, but I'm not sure how to test that either :(

    Thank you again :)
    Last edited: Mar 19, 2018 at 10:38 PM
  13. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    You can check the document of how the engine calculates critical hit/miss by Atom:
    • [Like] [Like] x 1
  14. QuantumApprentice

    QuantumApprentice First time out of the vault

    Feb 9, 2018
    Thanks for the file, I read through it but they don't make any references to combat difficulty here, probably because it wasn't what they were testing for. The pdf says they were focusing on critical misses, but there is some explanation of critical chance which is helpful.

    Interesting note, "Jinxed effect (obtained from either the trait or the perk given by the pariah dog - their effects don’t stack)." Did not know for sure before if the Jinxed perk and the Pariah Dog effects stacked...seems like the don't :(

    2 questions about this, can you point me to any forum posts where Ghosthack or Atom were discussing how they reverse engineered and tested their conclusions?
    And I'm not sure what the .c files do (tohit2.c, tohit2_newfix.c, tohit_fo1.c), are they for another disassembler?
  15. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    The .c files are pseudocodes of To-Hit chance calculation by the engine.
    • tohit2.c - vanilla FO2.
    • tohit2_newfix.c - FO2 w/ Sharpshooter perk fix from sfall.
    • tohit_fo1.c - vanilla FO1.
    You can see the combat difficulty has minor effect on To-Hit chance calculation.
    if (combat_difficulty == wimpy) tohit+=20;
    if (combat_difficulty == rough) tohit-=20;