Jump to content

Recommended Posts

I guess Pd3 is talking about AI hearing after they detected someone, not before. Because I tweaked it making sure that stabbing someone in the back in certain conditions can be done. It's probably the knowledge which once acquired lingers for longer than we'd expect to in CQB fights.

Share this post


Link to post
Share on other sites

I've been looking through it again comparing my modifications to that of stock BIS units.

In some circumstances they seem to be less pinpoint accurate, however the last time I played with stock BIS units there might've been an update or two.

All I can say is that I can sneak around the AI now with my mod and before that, they were so neurotic that no matter what you did, they were usually in a position to shoot you before you shot them.

I will also say that this most recent time I tested the stock AI a new anomaly popped up, in which an AI went on a wild tangent, presuming I was somewhere I wasn't, in fact more than 90 degrees of difference, and then started throwing grenades in that direction.

This did not happen back when I aimed to make those modifications.

---------- Post added at 23:01 ---------- Previous post was at 23:00 ----------

I guess Pd3 is talking about AI hearing after they detected someone, not before. Because I tweaked it making sure that stabbing someone in the back in certain conditions can be done. It's probably the knowledge which once acquired lingers for longer than we'd expect to in CQB fights.

Yes, its all post-detection.

Also, are you aware of a variable that modifies the FOV of AI?

Their apparent "peripheral" vision is just as acute as that of looking at something dead-on.

Edited by Pd3

Share this post


Link to post
Share on other sites
I posted the link a page back.

I'm not going to spoonfeed you.

I didn't ask you for a script. A script is useless without a mission.

It sounds to me like you are making claims that directly contradict what I have empirically proven for myself. You have to spoonfeed it to me, or I won't believe you, because you have not demonstrated that your testing methodology and experience is worth anything.

And regardless, they can hear you at a distance further than you can hear them, and regardless of the modulus of that disparity, its still cheating, and it still gives the AI an unfair advantage.

From what I can tell with my experiment in shapur, they can detect you to at least twice that distance.

42m was around the average distance at which I started going: "WTF"

AI footstep hearing range when unaware=15m

AI footstep hearing range when aware>25m

Tested with ACE and ASR AI and much more useful script that is visual rather than map-based. I'll send the mission to you if you want it, and we can compare notes.

Their apparent "peripheral" vision is just as acute as that of looking at something dead-on.

I have observed too much tunnel vision to believe that. Their effective FOV may change based on the situation.

Actually they (AI) do. That's the reason ACE had to add new ammo and magazines and change them on the fly for the suppressed weapons shooting supersonic ammo. Plus my system helps the AI detect the shooter in addition to the engine already. There are config parameters for ammo which control that, audiblefire and visiblefire which I suspect they're calculated in relation to unit's sensitivity and sensitivityEar values to determine detection. I remember a mod for Arma1 which added some "Whisper" bullets, supersonic but low-velocity bullets which had a config so well done, when used in suppressed weapons, the AI would detect the bullets but not the shooter, something in between the vanilla SD and non SD bullets.

This is big news to me, Robalo. Because when I fire supersonic rounds from a suppressed weapon from beyond the hearing range of the muzzle blast, the AI don't react to the bullets snapping past their head.

Edited by maturin

Share this post


Link to post
Share on other sites
I didn't ask you for a script. A script is useless without a mission.

It sounds to me like you are making claims that directly contradict what I have empirically proven for myself. You have to spoonfeed it to me, or I won't believe you

Again, you're demonstrating a clear resistance to put any effort into testing this yourself, if you're placing those sorts of stipulations on research, you're already admitted you refuse to believe.

Furthermore, my convincing you of a very real issue is not of the utmost importance.

because you have not demonstrated that your testing methodology and experience is worth anything.

Oh but it absolutely was, and if you're admitting you cannot replicate or at least create a better test than I did for myself, you've no place to make any claims about the quality of my experiments.

At the time I conducted those experiments, and around the same time that original thread was created a general consensus regarding the AI's ability to not only spot, but track obscured movement was generally accepted.

You've already prefaced your skepticism with an overt bias, and to be quite honest you're not important enough for me to do something you're too lazy to do yourself, in spite of your vehement denial of this issue.

AI footstep hearing range when unaware=15m

AI footstep hearing range when aware>25m

Tested with ACE and ASR AI and much more useful script that is visual rather than map-based. I'll send the mission to you if you want it, and we can compare notes.

That in of itself is evidence enough, as unless the hearing range is altered for players.

At 25m footfalls for the player are barely distinguishable, and require relative ambient silence to be heard, this with expensive sennheiser headphones no less.

Now consider that every single time an AI player updates its potential knowledge of where you are, even at 25m, they can make a speculation based on where you're headed that the player simply cannot.

In other words, unlike the player in which our hearing of ai footfalls is heavily obscured by that distance, they simply either hear you, or they don't.

So essentially, that distance should be halved so that any speculation regarding the player's next location is less prediction, and more conjecture.

---------- Post added at 23:24 ---------- Previous post was at 23:19 ----------

Their apparent "peripheral" vision is just as acute as that of looking at something dead-on.

I have observed too much tunnel vision to believe that. Their effective FOV may change based on the situation.

I can be anywhere upwards of 60m moving parallel to their line of sight and they can still spot me.

I would chalk up that tunnel vision to a random inconsistency.

When I've been previously spotted by an AI opponent, if I plan to dart from alleyway to alleyway, parallel to their field of vision at a considerable distance, they still manage to update their location of where I am.

No player would have that luxury of seeing somebody moving at 90 degrees of their facing.

Share this post


Link to post
Share on other sites
Again, you're demonstrating a clear resistance to put any effort into testing this yourself, if you're placing those sorts of stipulations on research, you're already admitted you refuse to believe.

I don't know what to test! You don't seem to realize how this works. When you complain about a glitch, you tell other people how to re-produce it. You haven't even described a situation where I should experience this behavior.

At 25m footfalls for the player are barely distinguishable, and require relative ambient silence to be heard, this with expensive sennheiser headphones no less.

I have $9 headphones and can hear quite well at 50m. And the AI cannot hear you at 25m. I said 'less than,' so the range may be considerably lower.

Now consider that every single time an AI player updates its potential knowledge of where you are, even at 25m, they can make a speculation based on where you're headed that the player simply cannot.

Eh? I can speculate based on footsteps. With the power of logic, with the AI lacks, I can know that the AI is not running through that pond or solid building over there.

In other words, unlike the player in which our hearing of ai footfalls is heavily obscured by that distance, they simply either hear you, or they don't.

Untrue. If you use the script I do, you will see that at certain ranges, the AI CANNOT pinpoint your location based on hearing, but only makes a guess concerning a larger (maybe 25m2) circle. So they have no echolocation at 15m, because they require visual confirmation at that range.

I can be anywhere upwards of 60m moving parallel to their line of sight and they can still spot me.

This means nothing without an angle measurement, you know.

I would chalk up that tunnel vision to a random inconsistency.

NO. I can reproduce it flawlessly. It happens under certain circumstances that are quite common. You had the nerve to mention bias earlier?

When I've been previously spotted by an AI opponent, if I plan to dart from alleyway to alleyway, parallel to their field of vision at a considerable distance, they still manage to update their location of where I am.

No player would have that luxury of seeing somebody moving at 90 degrees of their facing.

90 degrees from their LoS, 100m, say? Now that I can test. Stand by.

Edit: And yes, post-detection, AI seem to have a FoV of 180 degrees, as opposed to their pre-detection (but combat mode) predilection for tunnel vision. It's the central dilemma of ArmA's AI, moving from subhuman obliviousness to superhuman precision with a single bullet.

See how this works now? If you actually provide a method of repro, things can be verified. So don't accuse me of bias when you effectively ask me to believe you without evidence.

Edited by maturin

Share this post


Link to post
Share on other sites
I don't know what to test! You don't seem to realize how this works. When you complain about a glitch, you tell other people how to re-produce it. You haven't even described a situation where I should experience this behavior.

I created an experiment in which I established a pathway extending from within to outside my audible range, moving through gaps between houses and around cover.

When the AI runs this part of the gauntlet it was simply to determine the distance at which I lost the ability to hear them.

When I ran it, it was in order to determine at which the point I lost my ability to hear the opponent and how well the AI was still able to track my movements.

Granted since I've modified the game, which has been a fair amount of time now, it does seem as if the AI is far less consistent in pinpointing where I will re-enter their field of vision.

However that was not originally the case.

I have $9 headphones and can hear quite well at 50m. And the AI cannot hear you at 25m. I said 'less than,' so the range may be considerably lower.

I've just attempted to hear the AI at 50m and could not, the only possibility of accounting for this is whether your sound card has EAX or something similar. Hardware acceleration may be responsible for that.

Furthermore, the "useful" range at which you can hear footfalls is even lower, bearing in mind that most of the time you don't have the luxury of a completely quiet environment to hear your opponent.

The AI suffers no such impairment to my knowledge.

Eh? I can speculate based on footsteps. With the power of logic, with the AI lacks, I can know that the AI is not running through that pond or solid building over there.

Yes, but at a distance which makes it useful?

Typically the distance at which I can successfully hear them, you're not going to need to speculate as to which direction they've gone because they're so close that they'll hear you anyhow.

Untrue. If you use the script I do, you will see that at certain ranges, the AI CANNOT pinpoint your location based on hearing, but only makes a guess concerning a larger (maybe 25m2) circle. So they have no echolocation at 15m, because they require visual confirmation at that range.

Perhaps a total diameter of 25m, but that leaves a 12m radius that pretty much covers exactly where you're going to appear, meaning they can be facing completely away from you, at a distance which I personally cannot directly ascertain their direct location, and be ready to shoot you as soon as you appear.

This means nothing without an angle measurement, you know.

If you have two planes parallel to one another, at different distances, what angle do you think its going to be?! :confused:

NO. I can reproduce it flawlessly. It happens under certain circumstances that are quite common. You had the nerve to mention bias earlier?

All the circumstances I've encountered it are seemingly random, in fact the same circumstances under which I've experienced being spotted at a 90 degree angle, I've also experienced the AI inexplicably not spotting me.

Although this was extremely rare around the time I started modifying things.

90 degrees from their LoS, 100m, say? Now that I can test. Stand by.

This is of course after being identified by the enemy...

Share this post


Link to post
Share on other sites

I've just attempted to hear the AI at 50m and could not, the only possibility of accounting for this is whether your sound card has EAX or something similar. Hardware acceleration may be responsible for that.

Or ACE_SM, come to think of it.

Furthermore, the "useful" range at which you can hear footfalls is even lower, bearing in mind that most of the time you don't have the luxury of a completely quiet environment to hear your opponent.

I agree. But since their footstep hearing ability only works out to two dozen meters (or less), which is smaller than most buildings, I call it a poor substitute for logic. Simply knowing where the two corners of a building are gives you a much better ability to outsmart someone in CQB. And you could always walk, you know, and render them deaf.

Yes, but at a distance which makes it useful?

Sure. I can hear what path they are taking around a building so I don't get flanked.

