Jump to content
Sign in to follow this  
Sigma-6

Armour values

Recommended Posts

Ok, tell me if I'm correct here.

armor=400;

--This is the overall value. This varies based on the *quantity* of the tank's armour.

armorStructural=2.0;

--This confuses me. . . I assume that this would be the *quality* of the tank's armour. Does this correspond to the *integrity* of the armour at large? if so, what is it relative to, and how will this number change the performance in combat? Will a higher number here 'deflect' rounds of certain types? does this affect penetration?

class HitEngine{armor=0.8;material=60;name=engine;passThrough=1;}

-- my assumptions about this section: This relates to the hitpoints LOD in the p3d. Armor=0.8 (80% of the overall 400?) material=60 (What is this material number? What does it relate to?) name=engine (obviously, this is the engine, but this is not the same name as the selection in the hitpoints LOD, which is: motor? why not?) passthrough=1 (this enables the round to pass through this hit location if it destroys it? 0 would always stop the round? what about values higher than 1? is this just an on-off switch with values 0 and 1?)

class HitHull {armor=1;material=50;name=hull;passThrough=1;};

--same for all these locations. . . obviously

class HitTurret {armor=0.8;material=51;name=turet;passThrough=1;};

class HitGun {armor=0.6;material=52;name=gun;passThrough=1;};

class HitLTrack {armor=0.6;material=53;name=pasL;passThrough=1;};

class HitRTrack {armor=0.6;material=54;name=pasP;passThrough=1;};

armorHull=1;

armorTurret=0.8;

armorGun=0.6;

armorEngine=0.8;

armorLights=0.4;

armorTracks=0.6;

armorGun=0.6;

armorTurret=0.5;

armorHull=0.5;

armorEngine=0.4;

armorLights=0.4;

armorTracks=0.3;

--These all indicate the location's point value relative to the overall value. . . 0.5 would be 200 if the overall value is 400, right?

Share this post


Link to post
Share on other sites

Not sure Sigma.

However I have another question to add to this one:

Where is the armor(x) defined? Is it in the exe file or what?

What I mean is can you add armor defines in the cpp file for say turretsides, back, etc eg:

armorTurretTop=1.2;

armorHullBack=0.8;

armorHullLeft=0.6;

Is it possible or is it hardcoded. The reason I'm asking is that traditionally AFV's have thinner armour on the sides, back and top/bottom of the vehicle. The strongest armour always being at the front of the vehicle (glacis plate and turret mantlet)

Share this post


Link to post
Share on other sites

I'd also like to know more about this too.

Like;

armor="#" // what is each value equal too? (eg. in inchs or mms)

material="#" // what material for what #?

DragoFire

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">armor="#" // what is each value equal to? (eg. in inchs or mms)<span id='postcolor'>

The T72M1 in actuality has the equivalent of roughly 400mm RHA. The T72M1 in OFP has 400 as its armour value. . .

I'd wager it's in mm of RHA equivalent.

I still don't know what those other numbers correspond to either though. . .

Share this post


Link to post
Share on other sites

OK I've come to learn alot about this stuff so I'll share what I know. But please, if you know something extra or if your knowledge conflicts with mine, post it.

1. Materiel: THese are numbers that you put in the user defined slot within Face Properties in Oxygen. This allows a hit to that spot to darken the face, showing damage level. This is how the tanks / APCs show damage as you hit them. This must coincide with the hit points LOD so it knows you have actually struck the track / turret / etc.

2. Armors: All armor values other than the main "armor = #" are ratios compared to the full armor level. So, armorgun = 0.5 means that if you do half the vehicle's armor level of damage to the gun, it will be disabled.

I can't understand the redundancy of the armor classes and the armor values. Some of the information is stated twice, and makes me wonder if one can override the other.

Also, you must remember that damage to a vehicle is additive. 200 points of damage to a turret does 200 points of damage to the overall armor as well. There is no way to make one section of the tank absorb damage. Damage is damage. However, if you damage the "engine" hitpoint enough, it will cause the destruction of the vehicle. So this is a way to incorporate vulnerabilities to a vehicle.

Share this post


Link to post
Share on other sites

Thanks Tanelorn for sharing your knowledge concerning the strange armour-values. Asked me long time how it works that the original OFP-Tanks get darker when damaged, and finally you given me the answer.

That would really help improving my Leopard 2 addon.

