Armed Assault Info
ArmA | ArmA 2 | ArmA 3 English Français

  Blakes AI Forward Observer (v 1.4.02)  
Picture of Blakes AI Forward Observer Author : blakeace
Version : 1.4.02 Era : Modern Type : Misc
Size : 23 KB Demo mission : No
Downloads : 1465 No rating for this addon.

You must register before rating items.

Included *.pbo files : Needed addons :
N/A None
Description :
Blake's AI FO Module Version 1.4.02


Version 1.4.02
Added: Distance given in "debug" mode is referenced to the first artillery unit synced to the module if using placed units. Module is used for dynamically placed units.
Added: Marker range circles showing ranges when using "debug" mode.
Improved: FO's will now only call missions from one battery at a time if they are synced to multiple AI FO modules. If using multiple batteries and FO's will more likely spread the fire missions around the different FO's better.

Version 1.4.01

Changed the code checking for night to be more realistic. FO's now mix up the ILLUM/HE combination differently depending on the amount of ambient moonlight at night using the moonIntensity command. Night time is found more correctly using hte night SunOrMoon command.
Changed the AI schedule ILLUM/HE missions with realistic spcing rather than randomly selecting which type on a percentage like die roll.
Changed the prediction algorithm slightly to reduce fire mission calculation time.
Added a sample mission to observe the new ILLUM changes, Note the FO's still require themselves to not have NVG's for them to call ILLUM.
Fixed report log when trying to add binoculars to a unit that already had a pair.

Version 1.4

Updated the prediction algorithm when units are on a road.
Tweeked the general prediction algorithm's lead caculations.
The BIS artillery module now gives the artillery units all the available ammo types by default. Because of this the below changes were made.
Set the default SADARM ammunition type count to zero. By default these specialised rounds shouldn't be available I believe.
Updated the sample missions. No need to manually set specialised ammo types to the artillery units, they now get them by default.

~Note: Use the ammo type number of fire missions counters to set which types are available and how many missions they can deliver.

Version 1.3

Added AI from the same group may attempt to move to a dead FO and retrieve his FO ability.
Added code to prevent unlimited ammunition from the artillery.
Improved the efficiency of the code slightly.

Version 1.2

Fixed Displaying of the artillery ranges broken in 1.1
Added sample missions

Version 1.1

Added SADARM,WP and SMOKE firemission types if the artillery have those types of ammunition.
Added check to gather if a unit is in combat, and alter lead values less if they are.
Added the ability to add FO's dynamically during a mission.
Added a check to terminate the FO's scripts if the artillery units are eliminated.
Changed Blakes_Fall_of_shot marker displays round type and type of target to help mission designers with analysing their missions.

Note the SADARM is very powerful, especially if used against human players.
In the next version I want to add counters specific to each round type.

Version 1.0:

Added the ability to sycronize your own placed artillery from the editor.
Added a counter for each FO to track how many fire missions they have called.
Added an object variable that toggles whether an individual FO is able to call fire missions.
Added a debug mode where at the startup of the module it will display when tested locally the minimum and maximum range of the modules artillery group. I also displays the distance from the aifo module position to the first synced FO. This should greatly improve placement of artillery so it is in effective range.
Removed the salute(shielding eyes from the sun ) animation from units that start with a weapon.
Raised the maximum speed that the FO will target.
Changed the minimum safe distance to friendly units. This will now increase with the range between the artillery units and the target. Lessening the chances of friendlies being caught, though it also lowers the chances of ai calling in a fire mission if units are to close too.

Version 0.1a:
Initial release.


Firstly just like my other addons, real life is limiting my time online, as such rather than continue to let these items gather dust on my harddrive, I thought I would release them and let the community both test the MP aspects, and hopefully enjoy their use. Hence the alpha status.

The module is based on my AI artillery framework scripts. I have tweaked and changed a couple of things, but mainly it is fundamently the same. The reason for producing a module was to create a very simple way for mission designers to add opposition artillery. Like the framework it uses real mortar pieces firing rounds at targets that the FO's genuinely know about. Using the BIS artillery module functionality hidden within. Leaving the user with a nice graphical way of creating opposition artillery.

Mission designers need to be aware of the ranges of different artillery objects. Basic ranges can be found at
It is not intended to be deadly accurate, though the default mortars still pack a real punch if detonating nearby.


Install as you would any other addon. (Check the BIS forums if unsure!). This addon is server side only.