Typically the distance at which I can successfully hear them, you're not going to need to speculate as to which direction they've gone because they're so close that they'll hear you anyhow.

I don't follow. It's a problem that we can hear each other at them same time? And if I'm not moving, they will be clueless, because they can't see through solid objects.

Perhaps a total diameter of 25m, but that leaves a 12m radius that pretty much covers exactly where you're going to appear, meaning they can be facing completely away from you, at a distance which I personally cannot directly ascertain their direct location, and be ready to shoot you as soon as you appear.

I can definitely hear to the precision level of 25m in CQB, and if I hear your footsteps, you will get a facefull of lead as I use human logic to aim at the very small number of possible points you could emerge from (one, in a typical city).

If you have two planes parallel to one another, at different distances, what angle do you think its going to be?! :confused:

You said 60m offset from the unit's line of sight, meaning a very high angle at short range and a very low angle at long range.

All the circumstances I've encountered it are seemingly random, in fact the same circumstances under which I've experienced being spotted at a 90 degree angle, I've also experienced the AI inexplicably not spotting me.

.

To repro tunnel vision, hide behind a solid object and fire a shot. If the AI looks in the wrong direction based on a faulty sound location estimation, they will probably exhibit tunnel vision.

Share this post


Link to post
Share on other sites

hi, I wonder if anyone can help?

I've noticed that all the Invasion 44 units seem to have the same skill base - Class Level 6. So I have tried to pass them into the custom ASR AI arrays using the .hpp - for example I want the airborne troops to go into one of the special forces arrays ie Class 1, I want regular troops to go into class 3 Regular etc

However, when I examine the RPT, the units are still being assigned the Class 6 level of skills.

These are the sorts of class names ie I am passing in to the arrays. I got these from Jedras spreadsheet. To me, they seem to be the correct classes ie they are parents of the individual vehicle names:

"I44_Man_A_Army_bRifle"

"I44_Man_A_Army_bOfficer"

"I44_Man_A_Army_bNCO"

"I44_Man_A_Army_bMG"

"I44_Man_A_Army_bAT"

"I44_Man_A_Army_bSniper"

"I44_Man_A_Army_bMedic"

"I44_Man_A_Army_bEngr"

"I44_Man_A_Army_bGunCrew"

"I44_Man_A_Army_bCrew"

"I44_Man_A_Army_DDay_bRifle"

"I44_Man_A_Army_DDay_bOfficer"

"I44_Man_A_Army_DDay_bNCO"

"I44_Man_A_Army_DDay_bMG"

"I44_Man_A_Army_DDay_bAT"

"I44_Man_A_Army_DDay_bSniper"

"I44_Man_A_Army_DDay_bMedic"

"I44_Man_A_Army_DDay_bEngr"

"I44_Man_A_Army_DDay_bGunCrew"

"I44_Man_A_Army_DDay_bCrew"

"I44_Man_A_Army_AB_bRifle"

"I44_Man_A_Army_AB_bOfficer"

"I44_Man_A_Army_AB_bNCO"

"I44_Man_A_Army_AB_bMG"

"I44_Man_A_Army_AB_bAT"

"I44_Man_A_Army_AB_bSniper"

"I44_Man_A_Army_AB_bMedic"

"I44_Man_A_Army_AB_bEngr"

"I44_Man_A_Army_AB_bGunCrew"

"I44_Man_A_Army_AB_bCrew"

"I44_Man_A_Army_Ranger_bRifle"

"I44_Man_A_Army_Ranger_bOfficer"

"I44_Man_A_Army_Ranger_bNCO"

"I44_Man_A_Army_Ranger_bMG"

"I44_Man_A_Army_Ranger_bAT"

"I44_Man_A_Army_Ranger_bSniper"

"I44_Man_A_Army_Ranger_bMedic"

"I44_Man_A_Army_Ranger_bEngr"

"I44_Man_A_Army_Ranger_bGunCrew"

"I44_Man_B_Army_bRifle"

"I44_Man_B_Army_bOfficer"

"I44_Man_B_Army_bNCO"

"I44_Man_B_Army_bMG"

"I44_Man_B_Army_bAT"

"I44_Man_B_Army_bSniper"

"I44_Man_B_Army_bMedic"

"I44_Man_B_Army_bEngr"

"I44_Man_B_Army_bGunCrew"

"I44_Man_B_Army_bCrew"

"I44_Man_B_Army_AB_bRifle"

"I44_Man_B_Army_AB_bOfficer"

"I44_Man_B_Army_AB_bNCO"

"I44_Man_B_Army_AB_bMG"

"I44_Man_B_Army_AB_bAT"

"I44_Man_B_Army_AB_bSniper"

"I44_Man_B_Army_AB_bMedic"

"I44_Man_B_Army_AB_bEngr"

"I44_Man_B_Army_AB_bGunCrew"

"I44_Man_B_Army_AB_bCrew"

"I44_Man_B_Army_Commando_bRifle"

"I44_Man_B_Army_Commando_bOfficer"

"I44_Man_B_Army_Commando_bNCO"

"I44_Man_B_Army_Commando_bMG"

"I44_Man_B_Army_Commando_bAT"

"I44_Man_B_Army_Commando_bSniper"

"I44_Man_B_Army_Commando_bMedic"

"I44_Man_G_WH_bRifle"

"I44_Man_G_WH_bOfficer"

"I44_Man_G_WH_bNCO"

"I44_Man_G_WH_bMG"

"I44_Man_G_WH_bAT"

"I44_Man_G_WH_bSniper"

"I44_Man_G_WH_bMedic"

"I44_Man_G_WH_bEngr"

"I44_Man_G_WH_bGunCrew"

"I44_Man_G_WH_bCrew"

"I44_Man_G_WH_Camo_bRifle"

"I44_Man_G_WH_Camo_bOfficer"

"I44_Man_G_WH_Camo_bNCO"

"I44_Man_G_WH_Camo_bMG"

"I44_Man_G_WH_Camo_bAT"

"I44_Man_G_WH_Camo_bSniper"

"I44_Man_G_WH_Camo_bMedic"

"I44_Man_G_WH_Camo_bEngr"

"I44_Man_G_WH_Camo_bGunCrew"

"I44_Man_G_WH_Camo_bCrew"

"I44_Man_G_SS_bRifle"

"I44_Man_G_SS_bOfficer"

"I44_Man_G_SS_bNCO"

"I44_Man_G_SS_bMG"

"I44_Man_G_SS_bAT"

"I44_Man_G_SS_bSniper"

"I44_Man_G_SS_bMedic"

"I44_Man_G_SS_bEngr"

"I44_Man_G_SS_bGunCrew"

"I44_Man_G_SS_bCrew"

"I44_Man_G_WL_bRifle"

"I44_Man_G_WL_bOfficer"

"I44_Man_G_WL_bNCO"

"I44_Man_G_WL_bMG"

"I44_Man_G_WL_bAT"

"I44_Man_G_WL_bSniper"

"I44_Man_G_WL_bMedic"

"I44_Man_G_WL_bEngr"

"I44_Man_G_WL_bGunCrew"

"I44_Man_G_WL_FJ_bRifle"

"I44_Man_G_WL_FJ_bOfficer"

"I44_Man_G_WL_FJ_bNCO"

"I44_Man_G_WL_FJ_bMG"

"I44_Man_G_WL_FJ_bAT"

"I44_Man_G_WL_FJ_bSniper"

"I44_Man_G_WL_FJ_bMedic"

"I44_Man_G_WL_FJ_bEngr"

"I44_Man_G_WL_FJ_bGunCrew"

Has anyone had any success defining new skills for I44 units?

Edited by jiltedjock

Share this post


Link to post
Share on other sites

Update on testing the v1.5.3_test4:

No Engage/disengage logorrhea by the player's unit (as leader, ofc) with asr_ai on its own, nor with TPWC AIS 2.0 on its own.

Will test again with the latest version of TPWC AIS (2.02beta).

Share this post


Link to post
Share on other sites
hi, I wonder if anyone can help?

I've noticed that all the Invasion 44 units seem to have the same skill base - Class Level 6. So I have tried to pass them into the custom ASR AI arrays using the .hpp - for example I want the airborne troops to go into one of the special forces arrays ie Class 1, I want regular troops to go into class 3 Regular etc

..

Has anyone had any success defining new skills for I44 units?

Should be easy, but I did not understand what you did so I can't tell you what went wrong.

---------- Post added at 13:28 ---------- Previous post was at 13:27 ----------

Update on testing the v1.5.3_test4:

No Engage/disengage logorrhea by the player's unit (as leader, ofc) with asr_ai on its own, nor with TPWC AIS 2.0 on its own.

Will test again with the latest version of TPWC AIS (2.02beta).

Unchanged yet, but I'll upload another test soon.

Share this post


Link to post
Share on other sites

Ah, very good news, Robalo.

On an odd note, I've noticed that your (wonderful) work's latest test version seems to break the SP scenario "Trial By Fire" (bunch of Marines being Huey'd onto Utes, terrible dialog) - the UH1 refuses to land and instead spends its time flying back and forth minigunning stuff. I'm pretty sure your latest non-test version had it running fine.

If your latest test version causes it, I might create a ticket - although of course, you can feel free to ignore it as missions should be made to accommodate mods, not vice-versa. :)

EDIT- yeah, you know what? I think it's just a sign that your addon is working, and also a mark of dubious mission design (not putting the pilot on careless to ensure the precious cargo actually gets delivered!). Ignore the above, and bring on the next test version, eh.

Edited by CameronMcDonald

Share this post


Link to post
Share on other sites

Thanks, Robalo. I tried running the latest TPWC AIS 2.02beta (pbo) with your test - I still get intermittent engage/disengage but much reduced frequency. FYI the mission I've been using as a test is bboy's "Pinned Down". Haven't had time to check with other missions where the player is leader, except for another couple of SP missions that are broken because the gear menu has been broken in the most recent betas.

@CameronMcDonald: interesting, that's one of my standard test missions. I also find the chopper doesn't land immediately but does so after only one diversion:

It takes out the Shilka on the hill S of the airfield).

Quite reproducible. OTOH I have seen this happen if Zeus is running - the chopper cruises around taking out everything in sight and never lands.

Share this post


Link to post
Share on other sites
@CameronMcDonald: interesting, that's one of my standard test missions. I also find the chopper doesn't land immediately but does so after only one diversion:

It comes down after one pass on my system using the 1.15.1, but never lands on 1.15.1 test v4 - do you find the same?

Also good to see someone using it as a testbed too!

Share this post


Link to post
Share on other sites
It comes down after one pass on my system using the 1.15.1, but never lands on 1.15.1 test v4 - do you find the same?

Also good to see someone using it as a testbed too!

Nope, with either version it makes one attack then lands.

Share this post


Link to post
Share on other sites

No worries, test4 had some rough experimental stuff, fine-tuning them for the next one. Excellent feedback, thanks !

I've added skill levels for the I44 soldiers too.

Share this post


Link to post
Share on other sites
I've added skill levels for the I44 soldiers too.

Excellent, thanks!

Share this post