Concerning the unanswered points of your "research", it would be great deal when sumone of BI perhaps could give sum hints, or even more better a complete reference! smile.gif

Regards

GM

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">"Dear Mom... I've just seen the Flash!"<span id='postcolor'>

Well, it's already too late for you then. . ..

Yeah, thanks a lot. . .

Now all that remains to be explained is the 'structural' bit. . .

Share this post


Link to post
Share on other sites

I noticed on soldiers that damagestructural had a direct effect on how much damage they could take in the arms and legs before they would die. In this case, they actually could absorb massive amounts of damage to their extremeties and still live, if the structural damage was set high.

I thought about raising that from the normal settings to show how you can shoot a person several times in the arm or leg and not kill them. But, unfortunately, most soldier poses place an arm in front of the chest, so it became very difficult to get that torso shot.

Share this post


Link to post
Share on other sites

Well, I think you may be on to something. . .

My consultant asks me this question:

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">"a hit anywhere will deplete this value, resulting in the ultimate destruction of the vehicle"

Does that mean the armour is ablative? For example, assume a T-72 takes 40 hits from a heavy machine gun, 10 from each side, each with a penetration of 10mm. The tank has sustained a total of 40 x 10mm = 400mm of damage. Does this mean it has no more armour, and the next shot will kill it? Or is the armour absolute, where you could fire an infinite number of HMG rounds at the tank without causing any internal damage, because none of the rounds exceed the armour?<span id='postcolor'>

And he raises the possibility that the "structural" component may decide whether the vehicle becomes more-or-less impervious to weapons which have a lower penetration level. . . are we on to something here? If so, what does it actually correspond to?

Share this post


Link to post
Share on other sites

I think thats off the mark. In my experience the hit-points don't register hits well unless the weapon has area-effect damage. Bullets don't hurt tanks because their blast radius is low and it doesn't register on the hit-points.

I've tested this with my TA units. I had to increase the blast area of all my weapons to register hits properly with laser / bullet type weapons.

So if you want to maximize damage to a tank, use a weapon with a considerable blast area. Light damage or not, it's the blast, not the direct hit, that maximizes the effect.

Share this post


Link to post
Share on other sites

That's not consistent with my experience.

My APFSDS rounds have no blast radius (well, they have a value of 1) and an indirect hit of 10. Their initial damage levels are what gets the kills. . . in fact, they seem to behave quite realistically, and they damage the locations they hit in exactly the way I want them to.

I've also discovered that the damageStructural option does in fact cause lesser weapons to have lesser effects. a car has a value of 4.0, which causes it to be susceptible to small arms, whereas a tank has 2.0 as default, which causes only larger calibre rounds to cause damage. I 'raised' the M1A2's to 1.8, and with the other values I have set, this allows me to quite accurately model the M1A2's DU armour. . . A large portion of the lower calibre tank rounds (105mm and lower, and older 125mm) simply refuse to penetrate the turret front, no matter how many rounds you throw at it.

Share this post


Link to post
Share on other sites

So what's the scale then Sigma?

4.0 = bullets

2.0 = shells

1.0 = missiles or what?

Is it a sliding scale or do these represent the ratio of damage done to the item (4 being 4 x normal damage?or the divisor)

Sorry but I'm not a coder and that ratio has me a bit confused.

Share this post


Link to post
Share on other sites

That's what I'm wondering. . . It has the (approximate) desired effect, but it could stand to be more accurate. . . maybe a developer (hint, hint) could step in and help us out with that?

Share this post


Link to post
Share on other sites

Thinking about those numbers, I may have an idea of what they mean.

Maybe the game engine checks the full armour value divided the armourstructural number (eg 4.0 for light vehicles) and see's whether the damage done by the weapon exceeds this number. If it does then the damage is applied to the model. If not it gets ignored.

Does this sound right?

Sigma can you check the figures of your modding with this theory and see if it's close?

Share this post


Link to post
Share on other sites

makes sense. Sigma, I think the main reason why your APFSDS rounds are able to inflict full damage is because the blast radius actually extends beyond the limit you set for high damage weapons.

I made artillery addon shells, and even with a blast radius of 5, they killed people out to like 20 meters due to their high damage.

All I know is that I can gun away at a BMP with a .50 cal forever and not touch it, but if I shoot it with the weak grenades it will take damage fairly quickly. The difference: blast radius.

