New Damage Resistance System
This new system actually allows you to set all undefined Damage Resistances at the same time rather then needing to remember to set all Damage Factors manually. It does this by giving you access to a whole new set of Actor Properties. These are Resistance and [Damagetype]Resistance. Lines 127-164
While the new system is technically better it does have its downsides. One is that it is not blind to inheritance. This means that if you set a specific Resistance in the parent class the child class cannot override it with Resistance. My advice is to use specific resistance properties sparingly in parent classes. If you do want a specific resistance to use the base Resistance property you can set the specific resistance to -1.0.
In this example Omniaxe_Resistance will get set to 1.0 in the child
Another con of the new system is that new damage types are not created automatically like with Damage Factors. You can still use Damage Factors, but if you use both they will multiply together. New damage types have to be added manually into RFEnemyBase class which is easy but requires a lot of copy pasting.
In this Example damage from the Omniaxe will be 4 times normal!
The new Damage Resistance system uses the CalculateHealthDamage( ) function to do all of the magic. Its super basic and just checks if the specific damage type should be used or if the base resistance actor property should be used instead. Its Virtual so you can fully customize how it works if you need to in child classes. Lines 2052 - 2299