Link to post
Share on other sites
Should be easy, but I did not understand what you did so I can't tell you what went wrong.

Hi Robalo

Attached is my example hpp.

/*

ASR AI settings

this file must be found in <game folder>\userconfig\asr_ai\

for most settings, 0 = disabled, 1 = enabled

All config entries are turned into global variables following a standard naming scheme. For example:

asr_ai_sys_airearming_feature = getNumber (configFile >> "asr_ai" >> "sys_airearming" >> "feature")

Mission makers can control these features by setting these global variables in init.sqf or by setting

a similar class in description.ext

*/

class asr_ai {

version = 3; // will increment this when structure changes

class sys_airearming {

feature = 1; // All the other settings of this class matter only if we have 1 here

run = 1; // Enable rearming at mission start

radius = 50; // Rearming search radius - how far will AI go to grab stuff

civ = 0; // Civilians will try to arm themselves

sidearm = 1; // Units will take handguns

binocs = 1; // Units will take binoculars

ACEmeds[] = {4,1}; // Units will get this many morphine and epi (ACE mod); format: {amountIfMedic,amountIfNotMedic}

// List of secondary weapons that any unit may take. Other launchers not in this list will only be picked by specialists

launchers[] = {

"M136","RPG18","cwr2_AT4","cwr2_LAW","cwr2_RPG75",

"ACE_M136_CSRS","ACE_M72A2","ACE_M72","ACE_RPG22","ACE_RPG27","ACE_RPOM","ACE_RSHG1","ACE_RMG"

};

// List of frag grenades that units will look for

grenades[] = {

"HandGrenade","HandGrenade_West","HandGrenade_East","BAF_L109A1_HE","ACE_DM51","ACE_DM51A1"

};

// List of smoke grenades that units will look for

smokes[] = {

"SmokeShell","SmokeShellRed","SmokeShellGreen","SmokeShellYellow","SmokeShellPurple","SmokeShellBlue","SmokeShellOrange",

"ACE_M34","ACE_RDG2","ACE_RDGM","ACE_DM25","ACE_DM31","ACE_DM32","ACE_DM33","ACE_DM34","ACE_DM36","ACE_M15"

};

};

class sys_aiskill {

feature = 1; // All the other settings of this class matter only if we have 1 here

civ = 0; // Enable advanced skills for civilians

radionet = 1; // AI groups share known enemy locations over radio

radiorange = 600; // Maximum range for radios

radionet_debug = 0; // Log info sharing to RPT

nightspotting = 0.3; // Spotting range night reduction coeficient

gunshothearing = 0.75; // Gunshot hearing range coefficient (applied to shooter's weapon sound range; 0 will disable the feature)

gunshothearing_debug = 0; // Gunshot hearing debug: shows a hint with max range the AI will detect the shots fired by player (values: 0,1)

buildingSearching = 0.8; // Chance the AI group will search nearby buildings when in combat mode (0 to 1 values, 0 will disable the feature)

buildingSearchingAlwaysUp = 1; // Prefer UP stance (value: 1) when doing the house search or let AI choose automatically (value: 0)

throwsmoke = 0.8; // AI throws smoke when hit (set 0 to disable or a number up to 1 to enable, higher number means better chance to do it)

join_loners = 1; // Groups left with only one unit merge with nearest group of the same side or faction (1-enabled, 0-disabled)

join_loners_sameFaction = 0; // Single units will only join groups of the same faction, if join_loners = 1 above (1-faction, 0-side)

serverdvd = 1; // Dynamic dedicated server viewdistance adjustment

setskills = 1; // Configure AI skills based on their unit type (faction, training etc.)

setskills_debug = 1; // Log skill assignments to RPT

recoilMod = 1; // Lower recoil when using MGs; also increased recoil for wounded AI (1-enabled, 0-disabled)

stayLow = 1; // Units using MG, AR or sniper should fight from prone position (1-enabled, 0-disabled)

split_legged = 300; // Units unable to walk for this time will separate from their group to prevent slowing it down (time in seconds, set 0 to disable)

/*

Units are classified into skill sets between 1 and 10

By default, a lower level number means a better skilled unit

Levels 8-10 are special:

- 8-9 are for pilots, very good by default, but some of their skills are now automatically reduced when they leave the aircraft (accuracy, courage)

- 10 is for trained snipers

*/

class sets {

// only classes of arrays under this

class level_0 { // perfect (only used for testing)

aimingAccuracy[] = {1.00, 0.00};

aimingShake[] = {1.00, 0.00};

aimingSpeed[] = {1.00, 0.00};

spotDistance[] = {1.00, 0.00};

spotTime[] = {1.00, 0.00};

endurance[] = {1.00, 0.00};

courage[] = {1.00, 0.00};

reloadSpeed[] = {1.00, 0.00};

commanding[] = {1.00, 0.00};

general[] = {1.00, 0.00};

units[] = { // add class names to this to override their default (or inherited) skill set

};

};

class level_1 { // sf 1

aimingAccuracy[] = {0.35, 0.10}; // skilltype = {<min value>, <random value added to min>};

aimingShake[] = {0.35, 0.10};

aimingSpeed[] = {0.60, 0.20};

spotDistance[] = {0.65, 0.30};

spotTime[] = {0.40, 0.20};

endurance[] = {0.80, 0.20};

courage[] = {0.80, 0.20};

reloadSpeed[] = {0.80, 0.20};

commanding[] = {0.80, 0.20};

general[] = {0.80, 0.20};

units[] = {

"I44_Man_A_Army_AB_bRifle","I44_Man_A_Army_AB_bOfficer","I44_Man_A_Army_AB_bNCO","I44_Man_A_Army_AB_bMG","I44_Man_A_Army_AB_bAT","I44_Man_A_Army_AB_bMedic",

"I44_Man_A_Army_AB_bEngr","I44_Man_A_Army_AB_bGunCrew","I44_Man_A_Army_AB_bCrew","I44_Man_A_Army_Ranger_bRifle","I44_Man_A_Army_Ranger_bOfficer",

"I44_Man_A_Army_Ranger_bNCO","I44_Man_A_Army_Ranger_bMG","I44_Man_A_Army_Ranger_bAT","I44_Man_A_Army_Ranger_bMedic",

"I44_Man_A_Army_Ranger_bEngr","I44_Man_A_Army_Ranger_bGunCrew","I44_Man_B_Army_AB_bRifle","I44_Man_B_Army_AB_bOfficer",

"I44_Man_B_Army_AB_bNCO","I44_Man_B_Army_AB_bMG","I44_Man_B_Army_AB_bAT","I44_Man_B_Army_AB_bMedic",

"I44_Man_B_Army_AB_bEngr","I44_Man_B_Army_AB_bGunCrew","I44_Man_B_Army_AB_bCrew","I44_Man_B_Army_Commando_bRifle",

"I44_Man_B_Army_Commando_bOfficer","I44_Man_B_Army_Commando_bNCO","I44_Man_B_Army_Commando_bMG",

"I44_Man_B_Army_Commando_bAT","I44_Man_B_Army_Commando_bMedic","I44_Man_G_WL_FJ_bRifle","I44_Man_G_WL_FJ_bOfficer",

"I44_Man_G_WL_FJ_bNCO","I44_Man_G_WL_FJ_bMG","I44_Man_G_WL_FJ_bAT","I44_Man_G_WL_FJ_bMedic",

"I44_Man_G_WL_FJ_bEngr","I44_Man_G_WL_FJ_bGunCrew"

};

};

class level_2 { // sf 2

aimingAccuracy[] = {0.30, 0.10};

aimingShake[] = {0.30, 0.10};

aimingSpeed[] = {0.55, 0.20};

spotDistance[] = {0.60, 0.30};

spotTime[] = {0.35, 0.20};

endurance[] = {0.70, 0.20};

courage[] = {0.80, 0.20};

reloadSpeed[] = {0.70, 0.20};

commanding[] = {0.80, 0.20};

general[] = {0.70, 0.20};

units[] = {

"I44_Man_G_SS_bRifle","I44_Man_G_SS_bOfficer","I44_Man_G_SS_bNCO","I44_Man_G_SS_bMG","I44_Man_G_SS_bAT","I44_Man_G_SS_bMedic","I44_Man_G_SS_bEngr","I44_Man_G_SS_bGunCrew","I44_Man_G_SS_bCrew"

};

};

class level_3 { // regular 1

aimingAccuracy[] = {0.25, 0.10};

aimingShake[] = {0.25, 0.10};

aimingSpeed[] = {0.50, 0.20};

spotDistance[] = {0.55, 0.30};

spotTime[] = {0.30, 0.20};

endurance[] = {0.60, 0.20};

courage[] = {0.60, 0.20};

reloadSpeed[] = {0.60, 0.20};

commanding[] = {0.60, 0.20};

general[] = {0.60, 0.20};

units[] = {

"I44_Man_A_Army_bRifle","I44_Man_A_Army_bOfficer","I44_Man_A_Army_bNCO","I44_Man_A_Army_bMG","I44_Man_A_Army_bAT","I44_Man_A_Army_bMedic",

"I44_Man_A_Army_bEngr","I44_Man_A_Army_bGunCrew","I44_Man_A_Army_bCrew","I44_Man_A_Army_DDay_bRifle","I44_Man_A_Army_DDay_bOfficer","I44_Man_A_Army_DDay_bNCO",

"I44_Man_A_Army_DDay_bMG","I44_Man_A_Army_DDay_bAT","I44_Man_A_Army_DDay_bMedic","I44_Man_A_Army_DDay_bEngr","I44_Man_A_Army_DDay_bGunCrew","I44_Man_A_Army_DDay_bCrew",

"I44_Man_B_Army_bRifle","I44_Man_B_Army_bOfficer","I44_Man_B_Army_bNCO","I44_Man_B_Army_bMG",

"I44_Man_B_Army_bAT","I44_Man_B_Army_bMedic","I44_Man_B_Army_bEngr","I44_Man_B_Army_bGunCrew",

"I44_Man_B_Army_bCrew","I44_Man_G_WH_bRifle","I44_Man_G_WH_bOfficer","I44_Man_G_WH_bNCO","I44_Man_G_WH_bMG",

"I44_Man_G_WH_bAT","I44_Man_G_WH_bMedic","I44_Man_G_WH_bEngr","I44_Man_G_WH_bGunCrew","I44_Man_G_WH_bCrew",

"I44_Man_G_WH_Camo_bRifle","I44_Man_G_WH_Camo_bOfficer","I44_Man_G_WH_Camo_bNCO","I44_Man_G_WH_Camo_bMG",

"I44_Man_G_WH_Camo_bAT","I44_Man_G_WH_Camo_bMedic","I44_Man_G_WH_Camo_bEngr","I44_Man_G_WH_Camo_bGunCrew",

"I44_Man_G_WH_Camo_bCrew","I44_Man_G_WL_bRifle","I44_Man_G_WL_bOfficer","I44_Man_G_WL_bNCO","I44_Man_G_WL_bMG",

"I44_Man_G_WL_bAT","I44_Man_G_WL_bMedic","I44_Man_G_WL_bEngr","I44_Man_G_WL_bGunCrew"

};

};

class level_4 { // regular 2

aimingAccuracy[] = {0.20, 0.10};

aimingShake[] = {0.20, 0.10};

aimingSpeed[] = {0.45, 0.20};

spotDistance[] = {0.50, 0.30};

spotTime[] = {0.25, 0.20};

endurance[] = {0.50, 0.20};

courage[] = {0.50, 0.20};

reloadSpeed[] = {0.50, 0.20};

commanding[] = {0.50, 0.20};

general[] = {0.50, 0.20};

units[] = {

"ibr_bodyguard"

};

};

class level_5 { // militia or trained insurgents, former regulars

aimingAccuracy[] = {0.15, 0.10};

aimingShake[] = {0.15, 0.10};

aimingSpeed[] = {0.40, 0.20};

spotDistance[] = {0.45, 0.30};

spotTime[] = {0.20, 0.20};

endurance[] = {0.40, 0.20};

courage[] = {0.40, 0.20};

reloadSpeed[] = {0.40, 0.20};

commanding[] = {0.40, 0.20};

general[] = {0.40, 0.20};

units[] = {

"ibr_arl_officer","ibr_arl_sniper","ibr_arl_sab","ibr_arl_roberto","ibr_arl_marksman"

};

};

class level_6 { // civilians with some military training

aimingAccuracy[] = {0.10, 0.10};

aimingShake[] = {0.10, 0.10};

aimingSpeed[] = {0.35, 0.20};

spotDistance[] = {0.40, 0.30};

spotTime[] = {0.15, 0.20};

endurance[] = {0.30, 0.20};

courage[] = {0.30, 0.20};

reloadSpeed[] = {0.30, 0.20};

commanding[] = {0.30, 0.20};

general[] = {0.30, 0.20};

units[] = {

"ibr_rebel11","ibr_rebel22","ibr_rebel33","ibr_rebel44","ibr_rebel55","ibr_rebel66","ibr_rebel77","ibr_rebel83","ibr_rebel95","ibr_rebel102",

"ibr_rebel111","ibr_rebel125","ibr_rebel132","ibr_rebel145","ibr_rebel151","ibr_rebel162","ibr_rebel173","ibr_rebel184","ibr_rebel195",

"ibr_rebel206","ibr_rebel217",

"ibr_arl_rif","ibr_arl_rif2","ibr_arl_mg","ibr_arl_ar","ibr_arl_at","ibr_arl_aa","ibr_arl_crew","ibr_arl_medic",

"ibr_drg_man1","ibr_drg_man2","ibr_drg_man3","ibr_drg_man4","ibr_drg_man5","ibr_drg_man6","ibr_drg_man7"

};

};

class level_7 { // civilians without military training

aimingAccuracy[] = {0.10, 0.10};

aimingShake[] = {0.10, 0.10};

aimingSpeed[] = {0.30, 0.20};

spotDistance[] = {0.35, 0.30};

spotTime[] = {0.10, 0.20};

endurance[] = {0.20, 0.20};

courage[] = {0.20, 0.20};

reloadSpeed[] = {0.20, 0.20};

commanding[] = {0.20, 0.20};

general[] = {0.20, 0.20};

units[] = {

"ibr_arl_stoner1","ibr_arl_stoner2","ibr_arl_stoner3","ibr_arl_stoner4","ibr_arl_stoner5","ibr_arl_stoner6","ibr_arl_stoner7"

};

};

class level_8 { // pilot 1

aimingAccuracy[] = {0.25, 0.10};

aimingShake[] = {0.25, 0.10};

aimingSpeed[] = {0.60, 0.20};

spotDistance[] = {0.65, 0.30};

spotTime[] = {0.40, 0.20};

endurance[] = {0.60, 0.20};

courage[] = {0.60, 0.20};

reloadSpeed[] = {0.60, 0.20};

commanding[] = {0.60, 0.20};

general[] = {0.60, 0.20};

units[] = {

"ibr_arl_eric"

};

};

class level_9 { // pilot 2

aimingAccuracy[] = {0.20, 0.10};

aimingShake[] = {0.20, 0.10};

aimingSpeed[] = {0.55, 0.20};

spotDistance[] = {0.60, 0.30};

spotTime[] = {0.35, 0.20};

endurance[] = {0.50, 0.20};

courage[] = {0.50, 0.20};

reloadSpeed[] = {0.50, 0.20};

commanding[] = {0.50, 0.20};

general[] = {0.50, 0.20};

units[] = {

"ibr_arl_pilot","ibr_drg_pilot"

};

};

class level_10 { // sniper

aimingAccuracy[] = {0.80, 0.10};

aimingShake[] = {0.90, 0.10};

aimingSpeed[] = {0.65, 0.20};

spotDistance[] = {0.70, 0.30};

spotTime[] = {0.75, 0.20};

endurance[] = {0.70, 0.20};

courage[] = {0.70, 0.20};

reloadSpeed[] = {0.70, 0.20};

commanding[] = {0.70, 0.20};

general[] = {0.70, 0.20};

units[] = {

"I44_Man_A_Army_bSniper","I44_Man_A_Army_DDay_bSniper","I44_Man_B_Army_bSniper","I44_Man_G_WH_bSniper","I44_Man_G_WH_Camo_bSniper",

"I44_Man_G_WL_bSniper","I44_Man_A_Army_AB_bSniper","I44_Man_A_Army_Ranger_bSniper","I44_Man_B_Army_AB_bSniper",

"I44_Man_B_Army_Commando_bSniper","I44_Man_G_SS_bSniper","I44_Man_G_WL_FJ_bSniper"

};

};

};//sets

};//sys_aiskill

};