Share this post


Link to post
Share on other sites

New question:

can I define new components with this:

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">class HitEngine{armor=0.8;material=60;name=engine;passThrough=1;}

armorEngine=0.8;

<span id='postcolor'>

like, say:

class HitERA

{armor=1.0;material=64;name=ERA;passThrough=1;}

ArmourERA=1.0;

?

Will the game recognise new locations like this If they have their equivalents in the P3d?

Share this post


Link to post
Share on other sites

Anyone else have any additional information on this?

Share this post


Link to post
Share on other sites

I'm currently working on it.... Results are... strange tounge.gif

Well, here we go...

I've made a config.cpp deriving the M2A2 Bradley into a completely fictionnal vehicle, having an armor of 100, some armorHull, Turret, etc... set to different values (1.0, 0.7, 0.2 for tracks), and a canon w/ 2 special ammunitions :

- AP only : a round which deliver "direct hit" only (ie, indirectHit is set to 0), from 30 to 150 by increment (30, 50, 100, 150)

- HE only : a round which deliver indirect hit only (ie hit is set to 0, indirectHit to values ranging from 50 to 150), on a very limited radius (10 cm).

I tested by using Hit and Dammaged eventHandler. So far, I've been unable to trigger Dammaged events, which seems very unreliable (event when testing Sigma-6 M1 vs T90, I did not always achieved Dammaged events).

My first tests were testing AP vs armor.

the result of the Hit event, the dammage done, gave me a very strange formula :

Direct dammage is not proportionnal to the Hit value, but to the square of the hit value.

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">Dammage= K * Hit^2 / (Armor * ArmorStructural)<span id='postcolor'>

K is a constant for a given vehicle, M2A2 gave me something like 0.00043 if I remember well.

Take care, this formula will not give you the amount of dammage taken in any way, it is the value for a direct only hit on a structure, and I'm pretty sure it is innacurate, as the "constant" K could very be variable, but depending on something I did not find (vehicle mass repartition in p3d?).

So, this value is dependant of armorStructural, the more armorStructural, the less the damage taken.

BUT....

A vehicle can be destroyed without it's armor value reaching 0 (or it's "dammage" reaching 1, if you prefer).

Some hitpoints can destroy the vehicle.

In the config.cpp, you can see different :

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">hitHull[]={...}<span id='postcolor'>

Hull, Engine, pasP, pasL, Turret, Gun, are defined as vertices selections in the hitpoints LOD of the model. They do represent the different parts that can be hit.

They have a number of hitpoints which is relative to overall "structural" armor (given by the value of the "armor" parameter in the config.cpp). In my model, structural armor was 100, hitHull had an amor value of 0.7, so 70 hit points.

When the damage done to one of this hitpoints reaches 1 (relative to this hitpoint, so equivalent to 70 for my Hull), this hitpoint his destroyed and different effects take place :

- pasP, pasL make the track stop, the vehicle cannot move

- Gun makes the gun inoperative

- Engine stop the engine, of course.

