Damage Description – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Major revamp to remove redundant config property descriptions; added/expanded section on penetration & ballistics)
Line 1: Line 1:
[[Category:Arma 3: Tutorials]]
[[Category:Arma 3: Tutorials]]
[[Category:Arma 3: Editing]]
{{Cfg ref|start}}
=Intro=
=Intro=
An ongoing investigation on how damage and armor actually works in Arma 3. (Currently this is based on Olds research during the creation of the Real Armor Mod.)
An ongoing investigation on how damage and armor actually works in Arma 3. (Currently this is based on Olds research during the creation of the Real Armor Mod.)
[Legend: <!>=quirk to watch out for!, {}=Real Armor Mod feature, <?>=not sure/needs further investigation]
 
=Basic Damage=
=The Damage Process=
[[File:Olds damage diagram sm.gif]]
[[File:Olds damage diagram sm.gif]]
==Pre-impact Scenario==
 
(1) A projectile is headed for the target. (For our discussion let's assume its a kinetic round on track for a direct hit vs. an AFV)
==Pre-impact==
(Diagram 1) A projectile is headed for the target. (For our discussion let's assume its a kinetic round on track for a direct hit vs. an AFV)
 
==Initial Impact==
==Initial Impact==
(2) The projectile impacts the target. It has not penetrated any armor yet. And if it doesn't have the ballistics to go further it will terminate here doing only this initial damage. Regardless, the following things happen:
(Diagram 2) The projectile impacts the target. It has not penetrated any armor yet. And if it doesn't have the ballistics to go further it will terminate here doing only this initial damage. Regardless, the following things happen:
Every major location on the target takes some damage. The location nearest the impact point gets the most, and it falls off geometrically.
Every major location on the target takes some damage. The location nearest the impact point gets the most, and it falls off geometrically.
The target's global health is generally damaged the most.
The target's global health is generally damaged the most.
Line 14: Line 18:
That's right, some damage has already been done regardless of whether it's pistol-round vs. tank or sabot vs. bunny.
That's right, some damage has already been done regardless of whether it's pistol-round vs. tank or sabot vs. bunny.
If the hit values are high enough, this initial impact alone can destroy the target (essentially by knocking out global health) ...regardless of penetration!
If the hit values are high enough, this initial impact alone can destroy the target (essentially by knocking out global health) ...regardless of penetration!
==Penetrating Damage==
==Penetrating Damage==
(3) ''IF'' the projectile can penetrate the target's armor, it will continue moving and doing damage as it goes. Here's what happens:  
(Diagram 3) ''If'' the projectile can penetrate the target's armor, it will continue moving and doing damage as it goes. Here's what happens:  
Every major location continues to take damage as in step 1. But something new happens as well...
Every major location continues to take damage as in step 1. But something new happens as well...
...as the projectile travels past the armor it starts doing much more damage to the area immediately around itself.
...as the projectile travels past the armor it starts doing much more damage to the area immediately around itself.
Line 23: Line 28:
Keep in mind there are (sometimes significant) variations to how this works for things like explosive weapons, indirectHit, deflections, etc. More on those below. And, yes, this description holds true for human targets (shoot someone in the hand, and their head will take some damage).
Keep in mind there are (sometimes significant) variations to how this works for things like explosive weapons, indirectHit, deflections, etc. More on those below. And, yes, this description holds true for human targets (shoot someone in the hand, and their head will take some damage).


=Indirect & "Explosive" Damage=
=Indirect(Hit) & "Explosive" Damage=
==IndirectHit==
==IndirectHit==
[[File:Olds_iHit_diagram_sm.gif]]
[[File:Olds_iHit_diagram_sm.gif]]
Line 33: Line 38:
And just as before, global health takes the most damage.
And just as before, global health takes the most damage.
ranged indirectHit damage bypasses your armor and damages you anyway. Only the explosionShielding property can mitigate this. <!> Oddly, armor will protect you against direct hits with indirectHit weapons (need to investigate this further...).
ranged indirectHit damage bypasses your armor and damages you anyway. Only the explosionShielding property can mitigate this. <!> Oddly, armor will protect you against direct hits with indirectHit weapons (need to investigate this further...).
==Explosive==
==Explosive==
Not the "explosion" effect you're thinking of--that's indirectHit. This weapon property does only one thing: it controls how much hit damage falls off with speed.
Not the "explosion" effect you're thinking of--that's indirectHit. This weapon property does only one thing: it controls how much hit damage falls off with speed. Weapons with no or 0 explosive value are considered fully 'kinetic' and lose hit value as they slow below their typicalSpeed.
Weapons with no or 0 explosive value are considered fully 'kinetic' and lose hit value as they slow below their typicalSpeed.
Weapons with explosive=1 are considered fully 'explosive' and do full damage regardless of the projectile speed. Values between 0 and 1 control the ratio of kinetic-to-explosive damage (i.e. explosive = 0.5 means half the damage falls off with speed and half does not).
Weapons with explosive=1 are considered fully 'explosive' and do full damage regardless of the projectile speed. Values between 0 and 1 control the ratio of kinetic-to-explosive damage (i.e. explosive = 0.5 means half the damage falls off with speed and half does not).
<!> QUIRK! Values >=0.7 nullify a weapon's armor penetrating ability (as if caliber=0)!. Use values <0.7 if you want your weapon to have normal penetration behavior!
<!> QUIRK! Values >=0.7 nullify a weapon's armor penetrating ability (as if caliber=0)!. Use values <0.7 if you want your weapon to have normal penetration behavior!
=Penetration=
(See "caliber" and "bulletPenetrability" properties below).


=Armor=
=Penetration & Ballistics, a digression...=
I don't have much for this section so far as I haven't done any porting yet. If you're porting/creating vehicles and want compatibility with RAM, here's some advice:
==Bullet/Shell==
Bullet/Shell ballistics are very simple and quite accurate. The only properties that influence trajectory are initSpeed (CfgMagazines) and airFriction (CfgAmmo). Such projectiles travel based on their muzzle velocity (initSpeed) and aerodynamic drag (airFriction), along with gravity-induced vertical drop. Penetration is simply a factor of (remaining projectile speed at impact) and (CfgAmmo.caliber).
 
==Missile/Rocket==
Missile/Rocket (let's call them M/R's) ballistics are more complex. However, unlike Bullet/Shell penetration--which works quite well--Missile & Rocket penetration is broken in the Arma 3 code. BI ignores penetration effects for these weapons and relies on exaggerated hit/indirectHit values to cause target damage. (RAM fixes this bug/limitation--and adds some new features along the way--with some minimal scripting).
 
===Unguided===
These projectiles still use the same two properties as Bullet/Shells to determine their trajectories, but add some more (all in CfgAmmo): initTime, thrust, thrustTime maxSpeed. The four new properties account for the additional effect of a rocket motor: after "initTime", "thrust" is added to accelerate the projectile until it runs out ("thrustTime"), while "maxSpeed" puts a cap on the projectile's top speed. sideAirFriction & maneuvrability (from CfgAmmo) and mass (from the P3D model) get honorable mention here. But it's not clear that they add anything to the simulation of unguided M/R trajectories.
 
===Guided===
These projectiles work as unguided M/R's above, but with added properties to account for the fact that they manuever to track a target. sideAirFriction is used like airFriction to create drag, but in the lateral axes (as the missile turns to follow a target). manuevrability controls the rate of turning ability (mass may also play a role here--in that higher mass M/R's have a harder time turning due to momentum--but testing is required to confirm this). There are also a few simple properties that pertain to how tracking is achieved, but they are beyond the scope of this discussion.
 
=Armor (& RAM)=
I don't have much for this section so far as I haven't done enough experimentation in this area. If you're porting/creating vehicles and want compatibility with RAM, here's some advice:


Use the most detailed and accurate armor data you can when creating your vehicle's P3D Fire Geometry (armor). Correctly calibrated weapons are only going to give realistic results if your armor settings are good.
Use the most detailed and accurate armor data you can when creating your vehicle's P3D Fire Geometry (armor). Correctly calibrated weapons are only going to give realistic results if your armor settings are good.


The armor material should generally be armour.bisurf (where thickness is defined by your model geometry). Preset-thickness materials (armour_plate, etc.) appear to respect LOS, so those should be fine too.
The armor material should generally be armour.bisurf (where thickness is defined by your model geometry). Preset-thickness materials (armour_plate, etc.) appear to respect LOS, so those should be fine too.
Regardless of what the real vehicle uses for armor (aluminum, composite, etc.) you are generally translating into RHAe thicknesses.
Regardless of what the real vehicle uses for armor (aluminum, composite, etc.) your best bet is to translate into RHA-equivalent (vs. kinetic) thickness.


Internal structure should be blocked in crudely per the T-72 sample model: most/all hitpoint vertices should be inside geometry (e.g. the cast-iron modeled engine block), a few can sit in empty space to respond to indirectHit damage better<?>
Internal structure should be blocked in crudely per the T-72 sample model: most/all hitpoint vertices should be inside geometry (e.g. the cast-iron modeled engine block). BI/zGuba suggest a few should sit in empty space to respond to indirectHit damage better, but I haven't confirmed that.


=Consequences & Implications=
=Consequences & Implications=
Line 57: Line 73:
Nor can the submunition feature be used as a workaround (it is also bugged for missiles if not other weapon types).
Nor can the submunition feature be used as a workaround (it is also bugged for missiles if not other weapon types).
A script-based approach must be used to enable those weapon types to penetrate armor correctly. RAM contains such an approach.
A script-based approach must be used to enable those weapon types to penetrate armor correctly. RAM contains such an approach.
=Config Properties {...and how RAM uses them}=
==Weapon Config Properties==
===caliber===
[#>=0] the penetration power of the weapon. (A value of 1 is standardized as 15mm of RHA penetration at 1000m/s.) The formula for mm of penetration is: (projectile speed / 1000)x(caliber)x(bulletPenetrability of the target BISURF). So higher = more penetration. As you can see from the formula, penetration is speed-dependent. <!>Adding caliber values to missile or rockets results is bugged and results in missiles flying through targets. {RAM uses values based on real-world data whenever possible, it corrects the M/R penetration bug by editing those weapon types to create regular (bullet/shell based) projectile submunitions on impact, restoring penetration ability}.


===deflecting===
=Adjusting Config Properties for RAM=
[#>=0, degrees] at impact angles <= this value, the projectile has a chance to deflect (bounce off). Higher values make it easier for the projectile to deflect instead of penetrating the target, while a value of 0 means the weapon never (or rarely<?>) deflects. (It seems like this should be mediated by the target BISURF friction value, but it appears not to be). This property is also signficant during penetration<??>--supposedly, deflection occurs to a penetrating projectile as well, thus creating some random variation in the depth of the penetration (e.g. a round that deflects into a sloped armor plate will counteract the slope, providing better penetration than a round which went straight without deflecting).
(See the [https://community.bistudio.com/wiki/Config_Properties_Megalist Config Properties Mega-List] for an explanation of the properties themselves).
 
==Weapon-related Config Properties==
===airFriction, caliber===
RAM adjusts caliber & airFriction values based on real-world data whenever possible. This yields accurate penetration values and ballistic trajectory. It corrects the Missile/Rocket penetration bug by editing those weapon types to create regular (bullet/shell based) projectile submunitions on impact, restoring penetration ability. (Rocket & Missile improvement cannot be achieved by adjusting vanilla configs - this requires script adjustment).
 
===explosive===
===explosive===
[0 to 1] the proportion of hit damage that is immune to speed-degradation. <!>There is a bug in the code that disables penetration for values >=0.7, so consider carefully before crossing that threshold. {RAM caps explosive values at <0.7 to prevent the no-penetration bug}
RAM either caps explosive values at <0.7 to prevent the no-penetration bug, or creates a penetrating submunition (e.g. HEAT warheads).


===hit===
===hit===
[#>0] damage caused by the weapon when it directly impacts a target. The non-explosive proportion of this damage declines as projectile speed falls below typicalSpeed.<!>Very large values can cause serious damage just from initial impact (ignoring armor). {BIS exaggerates hit values for larger weapons, while RAM generally reduces them values to prevent armor-overwhelming damage}
BI tends to greatly exaggerate hit values for large caliber weapons, while RAM generally reduces them values to prevent armor-overwhelming damage.


===indirectHit===
[#>0] damage caused within indirectHitRange regardless of whether the weapon hits a target or not. Unlike hit damage, it is not mediated by weapon speed. Dampened by explosionShielding.
===indirectHitRange===
[#>0,m] the base radius that the weapon's indirectHit damage is caused within. The weapon will cause damage out to 4x this radius, with linear falloff. This property must be paired with a values for indirectHit. Using 0 is pointless b/c it will prevent indirectHit damage from being applied.
===initSpeed===
[#>=0, m/s] unlike the other values here, this one is defined in the Magazine class. It is the muzzle velocity of the weapon.
===typicalSpeed===
[#>=0, m/s] as a projectile falls below this value, it's (non-explosive) hit damage is proportionately reduced (obviously reaching 0 at speed 0).
==Vehicle Config Properties==
==Vehicle Config Properties==
===Global===
===Global:===
====armor====
 
[#>0] these are the 'global' hitpoints for your vehicle. BIS says they are modified by the model's bounding radius (I haven't verified how that part works<?>). Because local hitpoints are derived from this value (via locational armor values), increasing this value makes all hit locations stronger.
====armorStructural====
====armorStructural====
[#>0] this is a divisor to global damage (higher = less global hitpoint damage). It does not affect location hitpoint damage. So if set high enough it will almost nullify the global damage effect, without affecting how damage is applied to individual locations {which is how this value is used in RAM}.
RAM generally ramps up these values to more or less cancel out the effect of global damage. (BI seems to have taken up the idea, and is creeping up armorStructural values in more recent configs).
===Hit Location===
 
====armor====
===Hit Location:===
[#>0, usu.<1] the proportion of global hitpoints that the location gets. Higher = more. There's no requirement that the location values add up to 1 (e.g. you could make them all 10 if you wanted insanely strong hit locations). (Not to be confused with the global armor value.)
====explosionShielding====
====explosionShielding====
[#>0] this is a multiplier to indirectHit damage received by the location. Thus fractional values are protective and values >1 increase sensitivity. (Remember, this is not related to the explosive value). {These values are usually much lower in RAM than vanilla A3}.
These values are usually much lower in RAM than vanilla A3 (i.e. more protection against indirectHit).
====minimalHit====
 
[#>=0, usu.<1] this value x (global<?>) hitpoints creates a damage cutoff for the location. Damage less than the resulting value is ignored (I'd guess it is subtracted from incoming damage<?>). So the higher this value, the more resistant the location is to damage.
====passThrough====
====passThrough====
[0<=#<=1] the proportion of location damage that is passed back through to global hitpoints. The higher the value, the more damage to this location will result in additional damage to global health. But its effect is capped at 1 (values >1 have no additional effect). (Remember from the damage description, global health takes plenty of damage with each hit, so this increases it even further). {These values are usually zeroed out in RAM}.
These tend to be zeroed out in RAM.
 
====radius====
====radius====
[#>0,m?] the radius (in m?) of the location's hitpoint vertices in the vehicle's P3D model. The idea here is to spread the vertices throughout the internal structure such that they do not spill out into or beyond the vehicle's armor plates. Unless you have control over the P3D source file, you probably don't want to mess with this value.
[#>0,m?] the radius (in m?) of the location's hitpoint vertices in the vehicle's P3D model. The idea here is to spread the vertices throughout the internal structure such that they do not spill out into or beyond the vehicle's armor plates. Unless you have control over the P3D source file, you probably don't want to mess with this value.
====HitHull====
 
[location class] unlike other locations, this one is specially hardcoded to blow up the vehicle when its local hitpoints are depleted. This will happen regardless of whether the global health reaches 0. {This is what allows most catastrophic destruction in RAM, so I'm glad this feature is hardcoded!}.
====HitFuel====
[location class] Works the same as HitHull. (Typically HitFuel is used for APC's while HitHull is used for MBT's).
====HitTrack====
====HitTrack====
[location class] Just keep in mind that this location generally has no armor geometry protecting it and is thus easily damaged by the slightest hit. That means that it can only be protected by prudent use of minimalHit & explosionShielding. {RAM generally adjusts these values to make tracks stronger than vanilla}
[location class] Keeping in mind that this location generally has no armor geometry protecting it and is thus easily damaged by the slightest hit, RAM generally increases the protective properties of explosionShielding and minimalHit to make tracks more resistant to minor weapons.
====HitWheel====
[location class] Same issue as HitTrack but for wheeled vehicles obviously. {RAM doesn't adjust wheel strength}
==Material Config Properties (BISURF)==
BISURF properties are applied to P3D fire geometry. They define how resistant the geometry is to projectile penetration.
====bulletPenetrability====
Material strength in terms of how well it resists penetration, lower is stronger. Based on how far in mm a BI-standard "7.62mm NATO round" travelling at 1000m/s will penetrate the material. RHA = 15.
====bulletPenetrabilityWithThickness====
If the material has a "thickness" property specified, put its bulletPenetrability here instead.
====thickness====
Sets a thickness ceiling to the geometry; the idea is to make it easier to model small/thin fire geometry. If the fire geometry is thinner, the actual thickness is used. If the fire geometry is thicker, the "thickness" property overrides it and is used. The game ''does'' appear to take into account LOS thickness by evaluating an incoming projectile's angle-of-incidence (relative to the geometry normal).


=Useful Links=
=Useful Links=
Line 123: Line 117:
[https://resources.bisimulations.com/w/index.php?title=Damage_Modeling:_Simulation VBS:Damage Modeling:Simulation Formulas]
[https://resources.bisimulations.com/w/index.php?title=Damage_Modeling:_Simulation VBS:Damage Modeling:Simulation Formulas]


[https://community.bistudio.com/wiki/Config_Properties_Megalist Config Properties Master List]
[https://community.bistudio.com/wiki/Config_Properties_Megalist Config Properties Mega-List]
 
{{Cfg ref|end}}

Revision as of 20:29, 29 October 2014

Template:Cfg ref

Intro

An ongoing investigation on how damage and armor actually works in Arma 3. (Currently this is based on Olds research during the creation of the Real Armor Mod.)

The Damage Process

Olds damage diagram sm.gif

Pre-impact

(Diagram 1) A projectile is headed for the target. (For our discussion let's assume its a kinetic round on track for a direct hit vs. an AFV)

Initial Impact

(Diagram 2) The projectile impacts the target. It has not penetrated any armor yet. And if it doesn't have the ballistics to go further it will terminate here doing only this initial damage. Regardless, the following things happen: Every major location on the target takes some damage. The location nearest the impact point gets the most, and it falls off geometrically. The target's global health is generally damaged the most. Several factors affect the amount of damage taken: obviously the hit value of the weapon is important, but various weapon & target config values are also involved (minimalHit, explosive, etc.). That's right, some damage has already been done regardless of whether it's pistol-round vs. tank or sabot vs. bunny. If the hit values are high enough, this initial impact alone can destroy the target (essentially by knocking out global health) ...regardless of penetration!

Penetrating Damage

(Diagram 3) If the projectile can penetrate the target's armor, it will continue moving and doing damage as it goes. Here's what happens: Every major location continues to take damage as in step 1. But something new happens as well... ...as the projectile travels past the armor it starts doing much more damage to the area immediately around itself. Global health continues to get damaged and can really get clobbered now. BTW, this happens even if every passThrough value is set to zero(!). The projectile will terminate here or travel on through the target if it has penetration power remaining to do so.

Keep in mind there are (sometimes significant) variations to how this works for things like explosive weapons, indirectHit, deflections, etc. More on those below. And, yes, this description holds true for human targets (shoot someone in the hand, and their head will take some damage).

Indirect(Hit) & "Explosive" Damage

IndirectHit

Olds iHit diagram sm.gif

This works pretty much as advertised--indirectHit represents damage from explosions (not to be confused with the BIS "explosive" property). indirectHit damage is applied whenever a weapon with that config property hits something (you, the ground, etc.) It causes damage out to 4x it's indirectHitRange (which is a radius), falling off linearly. If a target is within range (our trusty tank in the above diagram), it takes the same all-location damage described in part A. (The location closest to the impact takes the most damage and so on...) And just as before, global health takes the most damage. ranged indirectHit damage bypasses your armor and damages you anyway. Only the explosionShielding property can mitigate this. <!> Oddly, armor will protect you against direct hits with indirectHit weapons (need to investigate this further...).

Explosive

Not the "explosion" effect you're thinking of--that's indirectHit. This weapon property does only one thing: it controls how much hit damage falls off with speed. Weapons with no or 0 explosive value are considered fully 'kinetic' and lose hit value as they slow below their typicalSpeed. Weapons with explosive=1 are considered fully 'explosive' and do full damage regardless of the projectile speed. Values between 0 and 1 control the ratio of kinetic-to-explosive damage (i.e. explosive = 0.5 means half the damage falls off with speed and half does not). <!> QUIRK! Values >=0.7 nullify a weapon's armor penetrating ability (as if caliber=0)!. Use values <0.7 if you want your weapon to have normal penetration behavior!

Penetration & Ballistics, a digression...

Bullet/Shell

Bullet/Shell ballistics are very simple and quite accurate. The only properties that influence trajectory are initSpeed (CfgMagazines) and airFriction (CfgAmmo). Such projectiles travel based on their muzzle velocity (initSpeed) and aerodynamic drag (airFriction), along with gravity-induced vertical drop. Penetration is simply a factor of (remaining projectile speed at impact) and (CfgAmmo.caliber).

Missile/Rocket

Missile/Rocket (let's call them M/R's) ballistics are more complex. However, unlike Bullet/Shell penetration--which works quite well--Missile & Rocket penetration is broken in the Arma 3 code. BI ignores penetration effects for these weapons and relies on exaggerated hit/indirectHit values to cause target damage. (RAM fixes this bug/limitation--and adds some new features along the way--with some minimal scripting).

Unguided

These projectiles still use the same two properties as Bullet/Shells to determine their trajectories, but add some more (all in CfgAmmo): initTime, thrust, thrustTime maxSpeed. The four new properties account for the additional effect of a rocket motor: after "initTime", "thrust" is added to accelerate the projectile until it runs out ("thrustTime"), while "maxSpeed" puts a cap on the projectile's top speed. sideAirFriction & maneuvrability (from CfgAmmo) and mass (from the P3D model) get honorable mention here. But it's not clear that they add anything to the simulation of unguided M/R trajectories.

Guided

These projectiles work as unguided M/R's above, but with added properties to account for the fact that they manuever to track a target. sideAirFriction is used like airFriction to create drag, but in the lateral axes (as the missile turns to follow a target). manuevrability controls the rate of turning ability (mass may also play a role here--in that higher mass M/R's have a harder time turning due to momentum--but testing is required to confirm this). There are also a few simple properties that pertain to how tracking is achieved, but they are beyond the scope of this discussion.

Armor (& RAM)

I don't have much for this section so far as I haven't done enough experimentation in this area. If you're porting/creating vehicles and want compatibility with RAM, here's some advice:

Use the most detailed and accurate armor data you can when creating your vehicle's P3D Fire Geometry (armor). Correctly calibrated weapons are only going to give realistic results if your armor settings are good.

The armor material should generally be armour.bisurf (where thickness is defined by your model geometry). Preset-thickness materials (armour_plate, etc.) appear to respect LOS, so those should be fine too. Regardless of what the real vehicle uses for armor (aluminum, composite, etc.) your best bet is to translate into RHA-equivalent (vs. kinetic) thickness.

Internal structure should be blocked in crudely per the T-72 sample model: most/all hitpoint vertices should be inside geometry (e.g. the cast-iron modeled engine block). BI/zGuba suggest a few should sit in empty space to respond to indirectHit damage better, but I haven't confirmed that.

Consequences & Implications

In vanilla A3, the effects of armor are largely ignored by the damage system. More accurately: armor penetration is present, but its significance is overwhelmed by the global hitpoint effect--this is especially true for high damage-value weapons. Caliber-based ballistics work very well, but caliber is bugged for rockets & missiles (it can't be added). Nor can the submunition feature be used as a workaround (it is also bugged for missiles if not other weapon types). A script-based approach must be used to enable those weapon types to penetrate armor correctly. RAM contains such an approach.

Adjusting Config Properties for RAM

(See the Config Properties Mega-List for an explanation of the properties themselves).

Weapon-related Config Properties

airFriction, caliber

RAM adjusts caliber & airFriction values based on real-world data whenever possible. This yields accurate penetration values and ballistic trajectory. It corrects the Missile/Rocket penetration bug by editing those weapon types to create regular (bullet/shell based) projectile submunitions on impact, restoring penetration ability. (Rocket & Missile improvement cannot be achieved by adjusting vanilla configs - this requires script adjustment).

explosive

RAM either caps explosive values at <0.7 to prevent the no-penetration bug, or creates a penetrating submunition (e.g. HEAT warheads).

hit

BI tends to greatly exaggerate hit values for large caliber weapons, while RAM generally reduces them values to prevent armor-overwhelming damage.

Vehicle Config Properties

Global:

armorStructural

RAM generally ramps up these values to more or less cancel out the effect of global damage. (BI seems to have taken up the idea, and is creeping up armorStructural values in more recent configs).

Hit Location:

explosionShielding

These values are usually much lower in RAM than vanilla A3 (i.e. more protection against indirectHit).

passThrough

These tend to be zeroed out in RAM.

radius

[#>0,m?] the radius (in m?) of the location's hitpoint vertices in the vehicle's P3D model. The idea here is to spread the vertices throughout the internal structure such that they do not spill out into or beyond the vehicle's armor plates. Unless you have control over the P3D source file, you probably don't want to mess with this value.

HitTrack

[location class] Keeping in mind that this location generally has no armor geometry protecting it and is thus easily damaged by the slightest hit, RAM generally increases the protective properties of explosionShielding and minimalHit to make tracks more resistant to minor weapons.

Useful Links

See if you can pick out the useful data from the obsolete!

VBS:Damage Modeling:Objects

VBS:CfgAmmo Reference

VBS:Damage Flowchart

VBS:Damage Modeling:Simulation Formulas

Config Properties Mega-List

Template:Cfg ref