These, as far as I can tell, are the class names. I took them from Jedras spreadsheet http://www.arma2jedra.co.uk/Addons/Skills.rar and also had a look in the I44 pbos. The vehicle names are here https://dev-heaven.net/projects/inv44/wiki/Classlist I've tried those too with no success.

Typical output from RPT is here (unit is AB1)

[201566,7673.33,0,"XEH: PreInit Started. v3.3.3. MISSINIT: missionName=testww2, worldName=I44_Omaha_v2, isMultiplayer=false, isServer=true, isDedicated=false"]

[201566,7673.39,0,"XEH: PreInit Finished. CACHE DISABLED? (Disable caching with cba_disable_cache.pbo): SLX_XEH_RECOMPILE=false, CBA_COMPILE_RECOMPILE=false, CBA_FUNC_RECOMPILE=false"]

[]

[201583,7673.63,0,"XEH: PostInit Started"]

[201583,7673.65,0,"CBA_VERSIONING: cba=0.8.3.175, "]

[201583,7673.65,0,"XEH: PostInit Finished. State: _isClient=true, _isJip=false, _isDedClient=false, _isServer=true, _isDedServer=false, _playerCheckDone=true, _sp=true, _startInitDone=true, _postInitDone=true, _mpRespawn=false, _machineType=1, _sessionId=24, BIS_functions=L 1-1-A:1, group=L 1-1-A, player=B 1-1-A:1 (Andrew), _playerType=I44_Man_B_Army_AB_NCO_StenMk5", _playerGroup=B 1-1-A]

"Unit B 1-1-A:1 (Andrew) has skill 1"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill aimingAccuracy value 0.161652"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill aimingShake value 0.134909"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill aimingSpeed value 0.412013"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill endurance value 0.476099"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill spotDistance value 0.555163"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill spotTime value 0.230036"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill courage value 0.5"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill reloadSpeed value 0.428329"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill commanding value 0.327002"

"5.003 | Unit B 1-1-A:1 (Andrew) gets skill general value 0.487773"

"Unit ab1 has skill 0.424835"

"5.003 | Unit ab1 gets skill aimingAccuracy value 0.187309"

"5.003 | Unit ab1 gets skill aimingShake value 0.197728"

"5.003 | Unit ab1 gets skill aimingSpeed value 0.520479"

"5.003 | Unit ab1 gets skill endurance value 0.314546"

"5.003 | Unit ab1 gets skill spotDistance value 0.422008"

"5.003 | Unit ab1 gets skill spotTime value 0.330932"

"5.003 | Unit ab1 gets skill courage value 0.320912"

"5.003 | Unit ab1 gets skill reloadSpeed value 0.321468"

"5.003 | Unit ab1 gets skill commanding value 0.342689"

"5.003 | Unit ab1 gets skill general value 0.424835"

Share this post


Link to post
Share on other sites

jiltedjock, from the looks of it you put base classes in there, but you need to put the actual soldier classes. Class inheritance does not work here, the unit type is checked if matching exactly with those set in userconfig as overrides.

In your case, for example in the RPT I see your class is "I44_Man_B_Army_AB_NCO_StenMk5" but you don't have that in the userconfig.

Edited by Robalo

Share this post


Link to post
Share on other sites

nice, i44 support....you are a hero. C'mon IF44 config would be a dream.^^ *joke*

Edited by TeilX

Share this post


Link to post
Share on other sites
nice, i44 support....you are a hero. C'mon IF44 config would be a dream.^^ *joke*

Only basic support for I44, skill settings by class type. For complete support, I'd need to write a special config addon and require the I44 mod for it to work. Not so high in my TODO list :)

Same goes for IF44, which I don't even have.

---------- Post added at 18:26 ---------- Previous post was at 17:49 ----------

Ah, very good news, Robalo.

On an odd note, I've noticed that your (wonderful) work's latest test version seems to break the SP scenario "Trial By Fire" (bunch of Marines being Huey'd onto Utes, terrible dialog) - the UH1 refuses to land and instead spends its time flying back and forth minigunning stuff. I'm pretty sure your latest non-test version had it running fine.

If your latest test version causes it, I might create a ticket - although of course, you can feel free to ignore it as missions should be made to accommodate mods, not vice-versa. :)

EDIT- yeah, you know what? I think it's just a sign that your addon is working, and also a mark of dubious mission design (not putting the pilot on careless to ensure the precious cargo actually gets delivered!). Ignore the above, and bring on the next test version, eh.

Took me a while to figure this out, because it was the last thing I'd expect. The problem is not the extended skills and sensors, or any behavior change, but a simple M134 weapon config tweak: I've extended it's maximum engagement range for AI from 800m to 1000m. The addon is asr_ai_c_airof.pbo. The AI pilot probably has the ZU truck within that range and decides to engage it, then it finds other targets and keeps killing. I'd agree on weak mission design on this one, they could've prevented that as you noted.

Share this post


Link to post
Share on other sites

I'm still having trouble with the ai finding me where ever i go they always find me even if I run far away they still know right where I'm and this getting to be very annoying at the least. I have tried stealth and recon mod and tried lowering the sensitive ear and really saw no difference with that and plus I used the new 1.2 cowarmod only using slx+asr ai and still no difference what on gods green earth is going on some people say they dont have this problem. What I'm I configuring wrong in the ai mods someone please help.

Share this post