Place the module (Blake's AI FO mortar) found in the modules section of the editor anywhere on the map. The placement positon defines where the artillery piece/s will be created. Syncronise any friendly units with the module to designate them as forward observers. Important, the first unit synced must be a man type unit as this is the type of unit the module uses to man the artillery piece/s. Any subsequent units can be of any kind. Including the likes of UAV's etc. The image below show three units of the one group synced to be FO's. You could also add members of another group a UAV etc to the same module.

YOu can also create multiple modules to create more than one artillery battery each with their own, or shared FO units.
If a FO knows of a valid target, the unit will become unarmed while calling in the fire mission. This gives players the chance to utilise designated markmen etc to try and engage and eliminate these high value targets. The mortar operator's are also considered FO's and will also engage targets if possible.
The FO will try and lead a moving target giving a more realistic response. The FO's aren't designed to be deadly accurate, though being unpredictatble in your movement will also limit finding that golden mortar round. If an FO is firing on the same target repeatedly, he will slowly get more accurate.
If it is night time and the FO has no night vision goggles, there is a small chance the FO will call in an illumination mission if the artillery piece is capable and has illum rounds.
The artillery checks for nearby friendly units and will not fire to close to them. This doesn't stop friendly units moving into the area after the artillery has fired.
The addon is compatible with any faction.

Examples assume you are placing the code snippets into the modules initilization field. If placed elsewhere you would need to implicitly name the module and use it's name insitu of "this".

By default the module creates 80mm mortars. By setting the modules object variable Arty_Type you are able to designate other artillery pieces to be created.
The example below will create an M119. Examples assume you are placing the code snippets into the modules initilazation field.

this setvariable ["Arty_Type","M119",false];

You can create more than one piece for the battery with the Size_Group variable. The number of rounds fired for each fire mission is determined by the number of artillery pieces. One mortar equals one round. So setting up for six M119 guns would fire 6 rounds each fire mission.
The example below will create four pieces.

this setvariable ["Size_Group",4,false];

You can add other ammo types using the Arty_Ammo variable. So far HE and ILLUM are utilised. The default 81mm mortars already have both HE and ILLUM assigned.
The example below will add ILLUM ammunition to M119 gun types. Note it is an array being passed, it can contain a maximum of two entries.

this setvariable ["Arty_Ammo",["ARTY_30Rnd_105mmILLUM_M119"],false];

You can find the different ammo types here.

For either mission testing, or for some other mission designer ideas I have made the addon move the following named markers.
The addon will place the below named marker at the position of the FO who called the last fire mission. Just create a marker with the below name if required.


The addon will place the below named marker at the position of the impact position of the lastest fire mission call. The rounds may not hit this exact position as I have set the dispersion value up. This is to prevent deadly accurate fire on stationary targets. Just create a marker with the below name if required.


Version 1.0 additions:

How to use Placed Units:

Just sycronize one unit from the artillery group. Ensure that any units you want are in the same group.
When using this type of artillery units(placed), there is no need to ensure the first FO is a man type object.
From my limited testing it seems the units need to all be of the same type. If you wanted to include different types of artillery create a seperate module for them.

Image shows FO's in two different groups, plus a UAV that are all able to call missions from the group of three M119's. To the right is a single mortar that is his own FO. He will only fire on targets he can see.

FO number of fire missions counter:

Result is stored in the object variable "Num_Firemissions",


Num_Fire_missions = Name_of_FO_object getvariable "Num_Firemissions";

This could be used in conguction with the Can_Call object variable to limit the number of fire missions a FO can call.

FO permission to fire Can_Call object variable:

Used to set whether an FO is allowed to call fire missions or not.
Great for setting up ambushes used in a trigger etc; Or for people who use a friendly FO in SP to allow them some control over their FO, could be used in an action menu etc.

Set to true to allow calling of missions

Name_of_FO_object setvariable ["Can_Call",true,false];

Set to false to prevent calls

Name_of_FO_object setvariable ["Can_Call",false,false];

Debug Mode:

Set this object variable in the module to return information when testing locally.
If using with your own placed artillery, set the module where the artillery units are for best results.

Min: - Minimum range of this artillery group.
MAX: - Maximum range of this artillery group.
DIST: - Distance between the aifo module and the first synced FO.

Place this in the module:

this setvariable ["debug",true,false];

ACE Compatibility:

I have tested it with ACE, and it seems to work fine with the standard BIS artillery objects, but I can't get the ACE 60mm mortar to work (ACE_M224) unfortunately.
Size : 23 KB
  October 22nd, 2011 - 12:25   Comment (0)  

© 2007 - 2019 Armed Assault Info
Disclaimer - Info