YAAM is a ammo mod for Fallout 2. It changes how the engines calculates damage, making AP (Armor Piercing) ammunition much more effective against heavily armored targets. It also introduces a new concept: the ammo DT mod. It is currently available as a stand-alone install, and it comes bundled as an optional installer option in some Fallout 2 mods.
- Integrated YAAM with Timeslip's Sfall -- Modified executable no longer needed if Sfall is previously installed.
- Made changes that should provide greater integration with other mods, at least in theory.
- Included all ammo proto files in YAAM installation (while YAAM leaves some ammo protos unmodified, it is possible that other mods have made some of their own modifications.)
- Added modified version of PROTO.MSG file for French and German versions of Fallout 2.
- Corrected minor errors in Readme file.
- Initial Implementation.
FAQ (a bit obsolete)
Q: What is YAAM, and where can I find it?
A: YAAM stands for Yet Another Ammo Mod, and it is an ammo mod for Fallout 2. The latest version of YAAM is always available at the No Mutants Allowed website.
Q: Does it work with any other Fallout 2 mods out there?
A: Yes! Thanks to Timeslip, YAAM is now fully integrated with Sfall. This means that any mod that uses Sfall should be able to use YAAM, at least in theory. As for other mods, as long as they do not touch any weapon protos, armor protos, ammo protos, or the Fallout 2 executable, they should be fine, again at least in theory. The installer batch program that comes with sfall is smart enough to modify ddraw.ini to activate YAAM, while not touching other settings which the user and/or other mods may have enabled/disabled. Note: Sfall is not part of the YAAM archive. If you plan to use YAAM with Sfall, please download and install it prior to installing YAAM.
Q: I have a French/German installation of Fallout 2. Will this mod still work?
A: Good question. From what I understand, the US version of the Fallout 2 executable should work with French or German installation, and the changes I had made have nothing to do with display settings or localization options. The only thing that is really missing is the localized version of PROTO.MSG file. As of Version 1.1a of YAAM, a localized version of PROTO.MSG in English, French, and German has been provided, and the installer is smart enough to install the proper localized version as necessary. It will even preserve customized changes from other mods that touch the PROTO.MSG file in almost all cases. See the manual installation instructions for more details.
Q: I have the Macintosh version of Fallout 2. Will this mod work for me?
A: There are no plans at this time to support the Macintosh version of Fallout 2. In fact, there are no plans at this time to support any version other than the Windows version. Sorry.
Q: So...another ammo mod for Fallout 2, eh? Aren't there a few of those out there already? What makes YAAM different and/or better? A: Yes. YAAM changes the functionality of the DR ammo modifier to a DT ammo modifier. JHP and most normal ammo is given a 0 DT modifier, while AP and FMJ ammo are given a value of anywhere between 2 to 20, with the majority being around the 2-5 range. For balancing issues, changes were also made to the Dmg mod of most ammunition. The readme file contains a complete list of ammunition changes... As for what makes it 'better', I never claimed it was, just...different.
Q: Wait a minute. The DT modifier is a positive number? Doesn't that add to the armor DT, thus decreasing damage?
A: Yes, the DT modifier is positive. However, DT modifier is a negative modifier. I have changed the engine to subtract the DT modifier value during damage calculation, so it should decrease damage.
Q: So where does that leave the DR ammo modifier?
A: The DR ammo modifier is no longer an absolute value, but depends on the DT damage resisted. If, as a result of applying the DT ammo modifier the overall DT is reduced to below zero, then DT is set to zero, while DR is dropped by 10% for every DT point below zero. For example, suppose the ammunition has a DT ammo modifier value of 5, and the armor had a DT of 3 and a DR of 50. Then the net result would be an overall DT of 0, and an overall DR of 30, assuming no other factors are impacting DT or DR.
Q: How about adjusting values for weapons and armor?
A: Changes were not made to weapons and armor. Only ammunition (and of course the engine).
Q: Why not? Don't you need to do that to get better balance?
A: Perhaps. YAAM was, until quite recently, part of a much larger and much more ambitious combat mod that completely re-vamps tactical combat in Fallout 2. I have decided to split this small part off once I realized that it could stand alone.
Q: Really? Will we ever get to see the combat mod?
A: Perhaps. But I wouldn't hold your breath if I were you.
Q: Fine, so what's the bottom line effect of all your changes?
A: Generally speaking, ranged weapons now do more damage, regardless of the ammo you are using. JHP ammo will really hurt you if you are unarmored or poorly armored, but will barely faze you if you are well armored. AP ammo will not hurt you as much if you are unarmored, but you are guaranteed to still feel its effects even if you are in strong armor.
Q: Anything else?
A: Yes. Flamethrowers can hurt quite a bit now. And rocket launchers are pretty much insta-death if you are poorly armored. Those security bots are no longer a pushover, but a genuine can of "whoop-ass" that the original Fallout 2 developers envisioned them to be.
Q: Ok, I'll bite. How do I install this thing?
A: Create a new folder in your main Fallout 2 installation directory, and unzip everything there. Run the batch file YAAM_install.bat. Everything should be set. For more advanced users, there are also instructions for a manual install in the readme file.
Q: What if I run into problems running your mod?
A: Send me a PM or a post on the New Mutants Allowed website, and I'll respond as soon as I can.
Summary of Changes
The following is a summary of expected changes as a result of this modification:
- The single most noticeable change is the existence of a "DT mod" in place of the "DR mod" as an ammo modifier. As the name implies, the DT mod works as a negative modifier against the target armor's DT.
- DR mod is no longer a hardcoded value, but is calculated based on the value of the DT mod and the target armor's DT rating. See the Damage Formula for the technical details, but suffice it to say that DR mod increases in value as the value of DT mod increase and as the value of the target armor's DT decrease.
- JHP ammo still does more damage against soft targets, but AP ammo will inflict more punishment on hard targets. Previously, JHP ammo did more damage than AP ammo regardless of the target's armor.
- JHP ammo does more or less the same damage against soft targets, while having much less effect against hard targets. By contrast, AP ammo does more general damage overall, though still inferior to JHP ammo with respect to soft targets. (Mathematically speaking, this is forced by making the average damage dealt by JHP ammo slightly higher than their AP counterparts, while making the standard deviation of the damage considerably lower for AP ammo.)
- Rocket APs still inflict more or less the same damage, but Explosive Rockets had their damage potential greatly increased against soft targets. However, in exchange Explosive Rockets do much less damage against hard targets. In other words, if you get hit by an Explosive Rocket from a rocket launcher, and you don't have adequate protection, expect to suffer a quick and horrible death. Previously, Rocket APs are clearly superior regardless of the target's armor.
- In the same vein, rockets in general do much more damage against soft targets. Soft armor offers little to no protection since the bonuses from the rockets pretty much negate almost all resistance.
- Flamethrower Fuel is now much more effective against hard targets. However, Flamethrower Fuel MK II is still the superior option.
- Performance of 9mm Ball and 9mm ammo has been tweaked to make them comparable to 10mm JHP and 10mm AP ammo respectively. For example, if a weapon firing 9mm Ball and a weapon firing 10mm JHP inflict the exact same initial raw damage against the same target, expect the final damage result to be generally the same as well. (Practically speaking, though, 10mm firing weapons should deal out more damage on average since they are generally stronger than their 9mm caliber counterparts.)
- The damage profile of the 14mm AP ammo has been overhauled. It now causes almost double its original damage against soft targets, maintains around the same damage against medium targets (metal and combat armor types) and has sufficient power to punch through and hurt hard targets. Think about it -- the caliber is 14mm AP! This is close to anti-vehicle territory in real life, so upping the damage to something more realistic (i.e. packing more punch than the 10mm pistol), while still maintaining balance, was relatively high on this mod's to-do list.
In Fallout 2, calculation of damage against a critter is the responsibility of one function, compute_damage. It is this function that has been modified. A more precise "grammar" follows:
damage = max[int(total_damage) - int(modified_DR * int(total_damage)), 0]
total_damage = [(raw_damage - max(modified_DT, 0)) * modified_mult] / [dmg_div * 2 * 100]
modified_DR = armor_DR + [10 * min(modified_DT, 0) / 100]
modified_DT = armor_DT - ammo_DT
modified_mult = critical_hit_bonus * dmg_mult * combat_difficulty_modifier
raw_damage = random(damage_range_of_weapon) + 2 * (rank_of_Bonus_Ranged_Damage_perk)
armor_DR = the DR attribute of the victim's armor. Reduce by 80% if a critical hit is deemed to be armor bypassing. Add 30 if player has the Finesse trait.
armor_DT = the DT attribute of the victim's armor. Reduce by 80% if a critical hit is deemed to be armor bypassing, if the weapon has the Weapon Penetrate perk, or an armor piercing Unarmed attack was used.
ammo_DT = the DT mod attribute of the ammunition. This number replaces what was the DR mod of ammunition attribute in the vanilla game.
critical_hit_bonus = 2, 3, 4, 5, 6, or 8. A non-critical hit will always have a value of 2.
combat_difficulty_modifier = 75, 100, or 125. If the player is attacking, or the combat difficulty is set at Normal, this is 100. Otherwise, it is set at 75 if combat difficulty is set at Wimpy, and 125 if combat difficulty is set at Rough.
dmg_mult = the dividend of the Dmg Mod attribute of ammunition.
dmg_div = the divisor of the Dmg Mod attribute of ammunition.
rank_of_Bonus_Ranged_Damage_perk = 0, 1, or 2
damage_range_of_weapon = damage range of the weapon as shown by its attributes in the Inventory screen. For example, the 10mm Pistol has a damage range of 5 to 12 inclusive.
For comparison purposes, here's a link to the original Fallout 2 damage formula.
Changes to Ammunition Protos
In addition to engine changes, YAAM also changes the property of ammunition used in the game. Weapons and Armors remain unchanged. The most notable addition is the ammo DT mod. Instead of modifying DR under the original engine rules, this number now modifies the DT of the armor. The ammunition still modifies DR to a certain extent, but this is no longer a hardcoded value. The AC Mod attribute of each ammunition remains unchanged.
Note that the ammo DT mod is a negative modifier. Therefore, positive values of ammo DT mod will have a negative impact on the armor (i.e. increased damage), while negative values will have a positive impact on the armor. In YAAM, all ammo DT mod values are positive.
This table lists the new properties of ammunition under YAAM:
|Name||Dmg Mod||DT Mod|
|.44 Magnum JHP||3/2||0|
|.44 Magnum FMJ||1/1||5|
|HN Needler Cartridge||1/1||2|
|NH AP Needler Cartridge||2/1||5|
|Flamethrower Fuel MKII||1/1||0|
|Small Energy Cell||1/1||0|
|Micro Fusion Cell||1/1||0|
|Robo Rocket Ammo*||1/1||10|
|12 ga. Shotgun Shells||1/1||0|
- The Robo Rocket Ammo is presumably intended to be ammunition for the Robo Rocket Launcher, which is only available to robots with rocket launchers. However, currently, all Robo Rocket Launchers carry Explosive Rockets as their default loadout, so changes to Robo Rocket Ammo has ultimately no effect.
Acknowledgements and Credits
- Black Isle Studios for making such a great game.
- Thanks to Glovz and Magnus for setting the high bar with their excellent ammo and combat mods. While I had the idea of making a combat mod before they had released theirs, it was their completed products that finally motivated me to finish my own.
- Special thanks to Glovz for his feedback and providing crucial information that greatly helped in the shaping of this mod.
- Special thanks to Timeslip for his help in integrating YAAM into Sfall.
- Thanks to crazycc for sharing his analysis of the damage calculation routine.
- Thanks to Anchorite for his dat2 program. Nifty little gadget, that. :)
- The fine folks at No Mutants Allowed for permitting me to upload YAAM to their site.
- Last but most certainly not least, thanks to you for playing around with my mod. :)