Link to post
Share on other sites
I'm still having trouble with the ai finding me where ever i go they always find me even if I run far away they still know right where I'm and this getting to be very annoying at the least. I have tried stealth and recon mod and tried lowering the sensitive ear and really saw no difference with that and plus I used the new 1.2 cowarmod only using slx+asr ai and still no difference what on gods green earth is going on some people say they dont have this problem. What I'm I configuring wrong in the ai mods someone please help.

Please post your testing scenario, rpt and config in a ticket on the tracker.

Share this post


Link to post
Share on other sites
Please post your testing scenario, rpt and config in a ticket on the tracker.

sorry to ask this but what is rpt

Share this post


Link to post
Share on other sites

Hi Robalo thanks, yes I figured out where I was going wrong, need vehicle classnames as you suggested. I44 config below for anyone interested:

[spoiler]
/*
ASR AI settings
this file must be found in <game folder>\userconfig\asr_ai\
for most settings, 0 = disabled, 1 = enabled

All config entries are turned into global variables following a standard naming scheme. For example:
asr_ai_sys_airearming_feature = getNumber (configFile >> "asr_ai" >> "sys_airearming" >> "feature")
Mission makers can control these features by setting these global variables in init.sqf or by setting
a similar class in description.ext
*/

class asr_ai {
version = 3; // will increment this when structure changes

class sys_airearming {
	feature = 1;        // All the other settings of this class matter only if we have 1 here
	run = 1;            // Enable rearming at mission start
	radius = 50;        // Rearming search radius - how far will AI go to grab stuff
	civ = 0;            // Civilians will try to arm themselves
	sidearm = 1;        // Units will take handguns
	binocs = 1;         // Units will take binoculars
	ACEmeds[] = {4,1};  // Units will get this many morphine and epi (ACE mod); format: {amountIfMedic,amountIfNotMedic}

	// List of secondary weapons that any unit may take. Other launchers not in this list will only be picked by specialists
	launchers[] = {
		"M136","RPG18","cwr2_AT4","cwr2_LAW","cwr2_RPG75",
		"ACE_M136_CSRS","ACE_M72A2","ACE_M72","ACE_RPG22","ACE_RPG27","ACE_RPOM","ACE_RSHG1","ACE_RMG","I44_M1A1Bazooka","I44_PIAT","I44_PzFaust","I44_PzFaust30","I44_PzFaust60","I44_PzFaust100","I44_RPzB54"
	};
	// List of frag grenades that units will look for
	grenades[] = {
		"HandGrenade","HandGrenade_West","HandGrenade_East","BAF_L109A1_HE","ACE_DM51","ACE_DM51A1",
		"I44_HandGrenade_No82","I44_HandGrenade_StiHgr24x7","I44_HandGrenade_Mk2","I44_HandGrenade_No36M","I44_HandGrenade_StiHgr24"
	};
	// List of smoke grenades that units will look for
	smokes[] = {
		"SmokeShell","SmokeShellRed","SmokeShellGreen","SmokeShellYellow","SmokeShellPurple","SmokeShellBlue","SmokeShellOrange",
		"ACE_M34","ACE_RDG2","ACE_RDGM","ACE_DM25","ACE_DM31","ACE_DM32","ACE_DM33","ACE_DM34","ACE_DM36","ACE_M15"
	};
};

class sys_aiskill {
	feature = 1;                   // All the other settings of this class matter only if we have 1 here
	civ = 0;                       // Enable advanced skills for civilians
	radionet = 1;                  // AI groups share known enemy locations over radio
	radiorange = 600;              // Maximum range for radios
	radionet_debug = 0;            // Log info sharing to RPT
	nightspotting = 0.3;           // Spotting range night reduction coeficient
	gunshothearing = 0.75;         // Gunshot hearing range coefficient (applied to shooter's weapon sound range; 0 will disable the feature)
	gunshothearing_debug = 0;      // Gunshot hearing debug: shows a hint with max range the AI will detect the shots fired by player (values: 0,1)
	buildingSearching = 0.8;       // Chance the AI group will search nearby buildings when in combat mode (0 to 1 values, 0 will disable the feature)
	buildingSearchingAlwaysUp = 1; // Prefer UP stance (value: 1) when doing the house search or let AI choose automatically (value: 0)
	throwsmoke = 0.8;              // AI throws smoke when hit (set 0 to disable or a number up to 1 to enable, higher number means better chance to do it)
	join_loners = 1;               // Groups left with only one unit merge with nearest group of the same side or faction (1-enabled, 0-disabled)
	join_loners_sameFaction = 0;   // Single units will only join groups of the same faction, if join_loners = 1 above (1-faction, 0-side)
	serverdvd = 1;                 // Dynamic dedicated server viewdistance adjustment
	setskills = 1;                 // Configure AI skills based on their unit type (faction, training etc.)
	setskills_debug = 1;           // Log skill assignments to RPT
	recoilMod = 1;                 // Lower recoil when using MGs; also increased recoil for wounded AI (1-enabled, 0-disabled)
	stayLow = 1;                   // Units using MG, AR or sniper should fight from prone position (1-enabled, 0-disabled)
	split_legged = 300;            // Units unable to walk for this time will separate from their group to prevent slowing it down (time in seconds, set 0 to disable)

	/*
	Units are classified into skill sets between 1 and 10
	By default, a lower level number means a better skilled unit
	Levels 8-10 are special:
	 - 8-9 are for pilots, very good by default, but some of their skills are now automatically reduced when they leave the aircraft (accuracy, courage)
	 - 10 is for trained snipers
	*/
	class sets {
		// only classes of arrays under this
		class level_0 { // perfect (only used for testing)
			aimingAccuracy[] = {1.00, 0.00};
			aimingShake[]    = {1.00, 0.00};
			aimingSpeed[]    = {1.00, 0.00};
			spotDistance[]   = {1.00, 0.00};
			spotTime[]       = {1.00, 0.00};
			endurance[]      = {1.00, 0.00};
			courage[]        = {1.00, 0.00};
			reloadSpeed[]    = {1.00, 0.00};
			commanding[]     = {1.00, 0.00};
			general[]        = {1.00, 0.00};

			units[] = {
			};
		};
		class level_1 { // sf 1
			aimingAccuracy[] = {0.35, 0.10}; // skilltype = {<min value>, <random value added to min>};
			aimingShake[]    = {0.35, 0.10};
			aimingSpeed[]    = {0.60, 0.20};
			spotDistance[]   = {0.65, 0.30};
			spotTime[]       = {0.40, 0.20};
			endurance[]      = {0.80, 0.20};
			courage[]        = {0.80, 0.20};
			reloadSpeed[]    = {0.80, 0.20};
			commanding[]     = {0.80, 0.20};
			general[]        = {0.80, 0.20};

