Sign in to follow this  
Followers 0
Nice_Boat

Nice_Boat Tank Damage System

257 posts in this topic

Found enough time and did some short tests with ARTY ammo. Fixes was needed and are done. Now TDS really handles ARTY ammo... I hope. :)

Howitzer and mortar ARTY ammo attacks top armor at direct hit only (so SADARM always). Rocket ARTY ammo never.

Also found listed somewhere "ARTY_SADARM_NET" and "ARTY_SADARM_BURST" classnames, but honestly I haven't idea, what uses and when these classes of SADARM.

Anyway:

Nice_Boat's Tank Damage System 2a

Nice_Boat's Tank Damage System 2.01 (experimental)

Edited by Rydygier

Share this post


Link to post
Share on other sites

Useful info:

Found new, introduced in OA 1.60, command:

allowCrewInImmobile

Can't implement this into TDS, because this must be Arma2 only compatibile, but this may be in easy way used externally, by init field or separate script... This should to stop this suicidal behavior, when crew leaves immobilized tank with still operational armament regardless of situation, so even under heavy fire with many hostiles nearby, that may be easily destroyed by tank gun.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Hi Rydygier. I have a few questions about TDS. :)

Can I assume that this isn't compatible with ACE, since ACE has it's own integrated armour penetration system?

Does this addon work for all vehicles or just certain ones that it is configured for?

Lastly, could you clarify what you mean above re ARTY ammo? Do you mean that you got the BIS SADARM arty rounds to work with this mod?

Cheers.

Share this post


Link to post
Share on other sites

1. Yep, it isn't compatibile with ACE units, in fact in TDS are used armor and penetration values taken from ACE armor configs, so, for exampe, T-90 is surprisingly resistant (better than Abrams) and Abrams HE ammo works as HEAT...

2. TDS recognizes only certain, and configured vehicles, but there is possibility to add new (and to remove not used to make script more light, if needed), quite simply, if only someone do not afraid some code editing :) and know real armour/ammo parameters of these vehicles. Currently are supported generic Arma 2 only armoured vehicles (OA and so on not covered, haven't any of later released Arma 2 expansions, so can't test), vehicles from Duala, and some other from Vilas' Polish army addon, but older version. If someone needs some assistance with this - I will by glad to help.

This is typical line for tank armor config:

{if (_target isKindOf "M1A2_TUSK_MG") then {_armorCE = 1035; _armorKE = 720; _surviv = 30;_sidePKE = 0.54;_sidePCE = 0.62;_rearPKE = 0.11;_rearPCE = 0.17;_topPKE = 0.06;_topPCE = 0.04;_bottomPKE = 0.42}

_armorCE it is base RHA armor value against HEAT ammo, _armorKE - against kinetc/explosive ammo. _surviv is divisor of taken damage if penetration occurs, rest are multipliers of base KE/CE armor for hits from sides/rear/top/bottom;

And ammo config example:

if (_ammo isKindOf "Sh_120_SABOT") exitwith {_penetration = 805 + NBRand50; _kinetic = true}

Contains ammo class name, base RHA penetration with some random factor (from + 0 to + 50 in this case) and kind of hit.

If penetration is greater, than armor value (also with some randomization) then, and only then, overall damage (after some re-calculations) is applied. Often this means instant kill, but if weapon is weak and/or _surviv variable high, there may occur "non-kill" penetration with damage less than 1. Then also crew gets injuries (normal crew injuries, that are to high and that occurs even without penetration are overrided by TDS, otherwise crew die quickly inside not damaged tank...). TDS supports also mines and independent crew, gun, turret, tracks and wheel damage...

3. About working SADARM (creating submunition when fired from gun with ARTY module synchronized and above vehicle target) just replied in blackace's thread, it is separate thing, here I did, that TDS recognizes SADARM submunition classname and calculate proper (well... up to about 130 mm RHA penetration, that info I found for US SADARM and there is same classname for RU SADARM, so it is equally effective in TDS) penetration/damage for it. Before this change SADARM hits was just ignored by TDS (no penetration, 0 damage, nothing, only boom).

This is SADARM config:

if (_ammo isKindOf "ARTY_SADARM_PROJO") exitwith {_penetration = 110 + NBRand25;_explosive = true;_top = 1;_arty = true}

_top = 1 guarantees top hit, _arty is unused for now, is keeped "just in case". _explosive means, that KE armor value will be used, but without drop of penetrator kinetic energy with distance growth, characteristic for SABOT ammo. _explosive is used, when kinetc hit occurs, but projectile do not flies all the way from attacker's vehicle but is emmited nearby target (eg debris from HE round explosion).

Edited by Rydygier

Share this post


Link to post
Share on other sites
Useful info:

Found new, introduced in OA 1.60, comand:

allowCrewInImmobile

Can't implement this into TDS, because this must be Arma2 only compatibile, but this may be in easy way used externally, by init field or separate script... This should to stop this suicidal behavior, when crew leaves immobilized tank with still operational armament regardless of situation, so even under heavy fire with many hostiles nearby, that may be easily destroyed by tank gun.

Good find! - Just tried using this in a trigger for a jackal with no front tyre and it looks like its working well. Seet bool to true using the trigger and my men could get in. Running CO 1.60.

Share this post


Link to post
Share on other sites

This is working well! Still finding that AI drivers are turning a little to face threat but not the whole way. Im using the addon version. I do hear the commander telling them to 'move 50m east',where threat is , but they dont move all the way around.

Share this post


Link to post
Share on other sites

Yeah. It is not perfect. But this is probably all, that can be achieved by a method based on the waypoints (there are in fact placed only few meters from tank, so tank should only to rotate and not to move towards). It's a shame that "sendsimplecommand" does not work as it should and drivers not cease to rotate tank on "STOP" command. This would be optimal, so nice solution.

Share this post


Link to post
Share on other sites

I've placed this on my server and it is making tank encounters MUCH more deadly (and longlasting!)

Shame that they wont turn any further around - I take it that they are given a waypoint, so could extending that WP a few more metres make a difference ?

Share this post


Link to post
Share on other sites

I had no internet few days, but I'm back... Tried make distance between tank and WP as small as possible, because when is placed further towards enemy, tank, true, will turn, but also will move some meters at least in this direction, and this is rather no good...

EDIT: there are still some small issues to repair, also with "Towards Enemy System", that should be fixed as soon, as I will have time for this.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Good to have you back! Even moving a metre would be fine (although as commander, some message to say that the driver is turning toward a threat would help) if it means not getting damaged! Will test if you need further edits.

I have installed it onto my server and am using it in a HUGE AI environment with no problems.

Share this post


Link to post
Share on other sites

So you can try this version:

Nice_Boat's Tank Damage System 2.01

EDIT: Nice_Boat's Tank Damage System 2.02

- WP is now 8 meters from tank, not 5.6 and seems, that turning is better now. Still I'm not fully happy. This "WP" method causes, that tanks with own waypoints or when commander issues own move orders tanks often do not turn proper, but are doing weird pirouettes with annoying tendency to set their rear towards the enemy;

- "== player" changed with "isPlayer" to make TDS a bit more MP friendly (except debug mode, here is still "player" command used);

- when player is leader of crew and tank is hit from side or rear there is groupchat alert. If player is crew leader (effectiveCommander), there is no automated turning on near enemy notice, so there is also no turning notification;

- added new config variable: NT_Damage (default 1). This is overall multiplier of final damage applied to vehicle. Useful for tweak frequency of non-kill penetrations occurence. The bigger value the more deadly is each penetration hit and bigger chance for "one shot kill";

- eliminated some rare bug: when on battlefield are not only armoured vehicles, no all crews of armored vehicles received Crew Damage System from TDS (logical error in code), script is now lighter a bit for this reason, but also a bit more heavy for CPU, but I hope, that this is too small change to be even noticed;

- eliminated (I hope) very rare bug (I saw this only once), when passangers after disembark still was immune to damage allocated in normal way (so they was simpy immortal).

Edited by Rydygier

Share this post


Link to post
Share on other sites

Cheers mate..... testing now :) Will let you know if I see CPU problems