- Hull : the vehicle is destroyed (second way to destroy a vehicle, after doing 1 damage to it's structural armor).

These different behaviour probably explain why one cannot create a new selection name to have a new armor type, because they cannot describe the behaviour associated.

Now, I assumed that there was 2 types of armor : structural armor, an overall value given by the "armor" parameter, and hitpoints armor, the armor of each component of the vehicle (Hull, etc...).

The important point is that it seems that hitpoint armor and structural armor are differents, ie the do not have the same damage value, and one can reach 1 before the other. This seems all dependant on the armorStructural value, because it seems that damage done to hitpoints (Hull, Tracks, etc..) are NOT dependant of armorStructural.

I had 2 versions of the vehicle, one with armorStruct of 1 (let's call it A), the other with armorStruct of 2 (I'll call it B). When lowering  the armor of hitHull to 0.2, A was taken out by 5 50 hit AP rounds, and had a structural damage value near 0.3 when exploding. B was ALSO taken out by 5 50 hits AP rounds, but its structural damage was near 0.16.

Without any Dammaged event, I was unable to get the different values of damage taken by each hitpoint (this value is the second parameter returned by the Dammaged event), so I guessed by the color of the tiles on the vehicles (pretty bad way to do it, but the only one I had at hand, and I can assure you that Hull was near black before the vehicle exploded).

That was for my "direct hit" tests.

Now, indirectHit.

There, it seems that hitpoints armor (Hull, etc...) are less affected than by direct Hit. The damage is almost all done to structural armor. Then, with indirectHit only, I had difficulties to hit the Hull hitpoint (ie, if I aim at the hull, the vehicle is undamaged, even it's structural armor remains unchanged, tested with damage function, as sometimes, Hit events do not trigger).

After that, I tested some coumpound damages (direct + indirect), I've not yet found any reliable way to determine damage, it is dependant of :

- the hitpoints included in the indirectHitRange of the ammo.

- the hitpoint touched by the directHit.

- something else (my K "constant") I've not yet been able to identify.

It seems that for each hitpoint included in the indirectHitRange, the structural armor is decreased, by a value for which I did not find the formula yet (this trigger a "Hit" event for each hitpoint touched, for me, Hit event represents damage done to structural armor, Dammaged event represent damage done to different hitpoints).

directHit should decrease structuralArmor too, and hitpoints armor for the hitpoint targeted. This gives a global damage value by summing all these damages. So the vehicle is globally affected (structural armor), but locally too (hitpoint armor).

Some strange observations :

- create a mission, make yourself a LAW Soldier, put an empty T-72 in front of you, so that you can aim at the back of the tank. Put in the init field of the T-72 :

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">this addEventHandler ["Hit", {hint format ["%1", _this select 2]}]<span id='postcolor'>.

Shoot 3 times on the T-72. You'll see that the third shot hit for a value waaayyyyy higher than the 2 before, and destroys the tank. Very strange behaviour. Perhaps the engine is out, and it affect structural armor. Or the mass is taken into account, depending on which hitpoint selection the vertices in memory LOD (is it memory) does belong to.

- amorStructural for cars and M2 MG is higher than for tanks and other vehicles (4.0 for cars, 10.0 for M2). Is it to depict the fact that you have to aim precisely at specific point to make them explode, that they do not blow up because of some shots to them in any location?

So, to be continued, I'll try to test it further...

Whis'

Share this post


Link to post
Share on other sites

WOW...thanks for the info whisper! Any info which the community can piece together on this is certainly a step in the right direction!

Share this post


Link to post
Share on other sites

I did some minor testing as well and found about the same thing whisper did..."real" damage dealt to a unit seems to be based on the 'armor' value while specific sections armor seems to control when a unit will go critical. 'ArmorStructural' seems to control how much 'real' damage is allowed through the armor itself. Critical (death/destruction) seems to occurs either when damage reaches 1 or at some other point (in relation to armor I would guess) crazy.gif Im stumped for now...would be nice if someone from BIS could shed a little light on how the engine works with these values. biggrin.gif

Share this post


Link to post
Share on other sites

So, based on this research, you could simulate 1st generation ERA by giving a tank a high 'armor=' rating, but low individial location ratings and setting your APFSDS round's 'indirect hit' to 0 and your HEAT's 'direct hit' to 0. . .

Theoretically. . .

That's actually really great. . . That means you could simulate Kontakt-5 by running structural armour *and* locational armour up. . .

very cool. . .

Share this post


Link to post
Share on other sites

That's the theory, and the first thing I tested after my "discoveries". I did not work at all sad.gif .

The more I think about it, the less usefull I think these "discoveries" are confused.gif , as every application is unsuccessfull.

Well, it seems that a minimum level of direct damage is required for indirect to trigger, unless the level of indirect is huge (see LGB). Perhaps a good proportion of direct/indirect is required to simulate APDS/HEAT (I though about 100% Direct/0% indirect for APDS, it is the Ash setting for his real IFV/MBT, and works fine, and why not 30% Direct/70% Indirect for HEAT, with the 30% high enough to enable hit against the armor level we want it to affect), and to find a correct indirectHitRange value (1 is not enough, tested, no good smile.gif ).

On a sidenote, indirectHit has great "punch", it makes the target litterally flying after being hit.

I gave up my tests on it when I did finish our "normalization addon" for our private campaign. This was to normalize units with respect to tanks armor/weapons. Globally tweaking down APCs, and adjusting radar ranges for them, choppers and AAA.

And I did not really use these "discoveries", I prefered be working similar to what you did with your tanks addons....

As you see I'm very doubtfull on the usefullness of what I wrote above. I posted it so that maybe someone could find the correct way to interpret and use it.

Whis'

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×