			units[] = {
				"I44_Man_A_Army_AB_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_M1Garand",
"I44_Man_A_Army_AB_M1Garand_M7",
"I44_Man_A_Army_AB_M1A1Carbine",
"I44_Man_A_Army_AB_RTO_M1A1Carbine",
"I44_Man_A_Army_AB_M1903A3",
"I44_Man_A_Army_AB_M1903A3_M1",
"I44_Man_A_Army_AB_M1918A2",
"I44_Man_A_Army_AB_M1A1Thompson",
"I44_Man_A_Army_AB_M3Greasegun",
"I44_Man_A_Army_AB_M1919A4",
"I44_Man_A_Army_AB_M1A1Bazooka",
"I44_Man_A_Army_AB_Medic",
"I44_Man_A_Army_AB_Engr_M37DemoKit",
"I44_Man_A_Army_AB_Engr_M2DemoCharges",
"I44_Man_A_Army_AB_Engr_M1A1Bangalore",
"I44_Man_A_Army_AB_Engr_M1Mine",
"I44_Man_A_Army_AB_Engr_M2_2",
"I44_Man_A_Army_AB_GunCrew_M1A1Carbine",
"I44_Man_A_Army_AB_ATCrew_M3",
"I44_Man_A_Army_AB_MCrew_C",
"I44_Man_A_Army_AB_MCrew_G",
"I44_Man_A_Army_AB_MGCrew_AG",
"I44_Man_A_Army_AB_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_NCO_M1Garand",
"I44_Man_A_Army_AB_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_AB_CO_M1A1Carbine",
"I44_Man_A_Army_AB_CO_M1911A1",
"I44_Man_A_Army_AB_82_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_82_M1Garand",
"I44_Man_A_Army_AB_82_M1Garand_M7",
"I44_Man_A_Army_AB_82_M1A1Carbine",
"I44_Man_A_Army_AB_82_RTO_M1A1Carbine",
"I44_Man_A_Army_AB_82_M1903A3",
"I44_Man_A_Army_AB_82_M1903A3_M1",
"I44_Man_A_Army_AB_82_M1918A2",
"I44_Man_A_Army_AB_82_M1A1Thompson",
"I44_Man_A_Army_AB_82_M3Greasegun",
"I44_Man_A_Army_AB_82_M1919A4",
"I44_Man_A_Army_AB_82_M1A1Bazooka",
"I44_Man_A_Army_AB_82_Medic",
"I44_Man_A_Army_AB_82_Engr_M37DemoKit",
"I44_Man_A_Army_AB_82_Engr_M2DemoCharges",
"I44_Man_A_Army_AB_82_Engr_M1A1Bangalore",
"I44_Man_A_Army_AB_82_Engr_M1Mine",
"I44_Man_A_Army_AB_82_Engr_M2_2",
"I44_Man_A_Army_AB_82_GunCrew_M1A1Carbine",
"I44_Man_A_Army_AB_82_ATCrew_M3",
"I44_Man_A_Army_AB_82_MCrew_C",
"I44_Man_A_Army_AB_82_MCrew_G",
"I44_Man_A_Army_AB_82_MGCrew_AG",
"I44_Man_A_Army_AB_82_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_82_NCO_M1Garand",
"I44_Man_A_Army_AB_82_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_82_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_AB_82_CO_M1A1Carbine",
"I44_Man_A_Army_AB_82_CO_M1911A1",
"I44_Man_A_Army_AB_M43_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_M43_M1Garand",
"I44_Man_A_Army_AB_M43_M1Garand_M7",
"I44_Man_A_Army_AB_M43_M1A1Carbine",
"I44_Man_A_Army_AB_M43_RTO_M1A1Carbine",
"I44_Man_A_Army_AB_M43_M1903A3",
"I44_Man_A_Army_AB_M43_M1903A3_M1",
"I44_Man_A_Army_AB_M43_M1918A2",
"I44_Man_A_Army_AB_M43_M1A1Thompson",
"I44_Man_A_Army_AB_M43_M3Greasegun",
"I44_Man_A_Army_AB_M43_M1919A4",
"I44_Man_A_Army_AB_M43_M1A1Bazooka",
"I44_Man_A_Army_AB_M43_Medic",
"I44_Man_A_Army_AB_M43_Engr_M37DemoKit",
"I44_Man_A_Army_AB_M43_Engr_M2DemoCharges",
"I44_Man_A_Army_AB_M43_Engr_M1A1Bangalore",
"I44_Man_A_Army_AB_M43_Engr_M1Mine",
"I44_Man_A_Army_AB_M43_Engr_M2_2",
"I44_Man_A_Army_AB_M43_GunCrew_M1A1Carbine",
"I44_Man_A_Army_AB_M43_ATCrew_M3",
"I44_Man_A_Army_AB_M43_MCrew_C",
"I44_Man_A_Army_AB_M43_MCrew_G",
"I44_Man_A_Army_AB_M43_MGCrew_AG",
"I44_Man_A_Army_AB_M43_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_M43_NCO_M1Garand",
"I44_Man_A_Army_AB_M43_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_M43_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_AB_M43_CO_M1A1Carbine",
"I44_Man_A_Army_AB_M43_CO_M1911A1",
"I44_Man_A_Army_AB_82_M43_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_82_M43_M1Garand",
"I44_Man_A_Army_AB_82_M43_M1Garand_M7",
"I44_Man_A_Army_AB_82_M43_M1A1Carbine",
"I44_Man_A_Army_AB_82_M43_RTO_M1A1Carbine",
"I44_Man_A_Army_AB_82_M43_M1903A3",
"I44_Man_A_Army_AB_82_M43_M1903A3_M1",
"I44_Man_A_Army_AB_82_M43_M1918A2",
"I44_Man_A_Army_AB_82_M43_M1A1Thompson",
"I44_Man_A_Army_AB_82_M43_M3Greasegun",
"I44_Man_A_Army_AB_82_M43_M1919A4",
"I44_Man_A_Army_AB_82_M43_M1A1Bazooka",
"I44_Man_A_Army_AB_82_M43_Medic",
"I44_Man_A_Army_AB_82_M43_Engr_M37DemoKit",
"I44_Man_A_Army_AB_82_M43_Engr_M2DemoCharges",
"I44_Man_A_Army_AB_82_M43_Engr_M1A1Bangalore",
"I44_Man_A_Army_AB_82_M43_Engr_M1Mine",
"I44_Man_A_Army_AB_82_M43_Engr_M2_2",
"I44_Man_A_Army_AB_82_M43_GunCrew_M1A1Carbine",
"I44_Man_A_Army_AB_82_M43_ATCrew_M3",
"I44_Man_A_Army_AB_82_M43_MCrew_C",
"I44_Man_A_Army_AB_82_M43_MCrew_G",
"I44_Man_A_Army_AB_82_M43_MGCrew_AG",
"I44_Man_A_Army_AB_82_M43_NCO_M1A1Carbine",
"I44_Man_A_Army_AB_82_M43_NCO_M1Garand",
"I44_Man_A_Army_AB_82_M43_NCO_M1A1Thompson",
"I44_Man_A_Army_AB_82_M43_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_AB_82_M43_CO_M1A1Carbine",
"I44_Man_A_Army_AB_82_M43_CO_M1911A1",
"I44_Man_A_Army_AB_NCO_M1A1Thompson_Winter",
"I44_Man_A_Army_AB_M1Garand_Winter",
"I44_Man_A_Army_AB_M1Garand_M7_Winter",
"I44_Man_A_Army_AB_M1A1Carbine_Winter",
"I44_Man_A_Army_AB_RTO_M1A1Carbine_Winter",
"I44_Man_A_Army_AB_M1903A3_Winter",
"I44_Man_A_Army_AB_M1903A3_M1_Winter",
"I44_Man_A_Army_AB_M1918A2_Winter",
"I44_Man_A_Army_AB_M1A1Thompson_Winter",
"I44_Man_A_Army_AB_M3Greasegun_Winter",
"I44_Man_A_Army_AB_M1919A4_Winter",
"I44_Man_A_Army_AB_M1A1Bazooka_Winter",
"I44_Man_A_Army_AB_Medic_Winter",
"I44_Man_A_Army_AB_Engr_M37DemoKit_Winter",
"I44_Man_A_Army_AB_Engr_M2DemoCharges_Winter",
"I44_Man_A_Army_AB_Engr_M1A1Bangalore_Winter",
"I44_Man_A_Army_AB_Engr_M1Mine_Winter",
"I44_Man_A_Army_AB_Engr_M2_2_Winter",
"I44_Man_A_Army_AB_GunCrew_M1A1Carbine_Winter",
"I44_Man_A_Army_AB_ATCrew_M3_Winter",
"I44_Man_A_Army_AB_MCrew_C_Winter",
"I44_Man_A_Army_AB_MCrew_G_Winter",
"I44_Man_A_Army_AB_MGCrew_AG_Winter",
"I44_Man_A_Army_AB_NCO_M1A1Carbine_Winter",
"I44_Man_A_Army_AB_NCO_M1Garand_Winter",
"I44_Man_A_Army_AB_NCO_M1A1Thompson_Winter",
"I44_Man_A_Army_AB_GunCrew_NCO_M1911A1_Winter",
"I44_Man_A_Army_AB_CO_M1A1Carbine_Winter",
"I44_Man_A_Army_AB_CO_M1911A1_Winter",
"I44_Man_A_Army_Ranger_NCO_M1Carbine",
"I44_Man_A_Army_Ranger_M1Garand",
"I44_Man_A_Army_Ranger_M1Garand_M7",
"I44_Man_A_Army_Ranger_M1Carbine",
"I44_Man_A_Army_Ranger_RTO_M1Carbine",
"I44_Man_A_Army_Ranger_M1903A3",
"I44_Man_A_Army_Ranger_M1903A3_M1",
"I44_Man_A_Army_Ranger_M1918A2",
"I44_Man_A_Army_Ranger_M1A1Thompson",
"I44_Man_A_Army_Ranger_M3Greasegun",
"I44_Man_A_Army_Ranger_M37Ithaca",
"I44_Man_A_Army_Ranger_M1919A4",
"I44_Man_A_Army_Ranger_M1A1Bazooka",
"I44_Man_A_Army_Ranger_Engr_M37DemoKit",
"I44_Man_A_Army_Ranger_Engr_M2DemoCharges",
"I44_Man_A_Army_Ranger_Engr_M1A1Bangalore",
"I44_Man_A_Army_Ranger_Engr_M1Mine",
"I44_Man_A_Army_Ranger_Engr_M2_2",
"I44_Man_A_Army_Ranger_Medic",
"I44_Man_A_Army_Ranger_GunCrew_M1Carbine",
"I44_Man_A_Army_Ranger_ATCrew_M3",
"I44_Man_A_Army_Ranger_MCrew_C",
"I44_Man_A_Army_Ranger_MCrew_G",
"I44_Man_A_Army_Ranger_MGCrew_AG",
"I44_Man_A_Army_Ranger_NCO_M1Carbine",
"I44_Man_A_Army_Ranger_NCO_M1Garand",
"I44_Man_A_Army_Ranger_NCO_M1A1Thompson",
"I44_Man_A_Army_Ranger_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_Ranger_CO_M1Carbine",
"I44_Man_A_Army_Ranger_CO_M1911A1",
"I44_Man_B_Army_AB_NCO_StenMk5",
"I44_Man_B_Army_AB_SMLENo4Mk1",
"I44_Man_B_Army_AB_RTO",
"I44_Man_B_Army_AB_SMLENo4Mk1_No82",
"I44_Man_B_Army_AB_StenMk2",
"I44_Man_B_Army_AB_StenMk5",
"I44_Man_B_Army_AB_BrenMk1",
"I44_Man_B_Army_AB_PIAT",
"I44_Man_B_Army_AB_Engr_GrenadeNo75",
"I44_Man_B_Army_AB_Eng_FlameNo2",
"I44_Man_B_Army_AB_Medic",
"I44_Man_B_Army_AB_Crew_WebleyMk6",
"I44_Man_B_Army_AB_Crew_StenMk2",
"I44_Man_B_Army_AB_GunCrew_SMLEdNo4Mk1",
"I44_Man_B_Army_AB_ATCrew_SMLEdNo4Mk1",
"I44_Man_B_Army_AB_Sapper_M37",
"I44_Man_B_Army_AB_Sapper_M2",
"I44_Man_B_Army_AB_Sapper_M1A1",
"I44_Man_B_Army_AB_NCO_SMLENo4Mk1",
"I44_Man_B_Army_AB_NCO_StenMk5",
"I44_Man_B_Army_AB_CO_StenMk5",
"I44_Man_B_Army_AB_CO_WebleyMk6",
"I44_Man_B_Army_Commando_NCO_StenMk2S",
"I44_Man_B_Army_Commando_SMLENo4Mk1",
"I44_Man_B_Army_Commando_RTO",
"I44_Man_B_Army_Commando_DeLisle",
"I44_Man_B_Army_Commando_StenMk2",
"I44_Man_B_Army_Commando_StenMk2S",
"I44_Man_B_Army_Commando_StenMk5",
"I44_Man_B_Army_Commando_M1A1Thompson",
"I44_Man_B_Army_Commando_BrenMk1",
"I44_Man_B_Army_Commando_PIAT",
"I44_Man_B_Army_Commando_Engr_GrenadeNo75",
"I44_Man_B_Army_Commando_Engr_FlameNo2",
"I44_Man_B_Army_Commando_Medic",
"I44_Man_B_Army_Commando_Sapper_M37",
"I44_Man_B_Army_Commando_Sapper_M2",
"I44_Man_B_Army_Commando_NCO_StenMk2S",
"I44_Man_B_Army_Commando_CO_StenMk2S",
"I44_Man_B_Army_Commando_CO_StenMk2S_winter",
"I44_Man_B_Army_Commando_SMLENo4Mk1_winter",
"I44_Man_B_Army_Commando_RTO_winter",
"I44_Man_B_Army_Commando_DeLisle_winter",
"I44_Man_B_Army_Commando_StenMk2_winter",
"I44_Man_B_Army_Commando_StenMk2S_winter",
"I44_Man_B_Army_Commando_StenMk5_winter",
"I44_Man_B_Army_Commando_M1A1Thompson_winter",
"I44_Man_B_Army_Commando_BrenMk1_winter",
"I44_Man_B_Army_Commando_PIAT_winter",
"I44_Man_B_Army_Commando_Engr_GrenadeNo75_winter",
"I44_Man_B_Army_Commando_Engr_FlameNo2_winter",
"I44_Man_B_Army_Commando_Sapper_M37_winter",
"I44_Man_B_Army_Commando_Sapper_M2_winter",
"I44_Man_B_Army_Commando_Medic_winter",
"I44_Man_B_Army_Commando_NCO_StenMk2S_winter",
"I44_Man_B_Army_Commando_CO_StenMk2S_winter",
"I44_Man_G_WL_FJ_NCO_MP40",
"I44_Man_G_WL_FJ_K98k",
"I44_Man_G_WL_FJ_RTO",
"I44_Man_G_WL_FJ_K98k_GGrGer",
"I44_Man_G_WL_FJ_K98kZf41",
"I44_Man_G_WL_FJ_K98k_PzF30",
"I44_Man_G_WL_FJ_K98k_PzF60",
"I44_Man_G_WL_FJ_G43",
"I44_Man_G_WL_FJ_MP40",
"I44_Man_G_WL_FJ_MP43",
"I44_Man_G_WL_FJ_FG42",
"I44_Man_G_WL_FJ_FG42_Zf4",
"I44_Man_G_WL_FJ_MG34",
"I44_Man_G_WL_FJ_MG42",
"I44_Man_G_WL_FJ_RPzB54",
"I44_Man_G_WL_FJ_GbLadung10kg",
"I44_Man_G_WL_FJ_GbLadung3kg",
"I44_Man_G_WL_FJ_SprB24",
"I44_Man_G_WL_FJ_Rohrladung",
"I44_Man_G_WL_FJ_TMi42",
"I44_Man_G_WL_FJ_FmW35",
"I44_Man_G_WL_FJ_Medic",
"I44_Man_G_WL_FJ_ATCrew_G43",
"I44_Man_G_WL_FJ_MCrew_C",
"I44_Man_G_WL_FJ_MCrew_G",
"I44_Man_G_WL_FJ_MGCrew_AG",
"I44_Man_G_WL_FJ_NCO_K98k",
"I44_Man_G_WL_FJ_NCO_MP40",
"I44_Man_G_WL_FJ_NCO_MP43",
"I44_Man_G_WL_FJ_CO_MP40",
"I44_Man_G_WL_FJ_CO_P08"
			};
		};
		class level_2 { // sf 2
			aimingAccuracy[] = {0.30, 0.10};
			aimingShake[]    = {0.30, 0.10};
			aimingSpeed[]    = {0.55, 0.20};
			spotDistance[]   = {0.60, 0.30};
			spotTime[]       = {0.35, 0.20};
			endurance[]      = {0.70, 0.20};
			courage[]        = {0.80, 0.20};
			reloadSpeed[]    = {0.70, 0.20};
			commanding[]     = {0.80, 0.20};
			general[]        = {0.75, 0.20};