Edit: Hmmmmm now having problems killing ANY armour - even pointblank (in an M1A2 TUSK against a BMP). May need a little looking at values :(

Edited by Kremator

Share this post


Link to post
Share on other sites

Hmm... Let me see. It must be something with this new multiplier.

EDIT: not sure, where is problem. Just destroyed T-72 with default NT_Damage (not defined in init). Will do more tests.

With NT_Damage = 5 instant kill... and destroyed BMP-3 with default and 0.5 value. Hmm. Are you defined this value or left it default?

Edited by Rydygier

Share this post


Link to post
Share on other sites

I left it as default. Going to try in editor to see if the same thing happens. Using the addon version.

Hmmm something is up. Had it running on server AND client at same time and have problems (run with CBA and ASR_AI), but running on local tanks can die. They arent turning to face enemy however. Testing more.

Edited by Kremator

Share this post


Link to post
Share on other sites

Well. It wasn't tested in MP. Can't tell, how addon will behave then. RPT is clear? Earier version worked fine in MP? If so, then problems with no damage must be related with NT_Damage. Making TDS MP compatibile will be tricky for me. Still I'm aware about "publicVariable" command, so can try to use this for config TES and Damage variables and we will see then. Still there are also other global variables used, which shouldn't be public, because their values are changing 100 times per second. Must be reconfigured all randomizer system to avoid this... Let's check, if this will help with no damage issue. Replaced last link, so you can re-download and try again. (I made config TES and Damage variables values to be public over net and removed other global variables used for randomization (replaced with simply random command))...

EDIT: About not turning... Maybe it is ASR_AI conflict? Did tests, and turning occurs for me, although is imperfected, as described before.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Today finished a new version, so for these few, that use this, here you go:

Nice_Boat's TDS 2.03

What's new:

- for performance tuning removed content from custom addons (if someone needs it, give me a word, will try to prepare special version);

- added hopefully all OA content;

- some code tweaks for better performance;

- now "towards enemy system" is turned off by default because is highly unreliable, especially in heavy scripted mission (see below explanation);

- For OA 1.60 (and above) users: crew will not abandon immobilized vehicle so easily;

- NT_Damage is now be default equal 1.5, not 1. It is for bigger chance for "one penetration - one kill" - every successful penetration means now bigger recalculated damage.

There are two versions now - "a" and "b". Difference is only one, but important. In "a" version main hit code is called form EH, while in "b" is spawned from EH. Because of specificity of sqf and EHs handling "a" version should be fully reliable even in heavy scripted mission, while "b" version suffers sometimes huge exec delays (so in heavy scripted missions often tanks seems tu be indestructible, and indeed they are :) or effect of hit is applied with big delay, even a minute or so). So what for "b" version? Well. I highly recommend "a", but its reliability have a cost - in massive tank battles, especially with rapid fire weapons, may occur some lags (just because code called (not spawned) from EH is calculated immediatelly, may overload CPU sometimes). "B" is more lag-free. With light scripting and not so intense tank battle both versions should perform equally good. As for "TES" - it can't be called, must be spawned, so regardless of version will be unreliable in heavy scripted missions (it is anyway rather unreliable :/ ).

As always I'm grateful for any bug hunting, ideas and opinions.

Share this post


Link to post
Share on other sites

Thanks for this Rydygier! Thought about using the new LOS / eyedirection stuff in here? Would that help the scripts ?

Share this post


Link to post
Share on other sites

Not sure. For now don't know, how that can be used in TDS... Haven't much hope, but working with "TES", maybe will be able to achieve some improvement...

Share this post


Link to post
Share on other sites

Is there any chance of this being updated? I'd like it if the expansion units (BAF, ACR) were added to the lists. Also, mines need to be more powerful, otherwise it takes dozens to detrack an MBT, same with satchel charges. It'd also be nice if multiplayer functionality is built in.

Share this post


Link to post
Share on other sites

I have BAF lite, so BAF equipment present in lite should be already added along with OA, unless I missed something. ACR I can add only, if someone, who has ACR will list here all armored and anti-armor effective equipment (real names and classnames), as I haven't ACR. I long time not touched this, but if there is some interest - update is possible. As for mines and satchels - tried to be accurate with data found on internet and, in my tests, usualy one mine is enough to at least break the track. Unless something was changed in vehicles till my last test. I'll check this again.

As for MP - If only there is someone, that have knowledge about MP scripting, probably may try to adapt this, I think. I haven't such knowledge, so will not do this.

Edited by Rydygier

Share this post


Link to post
Share on other sites

It looks, like somehow direct setHit for tracks (probably also wheels, tower and gun) was broken. I'll try to do something about that, maybe also will check whole code for possible improvements.

Share this post


Link to post
Share on other sites

A couple of things to maybe edit while you're looking at this:

1. More randomness in penetration. As is A 2A46M will always penetrate an M1s front armour.

2. T72s are significantly underarmoured. Maybe if you give the CDF and Takistani T-72s lower armour than the Russian ones, but modern uptodate non export model T72s are world class tanks (the ones slaughtered in Desert Storm were either T55s, local builds or export models, all inferior in armour and other areas to ones given to the Russian Army).

3. Maybe add Hummvees and Jackels, with Jackels having extra IED protection. Also, Strikers could do with some form of extra IED protection. Maybe change it so that vehicles have bottom armour too, so you can do this.

4. IEDs and satchels/mines could have massive randomisation on penetration. So you could have a large IED that only damages the wheels of a Humvee, or a small one that completely KOs an MBT.

Share this post


Link to post
Share on other sites

Cars, as humvee, are not under TDS at all. Only armoured, means tanks, APCs and such. This rather will stay that way.

RHA values I can change only, if you will provide hard, numerical data (in millimeters of RHA) from reliable source other, that I found and used. Data in the net is not complete and sometimes contradictory. As for newest tanks, where data is often classified, it is mainly guessing. Part of the problem is, that many vehicles, eg mentioned T-72 have many versions, and it is not sure to me, parameters of which should be used for Arma models.

More randomization is doable, so I'll think about.

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  
Followers 0