			units[] = {
				"I44_Man_G_SS_NCO_MP40",
"I44_Man_G_SS_K98k",
"I44_Man_G_SS_RTO",
"I44_Man_G_SS_K98k_GGrGer",
"I44_Man_G_SS_K98kZf41",
"I44_Man_G_SS_K98k_PzF30",
"I44_Man_G_SS_K98k_PzF60",
"I44_Man_G_SS_G43",
"I44_Man_G_SS_MP40",
"I44_Man_G_SS_MP43",
"I44_Man_G_SS_MG34",
"I44_Man_G_SS_MG42",
"I44_Man_G_SS_RPzB54",
"I44_Man_G_SS_Engr_GbLadung10kg",
"I44_Man_G_SS_Engr_GbLadung3kg",
"I44_Man_G_SS_Engr_SprB24",
"I44_Man_G_SS_Engr_Rohrladung",
"I44_Man_G_SS_Engr_TMi42",
"I44_Man_G_SS_Engr_FmW35",
"I44_Man_G_SS_Medic",
"I44_Man_G_SS_Crew_P38",
"I44_Man_G_SS_Crew_MP40",
"I44_Man_G_SS_Crew_Eng",
"I44_Man_G_SS_GunCrew_K98k",
"I44_Man_G_SS_ATCrew_G43",
"I44_Man_G_SS_MCrew_C",
"I44_Man_G_SS_MCrew_G",
"I44_Man_G_SS_MGCrew_AG",
"I44_Man_G_SS_NCO_K98k",
"I44_Man_G_SS_NCO_MP40",
"I44_Man_G_SS_NCO_MP43",
"I44_Man_G_SS_Crew_NCO_P38",
"I44_Man_G_SS_GunCrew_NCO_P38",
"I44_Man_G_SS_CO_MP40",
"I44_Man_G_SS_CO_P08",
"I44_Man_G_SS_NCO_MP40_Winter",
"I44_Man_G_SS_K98k_Winter",
"I44_Man_G_SS_RTO_Winter",
"I44_Man_G_SS_K98k_GGrGer_Winter",
"I44_Man_G_SS_K98k_Zf41_Winter",
"I44_Man_G_SS_K98k_PzF30_Winter",
"I44_Man_G_SS_K98k_PzF60_Winter",
"I44_Man_G_SS_G43_Winter",
"I44_Man_G_SS_MP40_Winter",
"I44_Man_G_SS_MP43_Winter",
"I44_Man_G_SS_MG34_Winter",
"I44_Man_G_SS_MG42_Winter",
"I44_Man_G_SS_RPzB54_Winter",
"I44_Man_G_SS_Engr_GbLadung10kg_Winter",
"I44_Man_G_SS_Engr_GbLadung3kg_Winter",
"I44_Man_G_SS_Engr_SprB24_Winter",
"I44_Man_G_SS_Engr_Rohrladung_Winter",
"I44_Man_G_SS_Engr_TMi42_Winter",
"I44_Man_G_SS_Engr_FmW35_Winter",
"I44_Man_G_SS_Medic_Winter",
"I44_Man_G_SS_Crew_P38_Winter",
"I44_Man_G_SS_Crew_Eng_Winter",
"I44_Man_G_SS_Crew_MP40_Winter",
"I44_Man_G_SS_GunCrew_K98k_Winter",
"I44_Man_G_SS_ATCrew_G43_Winter",
"I44_Man_G_SS_MCrew_C_Winter",
"I44_Man_G_SS_MCrew_G_Winter",
"I44_Man_G_SS_MGCrew_AG_Winter",
"I44_Man_G_SS_NCO_K98k_Winter",
"I44_Man_G_SS_NCO_MP40_Winter",
"I44_Man_G_SS_NCO_MP43_Winter",
"I44_Man_G_SS_Crew_NCO_P38_Winter",
"I44_Man_G_SS_GunCrew_NCO_P38_Winter",
"I44_Man_G_SS_CO_MP40_Winter",
"I44_Man_G_SS_CO_P08_Winter"
			};
		};
		class level_3 { // regular 1
			aimingAccuracy[] = {0.25, 0.10};
			aimingShake[]    = {0.25, 0.10};
			aimingSpeed[]    = {0.50, 0.20};
			spotDistance[]   = {0.55, 0.30};
			spotTime[]       = {0.30, 0.20};
			endurance[]      = {0.60, 0.20};
			courage[]        = {0.60, 0.20};
			reloadSpeed[]    = {0.60, 0.20};
			commanding[]     = {0.60, 0.20};
			general[]        = {0.60, 0.20};

			units[] = {
				"I44_Man_A_Army_NCO_M1Carbine",
"I44_Man_A_Army_M1Garand",
"I44_Man_A_Army_M1Garand_M7",
"I44_Man_A_Army_M1Carbine",
"I44_Man_A_Army_RTO_M1Carbine",
"I44_Man_A_Army_M1903A3",
"I44_Man_A_Army_M1903A3_M1",
"I44_Man_A_Army_M1918A2",
"I44_Man_A_Army_M1A1Thompson",
"I44_Man_A_Army_M3Greasegun",
"I44_Man_A_Army_M37Ithaca",
"I44_Man_A_Army_M1919A4",
"I44_Man_A_Army_M1A1Bazooka",
"I44_Man_A_Army_Engr_M37DemoKit",
"I44_Man_A_Army_Engr_M2DemoCharges",
"I44_Man_A_Army_Engr_M1A1Bangalore",
"I44_Man_A_Army_Engr_M1Mine",
"I44_Man_A_Army_Engr_M2_2",
"I44_Man_A_Army_Medic",
"I44_Man_A_Army_Crew_M1911A1",
"I44_Man_A_Army_Crew_Eng",
"I44_Man_A_Army_GunCrew_M1Carbine",
"I44_Man_A_Army_ATCrew_M3",
"I44_Man_A_Army_MCrew_C",
"I44_Man_A_Army_MCrew_G",
"I44_Man_A_Army_MGCrew_AG",
"I44_Man_A_Army_NCO_M1Carbine",
"I44_Man_A_Army_NCO_M1Garand",
"I44_Man_A_Army_NCO_M1A1Thompson",
"I44_Man_A_Army_Crew_NCO_M1911A1",
"I44_Man_A_Army_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_CO_M1Carbine",
"I44_Man_A_Army_CO_M1911A1",
"I44_Man_A_Army_DDay_NCO_M1Carbine",
"I44_Man_A_Army_DDay_M1Garand",
"I44_Man_A_Army_DDay_M1Garand_M7",
"I44_Man_A_Army_DDay_M1Carbine",
"I44_Man_A_Army_DDay_RTO_M1Carbine",
"I44_Man_A_Army_DDay_M1903A3",
"I44_Man_A_Army_DDay_M1903A3_M1",
"I44_Man_A_Army_DDay_M1918A2",
"I44_Man_A_Army_DDay_M1A1Thompson",
"I44_Man_A_Army_DDay_M3Greasegun",
"I44_Man_A_Army_DDay_M37Ithaca",
"I44_Man_A_Army_DDay_M1919A4",
"I44_Man_A_Army_DDay_M1A1Bazooka",
"I44_Man_A_Army_DDay_Engr_M37DemoKit",
"I44_Man_A_Army_DDay_Engr_M2DemoCharges",
"I44_Man_A_Army_DDay_Engr_M1A1Bangalore",
"I44_Man_A_Army_DDay_Engr_M1Mine",
"I44_Man_A_Army_DDay_Engr_M2_2",
"I44_Man_A_Army_DDay_Medic",
"I44_Man_A_Army_DDay_Crew_M1911A1",
"I44_Man_A_Army_DDay_Crew_M3Greasegun",
"I44_Man_A_Army_DDay_Crew_Eng",
"I44_Man_A_Army_DDay_GunCrew_M1Carbine",
"I44_Man_A_Army_DDay_ATCrew_M3",
"I44_Man_A_Army_DDay_MCrew_C",
"I44_Man_A_Army_DDay_MCrew_G",
"I44_Man_A_Army_DDay_MGCrew_AG",
"I44_Man_A_Army_DDay_NCO_M1Carbine",
"I44_Man_A_Army_DDay_NCO_M1Garand",
"I44_Man_A_Army_DDay_NCO_M1A1Thompson",
"I44_Man_A_Army_DDay_Crew_NCO_M1911A1",
"I44_Man_A_Army_DDay_GunCrew_NCO_M1911A1",
"I44_Man_A_Army_DDay_CO_M1Carbine",
"I44_Man_A_Army_DDay_CO_M1911A1",
"I44_Man_B_Army_NCO_StenMk5",
"I44_Man_B_Army_SMLENo4Mk1",
"I44_Man_B_Army_RTO",
"I44_Man_B_Army_SMLENo4Mk1_No82",
"I44_Man_B_Army_StenMk2",
"I44_Man_B_Army_StenMk5",
"I44_Man_B_Army_BrenMk1",
"I44_Man_B_Army_PIAT",
"I44_Man_B_Army_Engr_GrenadeNo75",
"I44_Man_B_Army_Engr_FlameNo2",
"I44_Man_B_Army_Medic",
"I44_Man_B_Army_Crew_WebleyMk6",
"I44_Man_B_Army_Crew_StenMk2",
"I44_Man_B_Army_Crew_Eng",
"I44_Man_B_Army_GunCrew_SMLENo4Mk1",
"I44_Man_B_Army_ATCrew_SMLEdNo4Mk1",
"I44_Man_B_Army_Sapper_M37",
"I44_Man_B_Army_Sapper_M2",
"I44_Man_B_Army_Sapper_M1A1",
"I44_Man_B_Army_NCO_SMLENo4Mk1",
"I44_Man_B_Army_NCO_StenMk5",
"I44_Man_B_Army_Crew_NCO_WebleyMk6",
"I44_Man_B_Army_CO_StenMk5",
"I44_Man_B_Army_CO_WebleyMk6",
"I44_Man_G_WH_NCO_MP40",
"I44_Man_G_WH_K98k",
"I44_Man_G_WH_RTO",
"I44_Man_G_WH_K98k_GGrGer",
"I44_Man_G_WH_K98kZf41",
"I44_Man_G_WH_K98k_PzF30",
"I44_Man_G_WH_K98k_PzF60",
"I44_Man_G_WH_G43",
"I44_Man_G_WH_MP40",
"I44_Man_G_WH_MP43",
"I44_Man_G_WH_MG34",
"I44_Man_G_WH_MG42",
"I44_Man_G_WH_RPzB54",
"I44_Man_G_WH_Engr_GbLadung10kg",
"I44_Man_G_WH_Engr_GbLadung3kg",
"I44_Man_G_WH_Engr_SprB24",
"I44_Man_G_WH_Engr_Rohrladung",
"I44_Man_G_WH_Engr_TMi42",
"I44_Man_G_WH_Engr_FmW35",
"I44_Man_G_WH_Medic",
"I44_Man_G_WH_Crew_P38",
"I44_Man_G_WH_Crew_MP40",
"I44_Man_G_WH_Crew_Eng",
"I44_Man_G_WH_GunCrew_K98k",
"I44_Man_G_WH_ATCrew_G43",
"I44_Man_G_WH_MCrew_C",
"I44_Man_G_WH_MCrew_G",
"I44_Man_G_WH_MGCrew_AG",
"I44_Man_G_WH_NCO_K98k",
"I44_Man_G_WH_NCO_MP40",
"I44_Man_G_WH_NCO_MP43",
"I44_Man_G_WH_Crew_NCO_P38",
"I44_Man_G_WH_GunCrew_NCO_P38",
"I44_Man_G_WH_CO_MP40",
"I44_Man_G_WH_CO_P08",
"I44_Man_G_WH_Camo_NCO_MP40",
"I44_Man_G_WH_Camo_K98k",
"I44_Man_G_WH_Camo_RTO",
"I44_Man_G_WH_Camo_K98k_GGrGer",
"I44_Man_G_WH_Camo_K98kZf41",
"I44_Man_G_WH_Camo_K98k_PzF30",
"I44_Man_G_WH_Camo_K98k_PzF60",
"I44_Man_G_WH_Camo_G43",
"I44_Man_G_WH_Camo_MP40",
"I44_Man_G_WH_Camo_MP43",
"I44_Man_G_WH_Camo_MG34",
"I44_Man_G_WH_Camo_MG42",
"I44_Man_G_WH_Camo_RPzB54",
"I44_Man_G_WH_Camo_Engr_GbLadung10kg",
"I44_Man_G_WH_Camo_Engr_GbLadung3kg",
"I44_Man_G_WH_Camo_Engr_SprB24",
"I44_Man_G_WH_Camo_Engr_Rohrladung",
"I44_Man_G_WH_Camo_Engr_TMi42",
"I44_Man_G_WH_Camo_Engr_FmW35",
"I44_Man_G_WH_Camo_ATCrew_G43",
"I44_Man_G_WH_Camo_MCrew_C",
"I44_Man_G_WH_Camo_MCrew_G",
"I44_Man_G_WH_Camo_MGCrew_AG",
"I44_Man_G_WH_Camo_NCO_K98k",
"I44_Man_G_WH_Camo_NCO_MP40",
"I44_Man_G_WH_Camo_NCO_MP43",
"I44_Man_G_WH_Camo_CO_MP40",
"I44_Man_G_WH_Camo_CO_P08"
			};
		};
		class level_4 { // regular 2
			aimingAccuracy[] = {0.20, 0.10};
			aimingShake[]    = {0.20, 0.10};
			aimingSpeed[]    = {0.45, 0.20};
			spotDistance[]   = {0.50, 0.30};
			spotTime[]       = {0.25, 0.20};
			endurance[]      = {0.50, 0.20};
			courage[]        = {0.50, 0.20};
			reloadSpeed[]    = {0.50, 0.20};
			commanding[]     = {0.50, 0.20};
			general[]        = {0.50, 0.20};

			units[] = {
				"ibr_bodyguard"
			};
		};
		class level_5 { // militia or trained insurgents, former regulars
			aimingAccuracy[] = {0.15, 0.10};
			aimingShake[]    = {0.15, 0.10};
			aimingSpeed[]    = {0.40, 0.20};
			spotDistance[]   = {0.45, 0.30};
			spotTime[]       = {0.20, 0.20};
			endurance[]      = {0.40, 0.20};
			courage[]        = {0.40, 0.20};
			reloadSpeed[]    = {0.40, 0.20};
			commanding[]     = {0.40, 0.20};
			general[]        = {0.40, 0.20};

			units[] = {
				"ibr_arl_officer","ibr_arl_sniper","ibr_arl_sab","ibr_arl_roberto","ibr_arl_marksman"
			};
		};
		class level_6 { // civilians with some military training
			aimingAccuracy[] = {0.10, 0.10};
			aimingShake[]    = {0.10, 0.10};
			aimingSpeed[]    = {0.35, 0.20};
			spotDistance[]   = {0.40, 0.30};
			spotTime[]       = {0.15, 0.20};
			endurance[]      = {0.30, 0.20};
			courage[]        = {0.30, 0.20};
			reloadSpeed[]    = {0.30, 0.20};
			commanding[]     = {0.30, 0.20};
			general[]        = {0.30, 0.20};

			units[] = {
				"ibr_rebel11","ibr_rebel22","ibr_rebel33","ibr_rebel44","ibr_rebel55","ibr_rebel66","ibr_rebel77","ibr_rebel83","ibr_rebel95","ibr_rebel102",
				"ibr_rebel111","ibr_rebel125","ibr_rebel132","ibr_rebel145","ibr_rebel151","ibr_rebel162","ibr_rebel173","ibr_rebel184","ibr_rebel195",
				"ibr_rebel206","ibr_rebel217",
				"ibr_arl_rif","ibr_arl_rif2","ibr_arl_mg","ibr_arl_ar","ibr_arl_at","ibr_arl_aa","ibr_arl_crew","ibr_arl_medic",
				"ibr_drg_man1","ibr_drg_man2","ibr_drg_man3","ibr_drg_man4","ibr_drg_man5","ibr_drg_man6","ibr_drg_man7"
			};
		};
		class level_7 { // civilians without military training
			aimingAccuracy[] = {0.10, 0.10};
			aimingShake[]    = {0.10, 0.10};
			aimingSpeed[]    = {0.30, 0.20};
			spotDistance[]   = {0.35, 0.30};
			spotTime[]       = {0.10, 0.20};
			endurance[]      = {0.20, 0.20};
			courage[]        = {0.20, 0.20};
			reloadSpeed[]    = {0.20, 0.20};
			commanding[]     = {0.20, 0.20};
			general[]        = {0.20, 0.20};

			units[] = {
				"ibr_arl_stoner1","ibr_arl_stoner2","ibr_arl_stoner3","ibr_arl_stoner4","ibr_arl_stoner5","ibr_arl_stoner6","ibr_arl_stoner7"
			};
		};
		class level_8 { // pilot 1
			aimingAccuracy[] = {0.25, 0.10};
			aimingShake[]    = {0.25, 0.10};
			aimingSpeed[]    = {0.60, 0.20};
			spotDistance[]   = {0.65, 0.30};
			spotTime[]       = {0.40, 0.20};
			endurance[]      = {0.60, 0.20};
			courage[]        = {0.60, 0.20};
			reloadSpeed[]    = {0.60, 0.20};
			commanding[]     = {0.60, 0.20};
			general[]        = {0.60, 0.20};

			units[] = {
				"ibr_arl_eric"
			};
		};
		class level_9 { // pilot 2
			aimingAccuracy[] = {0.20, 0.10};
			aimingShake[]    = {0.20, 0.10};
			aimingSpeed[]    = {0.55, 0.20};
			spotDistance[]   = {0.60, 0.30};
			spotTime[]       = {0.35, 0.20};
			endurance[]      = {0.50, 0.20};
			courage[]        = {0.50, 0.20};
			reloadSpeed[]    = {0.50, 0.20};
			commanding[]     = {0.50, 0.20};
			general[]        = {0.50, 0.20};

			units[] = {
				"ibr_arl_pilot","ibr_drg_pilot"
			};
		};
		class level_10 { // sniper
			aimingAccuracy[] = {0.80, 0.10};
			aimingShake[]    = {0.90, 0.10};
			aimingSpeed[]    = {0.65, 0.20};
			spotDistance[]   = {0.70, 0.30};
			spotTime[]       = {0.75, 0.20};
			endurance[]      = {0.70, 0.20};
			courage[]        = {0.70, 0.20};
			reloadSpeed[]    = {0.70, 0.20};
			commanding[]     = {0.70, 0.20};
			general[]        = {0.70, 0.20};

			units[] = {
				"I44_Man_A_Army_Sniper_M1903A4",
"I44_Man_A_Army_DDay_Sniper_M1903A4",
"I44_Man_B_Army_Sniper_SMLENo4Mk1T",
"I44_Man_G_WH_Sniper_K98kZf42",
"I44_Man_G_WH_Sniper_G43Zf4",
"I44_Man_G_WH_Camo_Sniper_K98kZf42",
"I44_Man_G_WH_Camo_Sniper_G43Zf4",
"I44_Man_A_Army_AB_Sniper_M1903A4",
"I44_Man_A_Army_AB_82_Sniper_M1903A4",
"I44_Man_A_Army_AB_M43_Sniper_M1903A4",
"I44_Man_A_Army_AB_82_M43_Sniper_M1903A4",
"I44_Man_A_Army_AB_Sniper_M1903A4_Winter",
"I44_Man_A_Army_Ranger_Sniper_M1903A4",
"I44_Man_B_Army_AB_Sniper_SMLENo4Mk1T",
"I44_Man_B_Army_Commando_Sniper_SMLENo4Mk1T",
"I44_Man_B_Army_Commando_Sniper_SMLENo4Mk1T_winter",
"I44_Man_G_WL_FJ_Sniper_K98kZf42",
"I44_Man_G_WL_FJ_Sniper_G43Zf4",
"I44_Man_G_SS_Sniper_K98kZf42",
"I44_Man_G_SS_Sniper_G43Zf4",
"I44_Man_G_SS_Sniper_K98kZf42_Winter",
"I44_Man_G_SS_Sniper_G43Zf4_Winter"
			};
		};
	};//sets
};//sys_aiskill

};
[/spoiler]

Edited by jiltedjock

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

×