diff --git a/README.md b/README.md
index 2729ddbaa..a3be03b7f 100644
--- a/README.md
+++ b/README.md
@@ -1,1458 +1,16 @@
-# F3 README #
-
-* Version: 3-4-1
-* Codebase: https://github.com/ferstaberinde/F3
-* Developer: Please see credits section below.
-* Publishers: Fer (alanr@ferstaberinde.com)
-* Description: MP mission framework for Arma 3.
-
-
-
-## README CONTENTS ##
-
-01. VERSION HISTORY
-02. CREDITS
-03. COPYRIGHT STATEMENT
-04. TERMS OF USE
-05. LEGAL DISCLAIMER
-06. DISTRIBUTING SIMULATION CONTENT CREATED WITH THE SOFTWARE
-07. SUPPORT INFORMATION
-08. INSTALLATION
-09. NOTES
-10. CHANGE HISTORY
-
-
-
-## 01. VERSION HISTORY ##
-
-### F3 Version History ###
-
-Version | Date | Notes
-
-* 3-4-1 | 19 JUL 2016 | Patch release - Various improvements (see change history).
-* 3-4-0 | 13 JUL 2016 | Patch release - APEX support and various improvements (see change history).
-* 3-4-0 RC1 | 04 JUL 2016 | Internal release - APEX support and various improvements (see change history).
-* 3-3-0 | 25 APR 2015 | Patch release - Various improvements (see change history).
-* 3-3-0 RC2 | 18 APR 2015 | Internal release - Various improvements (see change history).
-* 3-3-0 RC1 | 08 APR 2015 | Internal release - Various improvements (see change history).
-* 3-2-2 | 20 FEB 2015 | Patch release - Various improvements (see change history).
-* 3-2-1 | 06 DEC 2014 | Patch release - Bug fix (see change history).
-* 3-2-0 | 15 NOV 2014 | Patch release - Various improvements (see change history).
-* 3-2-0 RC2 | 06 NOV 2014 | Internal release - Various improvements (see change history).
-* 3-2-0 RC1 | 24 OCT 2014 | Internal release - Various improvements (see change history).
-* 3-1-2 | 12 SEP 2014 | Patch release - Bug fix (see change history).
-* 3-1-1 | 26 JUL 2014 | Patch release - Various improvements (see change history).
-* 3-1-1 RC1 | 23 JUL 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 | 17 JUN 2014 | Patch release - Various improvements (see change history).
-* 3-1-0 RC6 | 16 JUN 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 RC5 | 11 JUN 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 RC4 | 03 JUN 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 RC3 | 29 MAY 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 RC2 | 28 MAY 2014 | Internal release - Various improvements (see change history).
-* 3-1-0 RC1 | 24 MAY 2014 | Internal release - Various improvements (see change history).
-* 3-0-9A | 12 FEB 2014 | Patch release - Various improvements (see change history).
-* 3-0-9 | 09 FEB 2014 | Patch release - Various improvements (see change history).
-* 3-0-8 | 28 DEC 2013 | Patch release - Various improvements (see change history).
-* 3-0-7 | 14 SEP 2013 | Patch release - Various improvements (see change history).
-* 3-0-6 | 20 AUG 2013 | Patch release - Various improvements (see change history).
-* 3-0-5 | 17 AUG 2013 | Patch release - Various improvements (see change history).
-* 3-0-4 | 08 AUG 2013 | Patch release - Various improvements (see change history).
-* 3-0-3 | 25 JUN 2013 | Patch release - Various improvements (see change history).
-* 3-0-2 | 25 MAR 2013 | Patch release - Various improvements (see change history).
-* 3-0-1 | 17 MAR 2013 | Patch release - Various improvements (see change history).
-* 3-0-0 | 10 MAR 2013 | First alpha release to community (see change history).
-
-### F2 Version History ###
-
-Version | Date | Notes
-
-* 2-7-1 | 16 FEB 2013 | Patch release - Various improvements (see change history).
-* 2-7-0 | 15 DEC 2012 | Patch release - Various improvements (see change history).
-* 2-6-1 | 02 JUL 2012 | Patch release - Various improvements (see change history).
-* 2-6-0 | 07 JUN 2012 | Patch release - Various improvements (see change history).
-* 2-5-0 | 24 JAN 2012 | Patch release - Various improvements (see change history).
-* 2-4-5 | 16 SEP 2010 | Patch release - Various improvements (see change history).
-* 2-4-4 | 16 SEP 2010 | Patch release - Various improvements (see change history).
-* 2-4-3 | 11 SEP 2010 | Patch release - Various improvements (see change history).
-* 2-4-2 | 01 SEP 2010 | Patch release - Various improvements (see change history).
-* 2-4-1 | 11 JUL 2010 | Patch release - Various improvements (see change history).
-* 2-4-0 | Internal | Patch release - Various improvements (see change history).
-* 2-3-3 | Internal | Patch release - Various improvements (see change history).
-* 2-3-2 | 17 MAY 2010 | Patch release - Various improvements (see change history).
-* 2-3-1 | 20 APR 2010 | Patch release - Various improvements (see change history).
-* 2-3-0 | 12 APR 2010 | Patch release - Various improvements (see change history).
-* 2-2-5 | 27 FEB 2010 | Patch release - Various improvements (see change history).
-* 2-2-4 | 30 JAN 2010 | Patch release - Various improvements (see change history).
-* 2-2-3 | 07 JAN 2010 | Patch release - Various improvements (see change history).
-* 2-2-2 | 27 DEC 2009 | Patch release - Various improvements (see change history).
-* 2-2-1 | 21 DEC 2009 | Patch release - Various improvements (see change history).
-* 2-2-0 | 07 DEC 2009 | Patch release - Various improvements (see change history).
-* 2-2-0 RC1 | 07 DEC 2009 | Patch release - Various improvements (see change history).
-* 2-1-3 | 25 NOV 2009 | Patch release - Various improvements (see change history).
-* 2-1-2 | 02 NOV 2009 | Patch release - Various improvements (see change history).
-* 2-1-1 | 20 OCT 2009 | Patch release - Various improvements (see change history).
-* 2-1-0 | 06 OCT 2009 | Patch release - Various improvements (see change history).
-* 2-1-0 RC1 | 06 OCT 2009 | Special release (see change history).
-* 2-0-5 | 30 SEP 2009 | Patch release - Various improvements (see change history).
-* 2-0-4 | 09 SEP 2009 | Patch release - Various improvements (see change history).
-* 2-0-3 | 24 AUG 2009 | Patch release - Various improvements (see change history).
-* 2-0-2 | 24 AUG 2009 | Patch release - Various improvements (see change history).
-* 2-0-1 | 26 JUL 2009 | First beta release to community (see change history).
-* 2-0-0 | 12 JUL 2009 | First beta release to ShackTactical (see change history).
-
-### BAS f Version History ###
-
-Version | Date | Notes
-
-* 1-4-2 | 13 MAR 2009 | Patch release - Various improvements (see change history).
-* 1-4-1 | 13 FEB 2009 | Patch release - Various improvements (see change history).
-* 1-4-0 | 03 FEB 2009 | Patch release - Various improvements (see change history).
-* 1-3-2 | 18 JAN 2009 | Patch release - Various improvements (see change history).
-* 1-3-1 | 08 JAN 2009 | Patch release - Various improvements (see change history).
-* 1-3 | 03 JAN 2009 | Patch release - Various improvements (see change history).
-* 1-2 | 18 DEC 2008 | Patch release - Various improvements (see change history).
-* 1-1C | 19 MAY 2008 | Patch release - Various improvements (see change history).
-* 1-1B | 29 APR 2008 | Special release (see change history).
-* 1-1A | 03 APR 2008 | Special release (see change history).
-* 1-1 | 21 MAR 2008 | Patch release - Various improvements (see change history).
-* 1-0-9B | 07 FEB 2008 | Patch release - Various improvements (see change history).
-* 1-0-9A | 19 JAN 2008 | Patch release - Various improvements (see change history).
-* 1-0-9 | 12 JAN 2008 | Patch release - Various improvements (see change history).
-* 1-0-8 | 26 DEC 2007 | Patch release - Various improvements (see change history).
-* 1-0-7 | 24 DEC 2007 | Patch release - Various improvements (see change history).
-* 1-0-6 | 27 OCT 2007 | Patch release - Various improvements (see change history).
-* 1-0-5 | 15 OCT 2007 | Patch release - Various improvements (see change history).
-* 1-0-4 | 19 AUG 2007 | Patch release - Various improvements (see change history).
-* 1-0-3A | 25 JUL 2007 | Patch release - Various improvements (see change history).
-* 1-0-3 | 25 JUL 2007 | Patch release - Various improvements (see change history).
-* 1-0-2 | 19 JUL 2007 | Patch release - Various improvements (see change history).
-* 1-0-1 | 28 JUN 2007 | Patch release - Various improvements (see change history).
-* 1-0 | 24 JUN 2007 | Patch release - Various improvements (see change history).
-* 0-0-31 | 07 JUN 2007 | Patch release - Various improvements (see change history).
-* 0-0-30 | 24 MAY 2007 | Patch release - Various improvements (see change history).
-* 0-0-29 | 17 MAY 2007 | Patch release - Various improvements (see change history).
-* 0-0-28 | 07 MAY 2007 | Patch release - Various improvements (see change history).
-* 0-0-27 | 05 MAY 2007 | Consolidated build for release.
-* 0-0-26 | 05 MAY 2007 | Patch release - Various improvements (see change history).
-* 0-0-25 | 12 APR 2007 | Added Kegetys Spectator Script for ArmA components.
-* 0-0-24 | 28 MAR 2007 | Patch release - corrected manual (fixes error with MP Ending Controller).
-* 0-0-23 | 07 MAR 2007 | First beta release - with corrected manual (missing UPS and Anti-TK components).
-* 0-0-22 | 22 FEB 2007 | First beta release candidate - with corrected manual (missing UPS and Anti-TK components).
-* 0-0-21 | 19 FEB 2007 | First beta release candidate (missing UPS and Anti-TK components).
-* 0-0-20 | 31 JAN 2007 | Third alpha release (moved to Sahrani, missing UPS and Anti-TK components).
-* 0-0-19 | 24 JAN 2007 | Second alpha release (missing UPS and Anti-TK components).
-* 0-0-18 | 12 JAN 2007 | First alpha release (missing UPS and Anti-TK components).
-
-
-
-## 02. CREDITS ##
-
-### F3 Credits ###
-
-* Contributors: Head | Harakka | Fer | Wolfenswan | Cam | turowicz | CaseMonster | Black Mamba | DarkTatka | Tigershark | cptnnick | Linux | Snippers | SuicideKing | Pasrules | darkChozo | Przemro | GeEom | JonBons | Ferrard Carson
-* Documentation: Fer | Wolfenswan | Dogface | Cam | Head | cptnnick | Snippers
-* Producers: Fer | Wolfenswan
-* Special Thanks: Arctor | BasterActual | batboyx2 | cptnnick | Dogface | Draakon | Landyacht | Linux | nolux | Pabstmirror | Zerith | Bear | JonBons | Poulern | Chairborn | captainblaffer | Boarnoah | CostNo
-* Special thanks to everyone at: Folk ARPS | Basterd ArmA | Black sh33p | Bourbon Warfare | Phantactical | Pointfire | Project Awesome | Team One Tactical | The Company
-
-### F2 Credits ###
-
-* Contributors: Headspace | kevb0 | Lor | Ricardo | Wolf | ViperMaul | Xiathorn | zx64 | Norrin | white angel | Fer | Strango | beta | Mike84 | b3rt | Henk | Redkid | Macolik | kungtotte | Tigershark | LoneStar | Nullkigan | Harakka | Wolfenswan | DarkTatka | Black Mamba | Head | Mike
-* Documentation: Fer | Messiah2 | Xiathorn
-* Producers: Fer
-* Special Thanks: Dancingcuban | Firebird | Stranglove | Ferrard Carson | Bodge
-* Special thanks to everyone at: ShackTactical | Folk | ARPS | Folk ARPS
-
-### BAS f Credits ###
-
-* Contributors: Fer | Kronzky | Rom | Raedor | Kegetys | eJay | burningtrees | Redkid Joker | Headspace | ViperMaul | zx64 | kevb0 | Mandoble | Red Barron | Jaxobs | Awoihjaweohr | FLEXCopMNPD | Jefke
-* Translators: Donnervogel | Serclaes | Messiah2 | Gaia | FireflyPL | Kanotson | Varry | W0lle | Nikita Kaspersky | Rainbow | JanMasterson
-* Documentation: Fer | Kegetys | Serclaes | Messiah2
-* Producers: Fer
-* Special Thanks: Dux | kevb0 | Tigershark | Dslyecxi | Rhodite | Opteryx | henk | bluedingo | broileri | Fullforce | Tyger
-* Special thanks to everyone at: TimeZone Warriors | ShackTactical
-
-
-## 03. COPYRIGHT STATEMENT ##
-
-F3 is composed of many components. Each component is (c) 2007/2008/2009/2010/2011/2012/2013/2014/2015/2016 its respective contributor(s). All rights reserved.
-
-
-
-## 04. TERMS OF USE ##
-
-F3 (hereafter 'Software') contains files to be used in the PC simulator "Arma 3". To use the Software you must agree to the following conditions of use:
-
-1. The term 'Software' specifically excludes the file 'mission.sqm'.
-
-2. The contributors of individual components of the Software (hereafter 'The Contributors') grant to you a personal, non-exclusive license to use the Software for the purpose of designing, developing, testing, and distributing non-commercial simulation content for ArmA 3.
-
-3. The commercial exploitation of any game content created using the Software without written permission from The Contributors is expressly prohibited.
-
-4. Reverse-engineering, or other conversion of the Software for use with any game except ArmA 3 without written permission from The Contributors is expressly prohibited.
-
-5. The Software may only be re-distributed in its entirety, complete with this "ReadMe" document.
-
-
-
-## 05. LEGAL DISCLAIMER ##
-
-The Software is distributed without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. The Software is not an official addon or tool. Use of the Software (in whole or in part) is entirely at your own risk.
-
-
-
-## 06. DISTRIBUTING SIMULATION CONTENT CREATED WITH THE SOFTWARE ##
-
-Please note that you do NOT require permission from The Contributors to distribute simulation content (e.g. missions) created with the Software. However, The Contributors do ask that you credit the Software in any release documentation.
-
-
-
-## 07. SUPPORT INFORMATION ##
-
-The online manual can be found at:
-
-* http://www.ferstaberinde.com/f3/EN/ (English language version)
-
-
-
-## 08. INSTALLATION ##
-
-To begin using the Software, move the F3.VR folder into one of the following directories:
-
-* \My Documents\Arma 3\MPMissions\
-* \My Documents\Arma 3 Other Profiles\YourPlayerName\MPMissions\
-
-Access the online manual (see SUPPORT INFORMATION above) and follow the instructions contained therein.
-
-
-
-## 09. NOTES ##
-
-We hope you will enjoy making and updating missions for Arma 3 with F3!
-
-Fer :) (alanr@ferstaberinde.com) (on behalf of all F3 / F2 / BAS f contributors)
-
-
-
-## 10. CHANGE HISTORY ##
-
-### F3 Change History ###
-
-Version | Date
-
-3-4-1 | 19 JUL 2016
-
-* Added F3 Gendarmerie component, with support for this added to:
- * Briefing Template component.
- * F3 Folk ARPS Assign Gear Script component.
- * F3 Folk ARPS Group Markers component.
- * F3 Folk ARPS Group IDs component.
-* Updated F3 Folk ARPS Assign Gear Script component:
- * Various minor fixes.
-* Updated F3 Folk ARPS Platoons component:
- * Fixed issues with order of Syndikat slots.
-* Updated Insignia component:
- * Automatically supports mission-maker placed Pacific units (NATO and CSAT).
-* Updated Mission Header component documentation.
-
-3-4-0 | 13 JUL 2016
-
-* Updated Assign Gear component:
- * Implemented new Folk ARPS 2016 loadout options.
- * Added support for the Syndikat faction.
- * Added support for the NATO Pacific faction.
- * Added support for the CSAT Pacific faction.
- * Pilots can now repair vehicles (via the new trait command).
- * Vehicle and crate loadouts now split into separate files per faction.
- * All IF checks now compare the faction to an array of possible factions.
- * Strings such as 'aaf', 'nato' etc. can now be used when forcing a specific faction loadout (instead of a precise faction string such as 'ind_f').
-* Updated Assign AI Gear component:
- * Added support for the Syndikat faction.
- * All factions are now processed unless specifically excluded.
- * Non-recognised units keep their default gear.
-* Updated Admin Briefing component:
- * Added support for the Syndikat faction.
- * NATO and CSAT Pacific factions see default NATO and CSAT breifings.
- * Component checks against BIS factions
-* Updated F3 Folk ARPS Platoons component:
- * Changed OrBat to Folk ARPS 2015 pattern:
- * Infantry squads now: SL, medic and 2 x 6-man FTs.
- * Mechanised squads now: SL, medic, 1 x 6-man FT and 1 x IFV (with crew).
- * Added a pre-placed Syndikat platoon with attachments.
- * Ranks of units adjusted to allow correct leadership when merging groups
- * JTAC CAS elements now virtual.
- * Removed pre-placed 'reserved for JIP' groups.
-* Updated F3 Folk ARPS Group IDs component:
- * Moved group name definitions to the group object in EDEN editor.
- * Added support for the Syndikat faction.
-* Updated F3 Folk ARPS Group Markers component:
- * Component now gets group names from group object in EDEN editor.
- * Added support for the Syndikat faction.
- * NATO and CSAT Pacific factions are shown the default NATO and CSAT markers.
- * Changed switch structure to several IF-checks (making it easier to show the same marker to several units / factions - you only need to add a string)
-* Updated F3 Spectator Script component:
- * Fix spectator jumping on keyboard input.
-* Updated Insignia component:
- * Added new insignia patches for NATO and CSAT Pacific factions.
- * Script variable toggles NATO / CSAT factions between Altis and Tanoa patches.
- * Script variable can also enable CSAT urban patches.
-* Updated Naming your mission and Loading Screen components:
- * Moved some settings from description.ext to the EDEN editor:
- * Mission name.
- * Author name.
- * Mission load and overview screen texts and pictures.
-* Updated Medical Systems Support component:
- * Fixed: SWS would on occasion not properly immobilise downed players.
-* Updated Mission Conditions Selector component:
- * Pre-defined conditions now integrate time and atmospheric options.
- * Parameters allow overrides for fog and wind settings.
- * Pre-defined condtions adapt to support dawn/dusk on Altis and Tanoa.
- * Added "Use mission settings" option to mission conditions parameter.
-* Updated Mute Orders and Reports component:
- * Muting now only applies to playable AI units.
-* Updated PreMount component:
- * Removed pre-placed modules (component can still be used via script).
-* Updated Radio Systems Support component:
- * Added support for defaulting ACRE2 radios to a starting channel.
- * TFR fix and radio designation changes:
- * Long range default is now ch1.
- * Short range radio (5km) to replace backpackRadios for weapons team leader (assistant) except the sniper's spotter.
- * Vehicle teams expected to use vehicle radios for long range comms.
- * Removed support for ACRE1.
-* Updated Zeus Support component:
- * Pre-Placed ZEUS units assign F3 AI Skill to created units.
-* Various optimisations:
- * ACRE2 (Radio Systems Support component).
- * fn_setAISkill now exits without an error message if AI skills are not set.
- * Group IDs component.
- * Insignia component.
- * Move CfgFunctions F3 definitions into its own hpp file.
- * Parameters system now works in singleplayer editor and has been made slightly faster.
- * Re-ordered the init.sqf file code blocks.
-* Removed UAV Recharging component.
-
-3-4-0 RC1 | 04 JUL 2016
-
-* Please see change history for release v3-4-0.
-
-3-3-0 | 25 APR 2015
-
-* Updated Admin Briefing component:
- * New: Allows control of safe start component.
- * Restructured Zeus options (less clutter).
-* Updated Assign AI Gear component:
- * New variable: _defaultclass (applied to unit if no corresponding class was found).
- * Added designated marksman type.
-* Updated AI Caching component:
- * Fixed: Uncaching would sometimes place group members too high.
-* Updated AI Skill Selector component:
- * Now exclusively server-side.
- * Re-adjusted skill levels: "high" is slightly easier, "low" more difficult.
- * Changed comments deactivating F3 SetAISkill parameter in description.ext to comment-blocks for convenience.
- * No longer sets skill for "endurance" as it's not supported in A3.
- * Reduced random range to +/- 0.08.
- * Increased initial sleep to 2 seconds, removed unnecessary sleeps elsewhere.
-* Updated Briefing Template component:
- * Removed scripted task examples (in-editor module feature preferable).
- * Added briefing for dedicated Zeus.
-* Updated F3 Folk ARPS Assign Gear component:
- * Changed primary weapon for CSAT "ar" to Zafir.
- * New gear type: "dm" (designated marksman) for all factions with corresponding kit.
- * Added bipods to all factons (given to "ar", "mmgg" and "sn" by default).
- * "hatg" now uses mobile Titan launcher.
- * Equipped all "mmgg" with the new DLC MMGs. Old MMGs classnames are commented out in the assign gear file.
- * Changed CSAT vests: new medium is TacVest Khaki
-* Updated F3 Folk ARPS Platoons component:
- * Changed placement of platoons to better support smaller maps.
- * Updated ranks of AAF CO, DC and SLs to match other factions.
-* Updated F3 Spectator Script component:
- * Identified and fixed possible sFPS issue.
- * Improved Freecam handling.
- * Added mute key (P) for spectator.
-* Updated Join Group Action component:
- * Action appears/disappears with less "lag".
- * No more action spam in certain situations (e.g. entering a vehicle).
-* Updated Name Tags component:
- * Shows tag for unit under cursorTarget in 28m (modifiable), always shows tags for units within 10m (modifiable). Latter can be toggled off in briefing menu.
- * Moved all related global variables from init.sqf into f_nametags.sqf
- * Tweaked visuals (smaller default font, colors etc.).
- * Name tags are now automatically activated if component is enabled.
- * Improved tags for units in vehicles: recognizes non-specialist crew and pilots, only shows effective commander on distance to avoid clutter.
-* Updated ORBAT Notes component:
- * Better distinction between crew roles.
-* Updated Radio Systems Support component (ACRE2):
- * Updated to the latest API (removing un-neccesary code).
- * Adds support for the newer radios.
- * Checks if players have enough free inventory space for radios and provides an action if not.
- * Hotfix for acre_api_fnc_isInitialized ignoring itemRadio.
-* Updated Safe Start component:
- * New: Player vehicles can't be damaged until safe start is done.
- * f_safety.sqf is now a function (f_fnc_safety).
-* Updated Zeus Support component:
- * Zeus assigned using f_fnc_zeusInit automatically applies AI Skill Selector values to created units if latter component is enabled.
- * Streamlined Zeus Support in Admin Briefing component.
-
-3-3-0 RC2 | 18 APR 2015
-
-* Please see change history for release v3-3-0.
-
-3-3-0 RC1 | 08 APR 2015
-
-* Please see change history for release v3-3-0.
-
-3-2-2 | 20 FEB 2015
-
-* Added F3 Assign Gear AI component:
- * Loops through present or selection of AI and re-equips them with corresponding F3 gear.
-* Updated Loading Screen component:
- * Added entry for overviewPicture and default logo.
- * Changed default logos for loadScreen and overviewPicture to JPEG.
-* Updated F3 Briefing Template component:
- * Increased font size of headlines for better readability.
-* Updated F3 Folk ARPS Assign Gear Script component:
- * Loadout setting can now be over-written on a per unit-type basis.
- * Optional faction input is now always lowered.
-* Updated F3 Spectator Script component:
- * Rediced performance impact of tags.
- * Fixed issues with JIP players.
- * Fixed issue where TFR spectators sound as if they are underwater.
- * Fixed tag colors.
-* Updated Radio Systems Support component:
- * ACRE2: Improved frequency assignment.
-* Updated Medical Systems Support component:
- * SWS: various fixes.
- * AGM: improved item-converter and re-balanced item assignment.
-* Updated AI Skill Selector component:
- * Tweaked default skill levels: medium and low slightly better.
- * Tweaked default skillSet: non-aiming skills higher by default.
- * Merged randomUp and randomDown into one variable.
- * Improved impact on network traffic: only sets skill where unit is local
- * fn_setAISkill can now be called with only the unit as argument
-* Updated F3 PreMount component
- * Only ignores vehicles if locked state is exactly 2.
-* Updated F3 Zeus Support
- * fn_zeusInit automatically detects if F3 AI Skill Selector component is active and uses it on new units.
-* Updated AI Caching component:
- * New variables f_var_cacheRun and f_var_cacheSleep to easier control component behavior during runtime.
- * Can now pass aggressiveness directly to f_fnc_gCache as optional param to override global value.
-* Fixed AI Caching component:
- * Infantry would not disable simulation properly on aggressiveness 1 and 2.
-* Fixed ORBAT Notes and Name Tags components:
- * Fixed issue where the number of cargo seats in a vehicle would not be calculated correctly.
-* Fixed F3 Mission Conditions Selector:
- * Default overcast values would occasionally cause rain.
-
-3-2-1 | 06 DEC 2014
-
-* Updated Radio Systems Support component:
- * Switched linkItem to addItem for ACRE2.
-* Fixed F3 Spectator Script component:
- * Fixed incompatiblity with most recent Arma 3 update.
-
-3-2-0 | 15 NOV 2014
-
-* Added Insignia component.
- * Includes insignia for NATO, AAF, CSAT and CSAT urban uniforms.
-* Added Loadout Notes component.
- * Displays loadout section in the briefing, with player weapons and items at mission start.
-* Added UAV Recharging component:
- * Allows recharging of backpack-carried UAVs using laserdesignator batteries.
-* Added Zeus Support component:
- * Adds functions to give hosts easier access to Zeus using the debug console.
- * Can be invoked from Admin briefing and F3 Spectator Script.
-* Updated F3 Common Local Variables
- * Removed optional looping (bloat).
- * Removed automatic broadcasting to reduce impact on network.
-* Updated F3 Spectator Script:
- * New UI.
- * Freecam.
- * Revised unit list with groups.
- * Map Markers.
- * Now with context map clicking: in freecam you are moved above the select unit, in chase/first person camera selects the unit as the observed unit.
- * Camera Marker.
- * Tracers on map.
- * Minor edit to LocalGroupMarkers allowing you define faction (used to show other factions group markers for everyone, old style still compatible).
-* Updated Fireteam Member Markers component:
- * Fireteam member markers re-colour after joining a new group using the Join Group Action component.
-* Updated F3 Folk ARPS Platoons component:
- * Changed NATO and CSAT TH1 and TH2 helicopters to Huron and Taru.
- * Added TH1 element for FIA (civilian M-900).
-* Updated Folk ARPS Assign Gear Script component:
- * Faction can now be forced using an optional third parameter.
- * Added support for faction-specific crates.
- * Added GPS for medics.
- * Improved order of execution to avoid locality issues.
- * Improved comments in the script files.
- * Disables BI gear randomization by default to prevent overriding of F3 gear randomisation.
-* Updated Medical Systems Support (F3 Simple Wounding System):
- * Extra FAKs added to player loadouts (controlled via variable in init.sqf file).
- * Reduced network traffic.
- * Various bug fixes.
-* Updated Name Tags component:
- * Fixed driver position not properly displaying seat values.
- * Added new variable f_nametags_shadows to govern the outline of the displayed nametags (default is 2).
-* Updated Radio Systems Support component:
- * Added support for ACRE2.
-* Updated Safe Start component:
- * Now sleeps for 60 real seconds (instead of in-game seconds).
- * Runs almost exclusively server-side and broadcasts notifications and disabled safety to all clients.
- * Now disables player vehicle weapons as well.
- * Reduced duration of "X minutes remaining" note to 10 seconds.
-* Fixed E&E Check component:
- * Component would activate ending/code even if all tracked units were killed.
-
-3-2-0 RC2 | 06 NOV 2014
-
-* Please see change history for release v3-2-0.
-
-3-2-0 RC1 | 24 OCT 2014
-
-* Please see change history for release v3-2-0.
-
-3-1-2 | 12 SEP 2014
-
-* Fix for Mission Conditions Selector component.
-
-3-1-1 | 26 JUL 2014
-
-* Added Medical Systems Support component:
- * Incorporates F3 Simple Wounding System
- * Adds support for AGM medical supplies.
-* Updated AI Caching component:
- * Workaround for vehicles being frozen if moving and cached at the same time.
- * Caching completely run server side using global commands.
- * New variable to set aggressiveness of caching.
-* Updated F3 Folk ARPS Platoons component:
- * Added Heavy MG attachment.
- * Added Heavy AT attachment.
- * Added Mortar attachment.
- * Added Medium SAM attachment.
- * Added Heavy SAM attachment.
- * Added Sniper Team attachment.
- * Attachments are now led by the spotter.
-* Updated F3 Folk ARPS Assign Gear component:
- * Tweaked MAT loadouts (gunner now starts with rocket in tube).
- * Added support for unit types in new attachments.
-* Updated F3 Folk ARPS Assign Gear Clothing component:
- * Component allows units to wear uniforms from any side or faction.
- * Added new FIA uniforms, made various other tweaks.
- * Changed CSAT small bag to correct camo.
-* Updated F3 Folk ARPS Group IDs component: added support for unit types in new attachments.
-* Updated F3 Folk ARPS Group Markers component: added support for unit types in new attachments.
-* Updated F3 Spectator Script:
- * Revised code to reduce load on CPU.
- * Virtual men no longer have visible name tags.
-* Updated Name Tags component:
- * Height above unit determined by stance.
- * Offset for passenger name tags fixed.
-* Updated ORBAT Notes component:
- * Now lists all groups with playable units (not just player groups).
- * Highlights player group (highlight colour determined by side).
-* Updated Radio Systems Support component:
- * Improved support for spectators in TFR.
- * Other minor tweaks.
-* Fixed Mission Conditions component:
- * Lightning set correctly.
- * All Intel values in editor set to manual/0.
-* Fixed PreMount component:
- * Fixed issue where component would not slot turrets properly for vehicles with multiple turrets.
-
-3-1-1 RC1 | 23 JUL 2014
-
-* Please see change history for release v3-1-1.
-
-3-1-0 | 17 JUN 2014
-
-* Please change history for internal releases v3-1-0 RC1 through v3-1-0 RC6.
-
-3-1-0 RC6 | 16 JUN 2014
-
-* Added Admin Briefing component:
- * Lists endings and allows admin to invoke them by clicking a link.
-* Updated E&E Check component:
- * Allows passing of side instead of array.
- * Groups/units are now passed as an array of strings to prevent script-errors.
- * Optional boolean (last parameter): toggle if to check playable units only (default: true).
-* Updated the F3 Simple Wounding System component:
- * Made the release action created on yourself so its always around.
- * Tweaked SetDowned.
- * Added longer delay before system starts to allow for desync'd players..
-* Updated F3 Spectator Script component:
- * Modified the freecam to use correct height in follow-mode.
-* Fixed typo in AI Skill Selector component.
-* Fixed error in Radio Systems Support component.
-
-3-1-0 RC5 | 11 JUN 2014
-
-* Added Radio Systems Support component (replaces ACRE support component):
- * Supports ACRE and TFR systems via single mission parameter.
- * All radios cleared to avoid duplication of radio items.
- * Optional: radio frequencies split based on unit's side.
- * Spectator chat correctly handled for all players.
- * Radios assigned based on assignGear calls (from unit init).
- * ACRE only: vehicles filled with radios, depending on size.
- * New component works separately from the F3 Folk ARPS Assign Gear Script component for locality purposes.
-* Updated Fireteam Member Markers component:
- * Team colours are now assigned in arrays at top of script (easier to modify, same functionality).
-* Updated Join Group Action component: new notifications.
-* Updated ORBAT Notes component:
- * ORBAT lists vehicles, crew and any loaded elements.
- * ORBAT lists individual medics (under their element leader).
-* Fixed F3 Spectator Script component:
- * Fixed issues for players joining into spectator mode during a no-respawn mission.
- * Fixed various tags and camera issues.
-* Fixed several components for use with JIP/respawn:
- * Fireteam Member Markers component.
- * F3 Folk ARPS Group Markers component (specifically for specialist markers).
- * Join Group Action component.
-
-3-1-0 RC4 | 03 JUN 2014
-
-* Fixed AI Skill Selector component: removed references to precursor component.
-* Fixed F3 Folk ARPS Platoons component: incorrect group names for some FIA groups.
-* Fixed F3 Folk ARPS Assign Gear Clothing component: incorrect uniforms for FIA drivers.
-* Fixed F3 Simple Wounding System component: typo with variable name.
-* Fixed F3 Spectator Script component: tags and camera issues.
-
-3-1-0 RC3 | 29 MAY 2014
-
-* Updated F3 Folk ARPS Platoons component:
- * Added CO/DC driver (repair) slots (all factions).
- * Added UAV Operator slots to FIA.
-* Updated MapClick Teleport component: added HALO option.
-* Updated Mission Conditions Selector component:
- * Night option now features full moon.
- * Other options adjusted (better dawn/dusk etc.).
-* Fixed ReadMe File Template component: removed ArmA 2 references.
-* Fixed F3 Folk ARPS Assign Gear Script component: incomplete lists of classes in headers.
-* Fixed F3 Spectator Script component: minor issues.
-* Fixed F3 Simple Wounding System component: minor issues.
-
-3-1-0 RC2 | 28 MAY 2014
-
-* Updated F3 Folk ARPS Platoons component:
- * Ground vehicle drivers and selected helicopter crew members are now able to repair vehicles.
- * Ground vehicle commanders have rangefinders.
- * Fixed AAF DC group assignment.
-* Updated Safe Start component:
- * Changed frequency and duration of notifications.
- * Changed name of parameter variable.
-* Fixed ACRE Support component: script path(s).
-* Fixed Debug Mode component: string paths (several were still referring to f\common)
-* Fixed F3 Folk ARPS Assign Gear Script component:
- * Removed blank between assignGear and ; in unit INIT lines.
- * Removed nul = for unit INIT assignGear call.
-* Fixed F3 Folk ARPS JIP Reinforcement Options component: paths (were still referring to f\common).
-* Fixed F3 Folk ARPS Group Markers component: markers work for JIP players.
-* Fixed Mission Conditions Selector component: issue with overcast implementation.
-* Fixed PreMount component:
- * Fixed incorrect function calls in modules for CSAT.
- * Made more robust.
-* Fixed E&E and Casualties Cap components: ensured code spawned happens globally.
-* Fixed SP Editor issues (various).
-
-3-1-0 RC1 | 24 MAY 2014
-
-* Restructured folders and files:
- * Nearly all components now rest within their own sub-folder.
-* Added AI Skill Selector component:
- * Replaces the old AI Skill Selector (A&D and Coop) component.
- * Allows the skill levels of all three combatant sides to be set individually via mission parameters.
-* Added F3 Folk ARPS Assign Gear Attachments component:
- * Works with F3 Folk ARPS Assign Gear Script component.
-* Added F3 Folk ARPS Assign Gear Clothes component:
- * Works with F3 Folk ARPS Assign Gear Script component.
-* Added F3 Simple Wounding System.
-* Added F3 Premount component:
- * Mission makers can quickly and easily mount multiple groups in multiple vehicles.
- * Mission makers can control use of crew seats and group cohesion across vehicles.
- * Pre-placed modules support easy mounting of squads from pre-placed platoons.
-* Added Respawn Templates component:
- * Replaces Respawn INIT component.
-* Added MapClick Teleport component:
- * Replaces the Mission Maker Teleport component.
- * Can also be used by players in-game.
- * Mission makers can restrict usage by number of uses and/or time.
- * Mission makers can restrict usage to group leaders.
-* Added support for OPFOR and Independent FIA platoons to following components:
- * Briefing Template component.
- * F3 Folk ARPS Assign Gear Script component.
- * F3 Folk ARPS Group IDs component.
- * F3 Folk ARPS Group Markers component.
-* Updated Authorised Crew Check component:
- * Now incorporates Authorised Crew Type Check component.
- * Mission maker can now control access to passenger seats as well.
-* Updated Buddy Team colours component:
- * Fixed bug with teams that begin in vehicles.
-* Updated Casualties Cap component:
- * Now incorporates Casualties Cap (Advanced) components.
-* Updated Dynamic View Distance component:
- * Mission makers can now control view distances for vehicle passengers.
-* Updated F3 Folk ARPS Assign Gear Script component:
- * Backpacks parameter renamed to Loadouts.
- * Added UAV operator loadout to all factions.
- * Changed default AT for AAF faction to RPG32.
- * Replaced all binoculars with rangefinders.
- * Fixed issues with respawn and JIP.
- * F3 Folk ARPS Assign Gear component is now called using f_fnc_assignGear (omitting the folk).
- * Uniform types (e.g. light, crew, diver etc.) for each unit type can now assigned in the faction's assignGear file.
- * Added new uniform types: ghillie suits and special forces (AAF don't have a dedicated AAF loadout, FIA use CTRG).
- * Backpack loadouts have been moved into their own file.
- * Attachments are now assigned as local variables, can be assigned as a per-type basis.
- * Added options for handgun attachments.
- * Tweaks to improve perfomance when loading vehicles with assignGear.
-* Updated F3 Folk ARPS Group IDs component:
- * Reworked to tidy up code and bring up to standard.
-* Updated F3 Folk ARPS JIP Reinforcement Options component:
- * Fixed component for respawn and JIP.
- * Uses RespawnTemplate instead of a EventHandler.
- * Added optional removal of old player corpses.
- * Added optional enforcement of old gear.
- * Added JIP menu allows joining no group or staying in old group if it still has members.
-* Updated F3 Folk ARPS Platoons component:
- * Added UAV operator to each CO/DC team for NATO, AAF and CSAT.
-* Updated F3 Spectator Script component:
- * Full sized map.
- * FOV Zoom.
- * Tag names for players.
- * Completely overhauled camera * now much smoother.
- * Revamped tags.
-* Updated Mission Conditions Selector component:
- * All relevant files moved to f/missionConditions.
- * Split f_setMissionConditions.sqf into three files: fn_setFog, fn_setDate, fn_setWeather.
- * Updated component to take advantage of BIS improvements in weather system and sychronisation.
- * Updated component to allow usage of new setFog array.
- * Updated component to allow smooth time transitions when changing the date.
-* Update Multiplayer Ending Controller component:
- * Component is now called using ["ending"] call f_fnc_mpEnd and needs only to be called on the server.
- * Updated to take advantage of Arma 3 improvements.
- * Component now accepts optional second parameter: true (default) displays "mission completed" type of ending, false "mission failed".
-* Updated Safe Start component.
-
-3-0-9A | 12 FEB 2014
-
-* Updated AI Caching component.
-
-3-0-9 | 09 FEB 2014
-
-* Added AI Caching component.
-* Updated F3 Folk ARPS Group Markers component:
- * Functions are now defined in cfgFunctions via description.ext.
- * Fixed bug where marker was frozen despite the group still having members.
-* Updated F3 Folk ARPS Assign Gear Script component:
- * Added uniform randomisation.
- * MAT teams now use NLAWs or RPGs.
- * Rifleman (AT) loadout tweaked.
- * Rifleman (AT), MAT loadouts work when backpacks are disabled.
- * Added mini grenades to many loadouts.
- * Expanded engineer detachment.
- * Split engineer role into two specialisms: demo and mines (both types have repair kits and mine detectors).
- * Adjusted loadouts and outfits to reflect changes introduced in A3 1.10.
-* Updated Name Tags component:
- * Added optional display of unit group (defined by setGroupID / F3 Folk ARPS Group IDs component).
- * Added optional feature to display distance in metres.
- * Added optional feature to display type of mounted vehicle for driver/gunner/commander.
- * Drawing of name tags is now its own function defined in cfgFunctions.
- * Fixed issue where name tag height for units in buildings would be incorrect.
- * Fixed issue where name tags would display for enemy/neutral units in vehicles.
- * Misc. improvements and tweaks.
-* Updated F3 Folk ARPS Platoons component:
- * Added tank and attack helo groups to AAF.
- * Temporarily removed JIP groups (for all factions).
-* Updated Mission Conditions component to adjust fog values.
-* Updated Buddy Team Colours component.
-* Updated Automatic Body Removal component.
-* Fixed ACRE Support component issue with spectator script.
-* Misc. typo fixes in various components.
-
-3-0-8 | 28 DEC 2013
-
-* Moved README.md to the F3 folder.
-* Added BIS debug console for logged-in admins.
-* Added Safe Start component.
-* Added new F3 Spectator component.
-* Overhauled F3 Name Tag component
-* Overhauled F3 Automatic Body Removal Component
-* Overhauled F3 Set AI Skill Component
-* Updated Briefing Template component to reflect new faction names.
-* Updated Mission Observers component to use BIS Splendid Camera.
-* Updated F3 Folk ARPS Platoons component to reflect new faction names.
-* Updated F3 Folk ARPS Assign Gear Script component to reflect new faction names.
-* Updated F3 Folk ARPS Group IDs to reflect new faction names.
-* Updated F3 Folk ARPS Assign Gear scripts to improve weight-distribution in fire teams and reduce overall weight
-* Expanded F3 Folk ARPS Platoons component to include FIA platoon.
-* Expanded F3 Folk ARPS Assign Gear Script component to support FIA platoon.
-* Expanded F3 Folk ARPS Assign Gear Script component to offer more variety for backpacks and vests
-* Expanded Briefing Template component to support FIA platoon.
-* Expanded F3 Folk ARPS Group IDs to support FIA platoon.
-* Expanded F3 Folk ARPS Group Markers to support FIA platoon.
-* Expanded F3 Folk ARPS JIP Reinforcement Options to support FIA platoon.
-* Re-enabled more weather parameter options in Mission Conditions Selector component.
-* Removed now obsolete old F2 name tag component
-* Removed obsolete F2 Tripwire Action entry in init.sqf
-* Removed unnecessary references to Stratis in mission.sqm
-* Disabled Weather synchronization in F3 Missions Conditions selector component for perfomance reasons
-* Fixed minor bug in F3 Folk ARPS Platoons component.
-* Fixed bugs in F3 Mission Conditions Selector introduced by A3 1.02.110.424
-
-3-0-7 | 14 SEP 2013
-
-* Changed default terrain to Altis.
-* Added Fireteam Member Markers component.
-* Added Buddy Team Colours component.
-* Partially re-enabled weather parameter in Mission Conditions Selector component.
-* Expanded F3 Folk ARPS Platoons component:
- * INDEPENDENT platoon can now be helibourne or mechanised.
- * BLUFOR platoon now has 1 x tank.
- * OPFOR platoon now has 1 x tank.
-* Implemented new functions-based approach to parameters, gear etc.
-* Updated F3 Folk ARPS Assign Gear Script component to support new NVG classnames.
-* Removed ShackTactical Fireteam Member Markers component.
-
-3-0-6 | 20 AUG 2013
-
-* Updated Multiplayer Ending Controller component to use new BIS endings.
-* Updated F3 Folk ARPS Assign Gear Script component (various fixes/changes).
-* Fixed additional unsassigned variable errors.
-* Removed unused files and references.
-
-3-0-5 | 17 AUG 2013
-
-* Migrated ACRE Support component (inc. pre-set frequencies, see F3 wiki for details).
-* Expanded F3 Folk ARPS Platoons component:
- * BLUFOR platoon can now be helibourne or mechanised.
- * OPFOR platoon can now be helibourne or mechanised.
- * INDEPENDENT platoon can now be helibourne.
-* Fixed additional unsassigned variable errors.
-* Removed Kegetys Spectator Script component.
-* Removed unused files and references.
-
-3-0-4 | 08 AUG 2013
-
-* Fixed "no entry 'bin\config.bin/CfgWeapons.'." error.
-* Fixed various unsassigned variable errors.
-* Fixed medic markers in F3 Folk ARPS Group Markers component.
-* Fixed time of day parameter in Mission Conditions Selector component.
-* Disabled weather parameter in Mission Conditions Selector component.
-* Added new options to Casualties Cap component.
-* Added new options to Casualties Cap (Advanced) component.
-
-3-0-3 | 25 JUN 2013
-
-* Quick updates to reflect key ArmA 3 Beta content and changes.
-* Updated all F3 Folk ARPS components to include Green faction.
-* Updated all F3 Folk ARPS components to reflect Blue/Red/Green faction names.
-* Updated F3 Folk ARPS Platoons component to include new/upgraded vehicles.
-* Updated ORBAT Notes component (group names are now clickable and zoom map to group marker).
-* Updated F3 Folk ARPS JIP Reinforcement Options component (JIP group does not follow player).
-* Updated F3 Folk ARPS JIP Reinforcement Options component (JIP option more visible).
-* Fixed F3 Common Local Variables component (prevented double-counts of vehicle crew).
-
-3-0-2 | 25 MAR 2013
-
-* Updated to reflect revised OPFOR uniform classnames.
-* Updated to reflect revised name for Ifrit.
-* Development of Mission Conditions Selector component (new functionality not yet enabled).
-
-3-0-1 | 17 MAR 2013
-
-* Fixed diver attachment bug with F3 Folk ARPS Assign Gear Script component.
-* Fixed ranks and typos with F3 Folk ARPS Platoons component.
-* Missle cam no longer on by default in Kegetys Spectator Script component.
-* Updated F3 Folk ARPS Assign Gear Script component to include backpack options by parameter (off/light/heavy).
-* Updated F3 Folk ARPS Assign Gear Script component so Rifelman (AT) role has a launcher.
-
-3-0-0 | 10 MAR 2013
-
-* Migrated Naming Your Mission component.
-* Migrated Mission Header component.
-* Migrated Respawn Settings component.
-* Migrated Respawn INIT component.
-* Migrated (and renamed) Briefing Template component.
-* Migrated ReadMe File Template component.
-* Migrated Debug Mode component.
-* Migrated Disable Saving and Auto Saving component.
-* Migrated (and renamed) F3 Common Local Variables component.
-* Migrated Join Group Action component.
-* Migrated Kegetys Spectator Script component.
-* Migrated Mission Observers component.
-* Migrated Multiplayer Ending Controller component.
-* Migrated ORBAT Notes component.
-* Migrated Sample Markers component.
-* Migrated ShackTactical Fireteam Member Markers component.
-* Migrated AI Skill Selector (A&D) component.
-* Migrated AI Skill Selector (coop) component.
-* Migrated Authorised Crew Check component.
-* Migrated Authorised Crew Type Check component.
-* Migrated Automatic Body Removal component.
-* Migrated Casualties Cap component.
-* Migrated Casualties Cap (Advanced) component.
-* Migrated Dynamic View Distance component.
-* Migrated Group E&E Check component.
-* Migrated Mission Maker Teleport component.
-* Migrated Name Tags component.
-* Migrated (and renamed) F3 Folk ARPS Platoons component.
-* Migrated (and renamed) F3 Folk ARPS Assign Gear Script component.
-* Migrated (and renamed) F3 Folk ARPS Group IDs component.
-* Migrated (and renamed) F3 Folk ARPS Group Markers component.
-* Migrated (and renamed) F3 Folk ARPS JIP Reinforcement Options component.
-* Part-migrated Mission Conditions Selector component.
-* Removed Disable BIS Conversations component.
-* Removed Preplaced Game Logics component.
-* Removed ACRE Support component.
-* Removed Automatic Body Removal (FIFO) component.
-* Removed Construction Interface (COIN) Presets component.
-* Removed Trip Flare component.
-* Removed Gear Snippets component.
-* Added Loading Screen component.
-
-### F2 Change History ###
-
-Version | Date
-
-2-7-1 | 16 FEB 2013
-
-* Added Mission Observers component.
-* Changed default setting for Backpacks mission parameter to "off".
-* Changed Preplaced Game Logics component: synchronizing medic modules with every single unit is no longer required.
-* Changed ACRE Support component: 148s restricted to element leaders.
-* Changed Casualties Cap component to add more options (by side, by faction).
-* Fixed incorrect unit names in Takistani Locals platoon.
-* Fixed incorrect classnames for pilots and crew in CDF platoon.
-* Fixed F2 Common Local Variables so it no longer includes the F2_Precompile_East and F2_Precompile_West units used by the CO Folk ARPS Assign Gear Script component.
-
-2-7-0 | 15 DEC 2012
-
-* Moved development to GitHub (see: https://github.com/ferstaberinde/F2).
-* Changed OA Folk build to CO Folk ARPS build.
-* Updated CO Folk ARPS Platoons (USMC, CDF, NAPA, Russian Army, ChDKZ).
-* Updated CO Folk ARPS Group IDs component.
-* Updated CO Folk ARPS Markers component.
-* Updated CO Folk ARPS Assign Gear Script component (supports new factions, backpacks default to ON, vehicle cargo presets for trucks and IFVs).
-* Added CO Folk ARPS Assign Gear Script component alternative files for: US Army, ACR.
-* Changed OA Briefing Template component to CO Briefing Template component (now supports ArmA2 factions).
-* Updated Casualties Cap component (commented-out lines for all Folk ARPS platoons added).
-* Added ORBAT Notes component.
-* Added ACRE support component.
-* Added Join Group Action component.
-* Extended Trip Flare component (now also placeable in-game).
-* Removed Norrin's Revive Respawn component.
-
-2-6-1 | 02 JUL 2012
-
-* Fixed OA Folk Platoons.
-
-2-6-0 | 07 JUN 2012
-
-* Updated OA Folk Platoons.
-* Updated OA Folk Assign Gear Script.
-* Updated OA Folk Group IDs.
-* Updated OA Folk Group Markers.
-* Updated Briefing File Template component.
-* Updated manual: Various changes.
-
-2-5-0 | 24 JAN 2012
-
-* Updated OA Folk Platoons.
-* Updated OA Folk Assign Gear Script.
-* Updated OA Folk Group IDs.
-* Updated OA Folk Group Markers.
-* Updated OA Folk JIP Reinforcement Options.
-* Updated stringtable.xml.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-5 | 16 SEP 2010
-
-* Fixed F2 Common Local Variables component.
-* Fixed Dynamic View Distance component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-4 | 16 SEP 2010
-
-* Fixed F2 Common Local Variables component.
-* Fixed Dynamic View Distance component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-3 | 11 SEP 2010
-
-* Updated Folk Platoons component (added UN faction).
-* Updated Folk Platoons component (added British Armed Forces faction).
-* Updated Folk Platoons component (added TK Militia faction).
-* Updated OA Folk Assign Gear component.
-* Updated OA Folk Group IDs component.
-* Updated OA Folk Group Markers component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-2 | 01 SEP 2010
-
-* Updated Kegetys Spectator Script component.
-* Updated Folk Platoons component (added US Army faction).
-* Updated Folk Platoons component (added TK Army faction).
-* Froze ArmA2 builds at v2-4-1.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-1 | 11 JUN 2010
-
-* Added OA Briefing component.
-* Added OA Folk Platoons component.
-* Added OA Folk Assign Gear component.
-* Added OA Folk Group IDs component.
-* Added OA Folk Group Markers component.
-* Added OA Folk JIP Reinforcement Options component.
-* Updated F2 ReadMe.txt to reflect addition of support for Operation Arrowhead.
-* Updated manual: Various changes (EN and RU versions).
-
-2-4-0 | Internal
-
-* Changed the structure of F2 to the new Foundation + Builds approach.
-* Updated manual: Various changes (EN and RU versions).
-
-2-3-3 | Internal
-
-* Added Folk Platoons component.
-* Added Folk Assign Gear component.
-* Added Folk Group IDs component.
-* Added Folk Group Markers component.
-* Added Folk JIP Reinforcement Options component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-3-2 | 17 MAY 2010
-
-* Fixed minor bug with Respawn INIT component.
-
-2-3-1 | 20 APR 2010
-
-* Added Respawn INIT component.
-* Added description.ext.F2A2 (supports F2A2 and F2A2ST).
-* Updated ShackTactical Group Markers to support JIP groups.
-* Updated F2A2 ShackTactical Group Markers for ACE2 to support JIP groups.
-
-2-3-0 | 12 APR 2010
-
-* Added JIP Reinforcement Options component.
-* Added F2A2 Kegetys Spectator Script (ACE2 Addon) component.
-* Updated ShackTactical Platoons (added JIP group to all platoons).
-* Updated F2A2 ShackTactical Platoons for ACE2 (added JIP group to all platoons).
-* Updated F2A2 ShackTactical Platoons for ACE2 (added ACE Enable Wounding).
-* Updated Briefing File Template component to make it JIP-friendly.
-* Updated manual: Various changes (EN and RU versions).
-
-2-2-5 | 27 FEB 2010
-
-* Fixed F2A2 ShackTactical Group Markers for ACE2.
-* Fixes for various issues with the spectator script and v1.05/ACE2.
-* Added Group E&E Check component.
-
-2-2-4 | 30 JAN 2010
-
-* Updated F2A2 ShackTactical Platoons for ACE2 (added Echo squad to all platoons).
-* Updated F2A2 ShackTactical Group IDs for ACE2 (added support for Echo squad).
-* Updated F2A2 ShackTactical Group Markers for ACE2 (added support for Echo squad).
-* Fix for minor interface bug in spectator script and v1.05.
-* Updated manual: Various changes (EN and RU versions).
-
-2-2-3 | 07 JAN 2010
-
-* Fix for disabled keys bug in spectator script and v1.05.
-* Updated F2A2 ShackTactical Assign Gear Script for ACE2 (increased medical supplies, added SMAW spotting rounds).
-
-2-2-2 | 27 DEC 2009
-
-* Partial fix for disabled keys bug in spectator script and v1.05.
-* Promoted briefings and markers in the running order of init.sqf (inc. F2A2 version).
-
-2-2-1 | 21 DEC 2009
-
-* Changed Mission Maker Teleport to an optional component.
-* Fixed seagull bug in spectator script (eliminates instant seagulls over dead bodies).
-* Updated manual: Various changes (EN and RU versions).
-
-2-2-0 | 07 DEC 2009
-
-* Added F2A2 ShackTactical Platoons for ACE2.
-* Added F2A2 ShackTactical Group IDs for ACE2.
-* Added F2A2 ShackTactical Group Markers for ACE2.
-* Added F2A2 ShackTactical Assign Gear Script for ACE2.
-* Updated manual: Various changes (EN and RU versions).
-
-2-2-0 RC1 | 07 DEC 2009
-
-* Added F2A2 ShackTactical Platoons for ACE2.
-* Added F2A2 ShackTactical Group IDs for ACE2.
-* Added F2A2 ShackTactical Group Markers for ACE2.
-* Added F2A2 ShackTactical Assign Gear Script for ACE2.
-* Updated manual: Various changes (EN and RU versions).
-
-2-1-3 | 25 NOV 2009
-
-* Updated Norrin's Revive Respawn to version 0.3g.
-* Updated manual: Various changes (EN and RU versions).
-
-2-1-2 | 02 NOV 2009
-
-* Added Name Tags component.
-* Updated Norrin's Revive Respawn to version 0.3f.
-* Updated manual: Various changes (EN and RU versions).
-
-2-1-1 | 20 OCT 2009
-
-* Added Disable Saving and Auto Saving component.
-* Removed readme file for Norrin's Revive Respawn component (now available as download from manual wiki).
-* Removed rogue setGroupID and HC-related commands from Init lines of units in ShackTactical Platoons.
-* Updated manual: Various changes (EN and RU versions).
-
-2-1-0 | 06 OCT 2009
-
-* Added Norrin's Revive Respawn component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-1-0 RC1 | 06 OCT 2009
-
-* Added Norrin's Revive Respawn component.
-* Updated manual: Various changes (EN and RU versions).
-
-2-0-5 | 30 SEP 2009
-
-* Added Trip Flare component.
-* Added processParamsArray.sqf file.
-* Updated Debug Mode component to use stringtable.xml and processParamsArray.sqf files.
-* Updated AI Skill (coop) component to use processParamsArray.sqf file.
-* Updated AI Skill (A&D) component to use processParamsArray.sqf file.
-* Updated Debug Mode component to use processParamsArray.sqf file.
-* Reinstated the 'storm' option in Mission Conditions Selector component.
-* Updated stringtable.xml file.
-* Updated manual to include screenshots for selected components.
-* Updated manual: Various changes (EN and RU versions).
-
-2-0-4 | 09 SEP 2009
-
-* IMPORTANT NOTE: Requires ArmA2 (beta) version 1.03.59025 or better.
-* Added Construction Interface (COIN) Presets component.
-* Added Mission Maker Teleport component.
-* Updated Mission Conditions Selector component to work with multiple MP parameters method.
-* Updated Set AI Skill (coop) component to work with multiple MP parameters method.
-* Updated Set AI Skill (A&D) component to work with multiple MP parameters method.
-* Updated Debug Mode component to work with multiple MP parameters method.
-* Rebuilt stringtable.xml file.
-* Updated manual: Various changes (EN and RU versions).
-
-2-0-3 | 24 AUG 2009
-
-* Updated Kegetys Spectator Script component.
-
-2-0-2 | 24 AUG 2009
-
-* Added Disable BIS Conversations component.
-* Replaced stringtable.csv with stringtable.xml.
-* Removed First Aid: Action pre-placed game logics from mission.sqm file (Preplaced Game Logics component).
-* Updated manual: Various changes (EN and RU versions).
-
-2-0-1 | 26 JUL 2009
-
-* Migrated Set AI Skill (coop) component from BAS f.
-* Migrated Set AI Skill (A&D) component from BAS f.
-* Updated Kegetys Spectator Script component.
-* Updated ShackTactical Assign Gear Script component.
-* Fixed bug with Preplaced Game Logics component.
-* Updated manual: Various changes (EN version).
-
-2-0-0 | 12 JUL 2009
-
-* Migrated Naming Your Mission component from BAS f.
-* Migrated Mission Header component from BAS f.
-* Migrated Respawn Settings component from BAS f.
-* Migrated F2 Common Local Variables component from BAS f.
-* Migrated Mission Conditions Selector component from BAS f.
-* Migrated Debug Mode component from BAS f.
-* Migrated ShackTactical Platoons component from BAS f.
-* Migrated ShackTactical Group IDs component from BAS f.
-* Migrated ShackTactical Group Markers component from BAS f.
-* Migrated ShackTactical Fireteam Member Markers component from BAS f.
-* Migrated ShackTactical Assign Gear Script component from BAS f.
-* Migrated Multiplayer Ending Controller component from BAS f.
-* Migrated Kegetys Spectator Script component from BAS f.
-* Migrated Sample Markers component from BAS f.
-* Migrated Briefing File Template component from BAS f.
-* Migrated ReadMe File Template component from BAS f.
-* Migrated Gear Snippets component from BAS f.
-* Migrated Automatic Body Removal component from BAS f.
-* Migrated Automatic Body Removal (FIFO) component from BAS f.
-* Migrated Authorised Crew Check component from BAS f.
-* Migrated Authorised Crew Type Check component from BAS f.
-* Migrated Casualties Cap component from BAS f
-* Migrated Casualties Cap (Advanced) component from BAS f
-* Added Preplaced Game Logics component.
-* Created online manual (EN version).
-
-### BAS f Change History ###
-
-Version | Date
-
-1-4-2 | 13 MAR 2009
-
-* Updated Jefke's BAS Release Builder application to support the revised names for Nogovoa, Everon, Malden and Kolgujev in ACEIP (thanks to Kju).
-* Updated manual: Various changes.
-
-1-4-1 | 13 FEB 2009
-
-* Updated kevb0's Assign Gear Script to work with ACE v1.02 (thanks to kevb0).
-* Updated manual: Various changes.
-
-1-4-0 | 03 FEB 2009
-
-* Expanded ShackTac platoons to include attached MG and AT teams.
-* Updated the @ShackTac_localMarker.sqf file.
-* Updated the @ShackTac_setLocalMarkers.sqf file.
-* Updated the ShackTac_setLocalMarkers.sqf file.
-* Updated the ShackTac_setGroupIDs.sqf file (thanks to Headspace).
-* Updated Kegetys Spectator Script for ArmA component (thanks to ViperMaul).
-* Updated manual: Various changes.
-
-1-3-2 | 18 JAN 2009
-
-* Updated Conditions Selector component, adding random selection option (thanks to Messiah2 and kevb0).
-* Updated kevb0's Assign Gear Script (thanks to kevb0).
-* Updated the French values in the stringtable.csv file (thanks to JanMasterson).
-* Updated manual: Various minor changes.
-
-1-3-1 | 08 JAN 2009
-
-* Updated Jefke's BAS Release Builder application (many thanks to Jefke).
-* Fixed LDD Kyllikki: Baseline Mission File Template (FDF Version) (thanks to broileri).
-* Updated manual: Various minor changes.
-
-1-3 | 03 JAN 2009
-
-* Implemented Jefke's BAS Release Builder application (many thanks to Jefke).
-* Added Configurable Playable Slots (ACE Version) component.
-* Added kevb0's Assign Gear Script (thanks to kevb0).
-* Added support for Afghan Village.
-* Added support for ACE Islands Pack public beta v1.00 (thanks to kevb0 and Jefke)
-* Added LDD Kyllikki: Baseline Mission File Template (FDF Version) (thanks to broileri).
-* Updated manual: Various minor changes.
-
-1-2 | 18 DEC 2008
-
-* Updated ShackTac platoon loadouts (thanks to FLEXCopMNPD).
-* Updated Kegetys Spectator Script for ArmA component (thanks to ViperMaul).
-* Added new ShackTac mission.sqm files for ACU, MARPAT D and Woodland (thanks to FLEXCopMNPD).
-* Added support for South Sahrani.
-* Added support for Avgani.
-* Added support for Uhao.
-* Added support for LDDK training island (Isla de Pollo).
-* Added ShackTac f mission template folders for all supported islands.
-* Removed support for ACE islands (temporarily).
-* Removed support for CWR islands (temporarily).
-* Updated manual: Various minor changes.
-
-1-1C | 19 MAY 2008
-
-* Added ShackTac f (Rahmadi) mission folder template.
-* Added ShackTac f (Schmalfelden) mission folder template.
-* Updated guidelines on mission naming in the manual.
-* Updated manual: Various minor changes.
-* SPECIAL NOTE: Support for ACE islands DOES NOT INCLUDE an updated mission_ShackTac.sqm file which uses ACE USMC units, OR an updated version of the ShackTac f (Sahrani) component. You should NOT use BAS f v1-1B to make official ShackTac missions. This build is for ACE and ShackTac testing / evaluation purposes only.
-
-1-1B | 29 APR 2008
-
-* Added support for ACE CWC Islands Pack Beta 2 (22 APR 2008).
-* Added support for Schmalfelden (v0.81) (v0.81 does not work 100% correctly with f_setMissionConditions.sqf).
-* Updated manual: Various minor changes.
-* SPECIAL NOTE: Support for ACE islands DOES NOT INCLUDE an updated mission_ShackTac.sqm file which uses ACE USMC units, OR an updated version of the ShackTac f (Sahrani) component. You should NOT use BAS f v1-1B to make official ShackTac missions. This build is for ACE and ShackTac testing / evaluation purposes only.
-
-1-1A | 03 APR 2008
-
-* Added support for ACE Islands Pack Private v5 (23 FEB 2008) (thanks to Jaxobs for earlier 1-0-9B port).
-* Added support for ACE Everon beta (31 MAR 2008).
-* Added support for ACE Palms EAF beta (16 FEB 2008) (thanks to Awoihjaweohr for help with f_setMissionConditios.sqf).
-* Updated manual: Various minor changes.
-* SPECIAL NOTE: Support for ACE islands DOES NOT INCLUDE an updated mission_ShackTac.sqm file which uses ACE USMC units, OR an updated version of the ShackTac f (Sahrani) component. You should NOT use BAS f v1-1A to make official ShackTac missions. This build is for ACE and ShackTac testing / evaluation purposes only.
-
-1-1 | 21 MAR 2008
-
-* Added additional translations for new options in f_setMissionConditions.sqf file.
-* Implemented updated version of kevb0's Wounding Script (thanks to kevb0).
-* Added ShackTac f (Sahrani) mission folder template.
-* Updated manual: Various minor changes.
-
-1-0-9B | 07 FEB 2008
-
-* Updated 'description.ext' and 'f_woundingScriptSounds.hpp' files (thanks to burningtrees).
-* Updated manual: Various, to reflect above changes (thanks to bluedingo).
-
-1-0-9A | 19 JAN 2008
-
-* Added kevb0's Outtro Script.
-* Updated kevb0's Wounding Script.
-* Changed f_setMissionConditions.sqf file to use setDate command (thanks to Dslyecxi).
-* Added new options to f_setMissionConditions.sqf file (thanks to Red Barron).
-* Updated manual: Various, to reflect above changes.
-
-1-0-9 | 12 JAN 2008
-
-* Updated ShackTactical briefing templates with better in-page navigation.
-* Fixed file format of f_casualtiesCapAdv.sqf file (which was not DOS-friendly).
-* Changed default date of missions so that nights feature a full moon.
-* Added kevb0's Wounding Script.
-
-1-0-8 | 26 DEC 2007
-
-* Added support for Winter Kolgujev (CWR Addons v0.80 released 25 DEC 2007).
-* Updated manual: Various, to reflect above changes.
-
-1-0-7 | 24 DEC 2007
-
-* Added support for Malden (CWR Mod Demo v0.36 released 24 DEC 2007).
-* Updated manual: Various, to reflect above changes.
-
-1-0-6 | 27 OCT 2007
-
-* Added ShackTactical CoC CEX Support component.
-* Updated manual: Various, to reflect above changes.
-
-1-0-5 | 15 OCT 2007
-
-* Added support for Rahmadi, United Sahrani, Porto and Sakakah Al Jawf (open beta version).
-* Added the Casualties Cap (Advanced) component.
-* Updated the ShackTactical Group IDs component (thanks to Messiah2 and zx64).
-* Updated the MP Ending Controller component to close the Spectator Script dialog on mission end (thanks to zx64).
-* Updated manual: Various, to reflect above changes.
-
-1-0-4 | 19 AUG 2007
-
-* Added ShackTactical Group IDs component (thanks to kevb0 and zx64).
-* Added smoke grenades to pre-placed SLs, FTLs and medics in the mission_ShackTac.sqm file.
-* Updated manual: Various, to reflect above changes.
-
-1-0-3A | 25 JUL 2007
-
-* Fixed missing instance of f_waitForJIP.sqf file (in the f/commom/f_spect folder).
-
-1-0-3 | 25 JUL 2007
-
-* Variable f_var_debugMode is now always set (to 0 or 1) by the init.sqf file.
-* Updated server check method in f_abrFIFO.sqf file.
-* Updated server check method in f_endOnCasualtiesCap file.
-* Implemented include approach for standard JIP check (see f_waitForJIP file) (thanks to zx64).
-* Implemented BAS Server Logic Failsafe (thanks to zx64).
-* Fixed Kegetys' Spectator Script component to work with ArmA v1.08 (thanks to ViperMaul).
-* Updated ShackTactical Markers component to make radios optional.
-* Updated ShackTactical Markers (Addon Version) component to make radios optional.
-* Updated manual: Various, to reflect above changes.
-
-1-0-2 | 19 JUL 2007
-
-* Integrated new Automatic Body Removal (FIFO Version) (thanks to Raedor).
-* Added new common variable: f_var_men_players (thanks to Raedor).
-* Added ShackTactical Markers (Addon Version) component.
-* Added ShackTactical Fireteam Markers (Addon Version) component.
-* Updated ShackTactical Fireteam Markers component (disabled unit names).
-* Updated manual: Various, to reflect above changes.
-
-1-0-1 | 28 JUN 2007
-
-* Doubled number of pre-placed units in the mission_ShackTactical.sqm file.
-* Updated ShackTactical Markers component.
-* Added ShackTactical Briefing File (Coop Version) Template component.
-* Added ShackTactical Briefing File (Attack & Defend Version) Template component.
-* Updated manual: Various.
-
-1-0 | 24 JUN 2007
-
-* Updated Casualties Cap component.
-* Updated manual: Various.
-
-0-0-31 | 07 JUN 2007
-
-* Added ShackTactical: Fireteam Markers component.
-* Updated Casualties Cap component to use alive command.
-* Added Authorsed Crew Type component.
-* Fixed German typo in the stringtable.csv file.
-* Updated manual: Various, to reflect above changes.
-
-0-0-30 | 24 MAY 2007
-
-* Added French to stringtable.csv file.
-* Updated standard JIP header code in all common scripts (except Mission Conditions Selector) (thanks to Raedor).
-* Updated mission_ShackTactical.sqm file to fix RPT bug (bad double magazine detection).
-* Updated manual: Various, to reflect above changes.
-
-0-0-29 | 17 MAY 2007
-
-* Implemented standard JIP header code in all common scripts (except Mission Conditions Selector) (thanks to Raedor).
-* Changed Authorised Crew Check component to use 'GETOUT' command (thanks to eJay).
-* Updated Casualties Cap component (now works with empty groups).
-
-0-0-28 | 07 MAY 2007
-
-* Added Casualties Cap component.
-* Made AI Skill Selector (Coop Version) component optional (moved from core).
-* Added AI Skill Selector (Attack & Defend Version) component.
-* Changed ShackTactical: Baseline Mission File Template component (AARs now carry MG ammo).
-
-0-0-27 | 05 MAY 2007
-
-* Consolidated build for release.
-
-0-0-26 | 05 MAY 2007
-
-* Added Spanish to stringtable.csv file.
-* Added f_setCommonVars.sqf file (and added call in init.sqf file).
-* Added f_addSetViewDistanceEHs.sqf file.
-* Added f_setViewDistanceGetIn.sqf file.
-* Added f_setViewDistanceGetOut.sqf file.
-* Added briefing_bySide.html template.
-* Added ShackTactical: Baseline Mission File Template component.
-* Added ShackTactical: Markers component.
-* Ammended init.sqf to include option component: Dynamic View Distance.
-* Amended f_addRemoveBodyEH.sqf to use var(s) from f_setCommonVars.sqf file.
-* Amended f_addRemoveBodyEH.sqf (changed names of private variables).
-* Amended f_setAISkill.sqf to use var(s) from f_setCommonVars.sqf file.
-* Amended f_setAISkill.sqf to set skill for all unit types (not just men).
-* Changed suffix for onPlayerRespawnAsSeagull.sqs file to 'xxx'.
-* Updated manual: Various, to reflect above changes.
-
-0-0-25 | 12 APR 2007
-
-* Patch release (missing UPS and Anti-TK components).
-* Added Kegetys Spectator Script for ArmA component.
-* Updated manual: Revised mission folder placement and naming instructions.
-
-0-0-24 | 28 MAR 2007
-
-* Patch release (missing UPS and Anti-TK components).
-* Updated manual: Fixed error in manual which caused MP Ending Controller to fail.
-
-0-0-23 | 07 MAR 2007
-
-* Public beta release (missing UPS and Anti-TK components).
-* Updates and corrections made to manual.
-* Replaced use of 'exit' with 'exitWith' throughout.
-* Added 1.05 weapons and magazines to description.ext.
-
-0-0-22 | 23 FEB 2007
-
-* Public beta release candidate (missing UPS and Anti-TK components).
-* Updates and corrections made to manual.
-* Update to the Russian entries in stringtable.csv.
-
-0-0-21 | 19 FEB 2007
-
-* Public beta release candidate (missing UPS and Anti-TK components, manual not translated).
-* Updates and corrections made to manual.
-
-0-0-20 | 31 JAN 2007
-
-* Internal alpha release (missing UPS and Anti-TK components).
-* Moved everything to Sahrani.
-* Updates and corrections made to manual.
-
-0-0-19 | 24 JAN 2007
-
-* Internal alpha release (missing UPS and Anti-TK components).
-* Updates and corrections made to manual, inc. screenshots (from Rahmadi version).
-* Included Open Office format version of manual.
-
-0-0-18 | 12 JAN 2007
-
-* Internal alpha release (missing UPS and Anti-TK components).
+# F3-Folk ARPS Mission-making Template #
+
+## Changes from default F3 ##
+
+* Wolfenswan's function library (ws_fnc) integrated
+* Folk ARPS logo.jpg file included
+* F3 features pre-enabled:
+ * Name Tags
+ * Automatic Body Removal
+ * Safe Start default set to 1 minute
+ * Set AI Skill for all factions - Missionmakers can remove the cases they do not need
+ * Numerous feature updates and improvements. See https://github.com/folkarps/F3 for update history.
+
+## Versions ##
+* F3 3-5-7
+* ws_fnc 05/07/2015 (with FA improvements)
diff --git a/briefing.sqf b/briefing.sqf
deleted file mode 100644
index ca06c55d6..000000000
--- a/briefing.sqf
+++ /dev/null
@@ -1,207 +0,0 @@
-// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-if (!hasInterface) exitWith {}; //Exit if not a player.
-
-// MAKE SURE THE PLAYER INITIALIZES PROPERLY
-
-if (!isDedicated && (isNull player)) then
-{
- waitUntil {sleep 0.1; !isNull player};
-};
-
-
-// ====================================================================================
-
-// DETECT PLAYER FACTION
-// The following code detects what faction the player's slot belongs to, and stores
-// it in the private variable _unitfaction
-
-private _unitfaction = toLower (faction player);
-
-// If the unitfaction is different from the group leader's faction, the latters faction is used
-if (_unitfaction != toLower (faction (leader group player))) then {_unitfaction = toLower (faction (leader group player))};
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Player faction: %1",_unitfaction];
- };
-
-// ====================================================================================
-
-// BRIEFING: ADMIN
-// The following block of code executes only if the player is the current host
-// it automatically includes a file which contains the appropriate briefing data.
-
-if (serverCommandAvailable "#kick") then {
-
-#include "f\briefing\f_briefing_admin.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for host selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: BLUFOR > NATO
-// The following block of code executes only if the player is in a NATO or NATO (Pacific) slot; it
-// automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["blu_f","blu_t_f"]) exitwith {
-
-#include "f\briefing\f_briefing_nato.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: FIA
-// The following block of code executes only if the player is in a FIA slot; it
-// automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["blu_g_f","ind_g_f","opf_g_f"]) exitwith {
-
-#include "f\briefing\f_briefing_fia.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: GENDARMERIE
-// The following block of code executes only if the player is in a gendarmerie slot; it
-// automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["blu_gen_f"]) exitwith {
-
-#include "f\briefing\f_briefing_gendarmerie.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: OPFOR > CSAT
-// The following block of code executes only if the player is in a CSAT & CSAT (Pacific) slot; it
-// automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["opf_f","opf_t_f"]) exitwith {
-
-#include "f\briefing\f_briefing_csat.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: INDEPENDENT > AAF
-// The following block of code executes only if the player is in a AAF
-// slot; it automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["ind_f"]) exitwith {
-
-#include "f\briefing\f_briefing_aaf.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: INDEPENDENT > SYNDIKAT
-// The following block of code executes only if the player is in a Syndikat
-// slot; it automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["ind_c_f"]) exitwith {
-
-#include "f\briefing\f_briefing_syndikat.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: INDEPENDENT > CTRG
-// The following block of code executes only if the player is in a Syndikat
-// slot; it automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["blu_ctrg_f"]) exitwith {
-
-#include "f\briefing\f_briefing_ctrg.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: CIVILIAN
-// The following block of code executes only if the player is in a CIVILIAN
-// slot; it automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction in ["civ_f"]) exitwith {
-
-#include "f\briefing\f_briefing_civ.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-// ====================================================================================
-
-// BRIEFING: ZEUS
-// The following block of code executes only if the player is in a ZEUS (Gamelogic) slot; it automatically includes a file which contains the appropriate briefing data.
-
-if (_unitfaction == "") exitwith {
-
-#include "f\briefing\f_briefing_zeus.sqf"
-
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (briefing.sqf): Briefing for %1 slot selected.",_unitfaction];
- };
-};
-
-
-// ====================================================================================
-
-// ERROR CHECKING
-// If the faction of the unit cannot be defined, the script exits with an error.
-
-player globalchat format ["DEBUG (briefing.sqf): Faction %1 is not defined.",_unitfaction];
\ No newline at end of file
diff --git a/description.ext b/description.ext
index a4fdd373f..01a4de232 100644
--- a/description.ext
+++ b/description.ext
@@ -1,16 +1,53 @@
+fa3_version[] = {3,5,7}; // WARNING: DO NOT CHANGE THIS LINE
+
+// ============================================================================================
+// F3 - Loading Screen
+// Set Author, overview image/text, loading image/text from Eden Editor
+
+onLoadName = "*** Insert Mission Name Here. ***";
+
+// ============================================================================================
+
+// F3 - Body Removal Settings
+
+//Corpses
+corpseManagerMode = 1; //0 = None, 1 = All, 2 = None_But_Respawned, 3 = All_But_Respawned
+corpseLimit = 30; // Corpse limit before which ( <= ) corpseRemovalMaxTime applies and after which ( > ) corpseRemovalMinTime applies.
+corpseRemovalMinTime = 180; // Remove all bodies that have been dead longer than corpseRemovalMinTime when corpseLimit is breached.
+corpseRemovalMaxTime = 600; // Maximum time a corpse can remain on the ground (if total number of corpses is equal or under corpseLimit).
+minPlayerDistance = 500; // The minimum distance between corpse or wreck and nearest player before the corpse or wreck is allowed to be removed by the garbage collector.
+
+//Wrecks
+//wreckManagerMode = 1; //0 = None, 1 = All, 2 = None_But_Respawned, 3 = All_But_Respawned
+//wreckLimit = 20; //Vehicle wreck limit before which ( <= ) wreckRemovalMaxTime applies and after which ( > ) wreckRemovalMinTime applies.
+//wreckRemovalMinTime = 180; // Remove all wrecks that have existed longer than wreckRemovalMinTime when wreckLimit is breached.
+//wreckRemovalMaxTime = 3600; // Maximum time a wreck can remain on the ground (if total number of wrecks is equal or under wreckLimit).
+
// ============================================================================================
// F3 - Respawn Settings
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
respawn = 1;
respawndelay = 3;
respawnOnStart = 0;
-respawnTemplates[] = {"Seagull","f_spectator","f_JIP"};
+respawnTemplates[] = {"F_Spectator"};
// ============================================================================================
-
+// F3 - Revive Settings
+/*
+https://community.bistudio.com/wiki/Arma_3_Revive
+https://community.bistudio.com/wiki/Description.ext#ReviveMode
+*/
+ReviveMode = 1;
+ReviveUnconsciousStateMode = 1;
+ReviveRequiredTrait = 0;
+ReviveRequiredItems = 2;
+ReviveRequiredItemsFakConsumed = 1;
+ReviveMedicSpeedMultiplier = 2;
+reviveDelay = 15;
+reviveForceRespawnDelay = 99999;
+reviveBleedOutDelay = 240;
// F3 - Start of Notifications block.
class cfgNotifications
@@ -74,9 +111,9 @@ class cfgNotifications
priority = 5;
};
- // Notification for the F3 JIP Component
- class JIP {
- title= "REINFORCEMENTS";
+ // Notification for the F3 Group Join Component
+ class GroupJoin {
+ title= "JOIN";
description= "%1";
iconPicture = "\A3\ui_f\data\map\markers\military\flag_ca.paa";
duration = 3;
@@ -86,6 +123,19 @@ class cfgNotifications
// ============================================================================================
+// F3 - Custom sounds configuration
+
+class CfgSounds
+{
+ sounds[] = {};
+ #if __has_include("f\skulls\f_skullsSounds.hpp")
+ #include "f\skulls\f_skullsSounds.hpp"
+ #endif
+ // You can add custom sound classes after this line
+};
+
+// ============================================================================================
+
// F3 - Start of Params code blocks.
// WARNING: DO NOT DELETE OR COMMENT OUT THIS CODE BLOCK
@@ -95,7 +145,7 @@ class Params
// ============================================================================================
// F3 - Debug Mode
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// WARNING: DO NOT DISABLE THIS COMPONENT
class f_param_debugMode
@@ -109,81 +159,58 @@ class Params
// ============================================================================================
// F3 - Folk Assign Gear Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
- class f_param_loadouts
- {
- title = "$STR_f_param_loadouts";
- values[] = {0,1};
- texts[] = {"Light","Standard"};
- default = 1;
- };
+// To add an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in a faction assignGear file, and add a new assignGear loadout file named according to that block.
+// You should also enable the rig selection block in assignGear_clothes.sqf
-// ============================================================================================
-
-// F3 - Radio Systems Support
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
- class f_param_radios
- {
- title = "Radio System";
- values[] = {0,2,3};
- texts[] = {"Off","TFR","ACRE2"};
- default = 0;
- };
-
-// ============================================================================================
-
-// F3 - Medical Systems Support
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
- class f_param_medical
- {
- title = "Medical System";
- values[] = {0,1,2};
- texts[] = {"Arma 3 Default","F3 Simple Wounding System","Authentic Gameplay Mod"};
- default = 0;
- };
+// class f_param_loadouts
+ // {
+ // title = "$STR_f_param_loadouts";
+// values[] = {0,1};
+ // texts[] = {"Light","Standard"};
+ // default = 1;
+ // };
// ============================================================================================
// F3 - Mission Timer/Safe Start
-// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
class f_param_mission_timer
{
title = "$STR_f_param_mission_timer";
- values[] = {0,1,2,3,4,5,6,7,8,9,10,15};
- texts[] = {"$STR_f_param_mission_timer_off","1","2","3","4","5","6","7","8","9","10","15"};
- default = 0;
+ values[] = {0,30,60,90,120,150,180,240,300,360,420,480,540,600,900};
+ texts[] = {"$STR_f_param_mission_timer_off","0.5","1","1.5","2","2.5","3","4","5","6","7","8","9","10","15"};
+ default = 60;
};
// ============================================================================================
// F3 - Mission Conditions Selector
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
class f_param_weather
{
title = "$STR_f_param_weather";
- values[] = {0,1,2,3,4,5,6,7,8,9};
- texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather_Option1,$STR_f_param_weather_Option2,$STR_f_param_weather_Option3,$STR_f_param_weather_Option4,$STR_f_param_weather_Option5,$STR_f_param_weather_Option6,$STR_f_param_weather_Option7,$STR_f_param_weather_Option8,$STR_f_param_weather_Option11};
- default = 0;
+ values[] = {0,1,2,3,4,5,6,7,8,9,10,11};
+ texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather_Option1,$STR_f_param_weather_Option2,$STR_f_param_weather_Option3,$STR_f_param_weather_Option4,$STR_f_param_weather_Option5,$STR_f_param_weather_Option6,$STR_f_param_weather_Option7,$STR_f_param_weather_Option8,$STR_f_param_weather_Option9,$STR_f_param_weather_Option10,$STR_f_param_weather_Option11};
+ default = 11;
};
class f_param_fog
{
- title = "Override Fog";
+ title = "$STR_f_param_fog";
values[] = {0,1,2,4};
- texts[] = {"No Fog","Light Fog","Heavy Fog","Use default"};
+ texts[] = {"$STR_f_param_fog_Option0","$STR_f_param_fog_Option1","$STR_f_param_fog_Option2","$STR_f_param_fog_Option4"};
default = 4;
};
class f_param_wind
{
- title = "Override Wind";
+ title = "$STR_f_param_wind";
values[] = {0,1,2,4};
- texts[] = {"No Wind","Light Wind","Heavy Wind","Use default"};
+ texts[] = {"$STR_f_param_wind_Option0","$STR_f_param_wind_Option1","$STR_f_param_wind_Option2","$STR_f_param_wind_Option4"};
default = 4;
};
@@ -192,57 +219,70 @@ class Params
title = "$STR_f_param_timeOfDay";
values[] = {0,1,2,3,4,5,6,7,8};
texts[] = {$STR_f_param_timeOfDay_Option0,$STR_f_param_timeOfDay_Option1,$STR_f_param_timeOfDay_Option2,$STR_f_param_timeOfDay_Option3,$STR_f_param_timeOfDay_Option4,$STR_f_param_timeOfDay_Option5,$STR_f_param_timeOfDay_Option6,$STR_f_param_timeOfDay_Option7,$STR_f_param_timeOfDay_Option8};
+ default = 8;
+ };
+
+ class f_param_timeOfYear
+ {
+ title = "$STR_f_param_timeOfYear";
+ values[] = {0,1,2,3,4};
+ texts[] = {$STR_f_param_timeOfYear_Option0,$STR_f_param_timeOfYear_Option1,$STR_f_param_timeOfYear_Option2,$STR_f_param_timeOfYear_Option3,$STR_f_param_timeOfYear_Option4};
default = 4;
- function = "f_fnc_setTime"; // This function is called to apply the values
- isGlobal = 0; // Execute this only on the server
};
// ============================================================================================
// F3 - AI Skill Selector
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-/*
class f_param_AISkill_BLUFOR
{
title = "$STR_f_param_AISkill_BLUFOR";
values[] = {0,1,2,3};
texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
- default = 1;
+ default = 2;
};
-*/
-/*
class f_param_AISkill_OPFOR
{
title = "$STR_f_param_AISkill_OPFOR";
values[] = {0,1,2,3};
texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
- default = 1;
+ default = 2;
};
-*/
-/*
class f_param_AISkill_INDP
{
title = "$STR_f_param_AISkill_INDP";
values[] = {0,1,2,3};
texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
- default = 1;
+ default = 2;
};
-*/
// ============================================================================================
-// F3 - Caching
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Special Effects Parameters
+// Credits and documentation: https://github.com/folkarps/F3/wiki
- class f_param_caching
+ class f_param_gruntBirthdayParty
{
- title = "Cache AI outside distance (m)";
- values[] = {0,600,800,1000,1500,2000};
+ title = "Grunt Birthday Party";
+ values[] = {0,1,2};
+ texts[] = {"Off","Player deaths only","All"};
default = 0;
};
+
+// ============================================================================================
+
+// F3 - Caching
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+// class f_param_caching
+// {
+// title = "Cache AI outside distance (m)";
+// values[] = {0,600,800,1000,1500,2000};
+// default = 0;
+// };
// ============================================================================================
@@ -254,7 +294,7 @@ class Params
// ============================================================================================
// F3 - Briefing Template
-// Credits: BIS - Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
class CfgDebriefing
{
@@ -320,50 +360,33 @@ class CfgDebriefing
};
+
+
// ============================================================================================
-// F3 - Respawn Templates
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Respawn templates
+// DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE
+
+// ============================================================================================
class CfgRespawnTemplates
{
- // F3 Spectator Script
- class f_Spectator
- {
- onPlayerRespawn = "f_fnc_CamInit";
- };
- //Overwrite Vanilla Seagull
- class Seagull
+ class F_Spectator
{
- onPlayerRespawn = "";
+ onPlayerRespawn = "f\spect\fn_activateSpectator.sqf";
};
- // F3 JIP Menu
- class f_JIP
- {
- onPlayerRespawn = "f\JIP\f_JIP_playerRespawn.sqf";
- };
};
// ============================================================================================
-// F3 - Menu components
-// DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE
-
-// Menu components for the JIP Menu
-#include "f\JIP\f_JIP_kitpicker.h"
-#include "f\JIP\f_JIP_grppicker.h"
-
-// Menu components for the Spectator Script
-#include "f\spect\config.hpp"
-
-// ============================================================================================
-
// F3 - Functions
// DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE
class CfgFunctions
{
- #include "f\common\functions.hpp"
+ #include "f\functions.hpp"
+
+ #include "ws_fnc\config.hpp"
};
// ============================================================================================
@@ -373,3 +396,16 @@ class CfgFunctions
class CfgUnitInsignia {
#include "f\assignGear\insignia\define.hpp"
};
+class CfgRemoteExec
+{
+ // List of script functions allowed to be sent from client via remoteExec
+ class Functions
+ {
+ mode = 2;
+ };
+ // List of script commands allowed to be sent from client via remoteExec
+ class Commands
+ {
+ mode = 2;
+ };
+};
diff --git a/f/EandEcheck/f_EandECheckLoop.sqf b/f/EandEcheck/f_EandECheckLoop.sqf
index cbe2752eb..02f8847ba 100644
--- a/f/EandEcheck/f_EandECheckLoop.sqf
+++ b/f/EandEcheck/f_EandECheckLoop.sqf
@@ -1,5 +1,5 @@
// F3 - Group E&E Check
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SERVER CHECK
@@ -11,18 +11,15 @@ if !(isServer) exitWith {};
// DECLARE VARIABLES AND FUNCTIONS
-private ["_objects","_obj","_safeDistance","_alive","_safe","_end","_pos","_playersonly"];
+params [["_objects", sideUnknown, [sideUnknown, []]], "_obj", ["_safeDistance", 0, [0]], ["_end", 0, [0, {}]], ["_playersonly", true, [true]]];
+
+private ["_alive","_safe","_pos","_units","_temp"];
// ====================================================================================
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-_objects = _this select 0;
-_obj = _this select 1;
-_safeDistance = _this select 2;
-_end = _this select 3;
-_playersonly = if (count _this > 4) then {_this select 4} else {true};
_safe = 0;
_units = [];
_pos = [];
@@ -34,41 +31,37 @@ waitUntil {sleep 0.1;scriptDone f_script_setLocalVars};
// POPULATE UNITS ARRAY
// Conduct several checks against the first variable to see if we're dealing with a specific unit, a group or an array of several groups or units.
-// If a side was passed, just use the global variable generated by F3
-if (typeName _objects == "SIDE") then {
- switch (_objects) do {
- case west: {_units = f_var_men_BLU};
- case blufor: {_units = f_var_men_BLU};
- case east: {_units = f_var_men_OPF};
- case opfor: {_units = f_var_men_OPF};
- case resistance: {_units = f_var_men_RES};
- case independent: {_units = f_var_men_RES};
- case civilian: {_units = f_var_men_CIV};
- };
+if ( !(_objects isEqualType sideUnknown || _objects isEqualType []) ) exitWith {
+ player globalChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): _objects must be a side or an array! passed _objects = %1",_objects];
+};
- // If only players should be checked for, we process the units array to remove any unwanted units
+// If a side was passed, take all Units from that side
+if (_objects isEqualType sideUnknown) then {
+ private _units_available = nil;
+ //Select from all units or only from players
if (_playersonly) then {
- {
- if !(_x in playableUnits) then {_units = _units - [_x]};
- } forEach _units;
+ _units_available = playableUnits;
+ } else {
+ _units_available = f_var_men;
};
+ //Filter available units by side
+ _units = _units_available select { (side _x) == _objects};
// Otherwise populate the units array using the passed strings, checking if it's either a group or a unit
} else {
{
-
if(!isnil _x) then
{
_temp = call compile format ["%1",_x];
player globalchat format ["%1",typeName _temp];
- if (typename _temp == "GROUP") then {
+ if (_temp isEqualType grpNull) then {
{
if !(_x in _units) then {
- _units set [count _units,_x];
+ _units pushBack _x;
};
} forEach units _temp;
} else {
if !(_x in _units) then {
- _units set [count _units,_temp];
+ _units pushBack _temp;
};
};
};
@@ -83,10 +76,12 @@ if (count _units == 0) exitWith {player globalchat format ["DEBUG (f\EandECheck\
// GET SAFE-ZONE POSITION
// Get a position for the safe-zone
-switch (typeName _obj) do {
- case "STRING": {_pos = getMarkerPos _obj};
- case "OBJECT": {_pos = getPosATL _obj};
- default {_pos = getPosATL _obj};
+if (_safeDistance > 0) then {
+ switch (typeName _obj) do {
+ case "STRING": {_pos = getMarkerPos _obj};
+ case "OBJECT": {_pos = getPosATL _obj};
+ default {_pos = getPosATL _obj};
+ };
};
// ====================================================================================
@@ -97,40 +92,44 @@ switch (typeName _obj) do {
while {true} do
{
-// ESTABLISH GROUP SIZE
-// We begin by establishing how many units remain alive in the group. We use this to
-// establish a baseline value to compare against.
+ // ESTABLISH GROUP SIZE
+ // We begin by establishing how many units remain alive in the group. We use this to
+ // establish a baseline value to compare against.
-_alive = {alive _x} count _units;
-if (_alive == 0) exitWith {_safe = 0};
+ _alive = {alive _x} count _units;
+ if (_alive == 0) exitWith {_safe = 0};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- player sideChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): _alive = %1",_alive];
-};
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): _alive = %1",_alive];
+ };
-// ====================================================================================
+ // ====================================================================================
-// CHECK PROXIMITY
-// We then check how many of the units are within the required proximity to the
-// objective; if all units qualify then we exit the script.
+ // CHECK PROXIMITY
+ // We then check how many of the units are within the required proximity to the
+ // objective; if all units qualify then we exit the script.
-_safe = {(_x distance _pos < _safeDistance)} count _units;
+ if (_safeDistance <= 0) then {
+ _safe = {_x inArea _obj} count _units;
+ } else {
+ _safe = {(_x distance _pos < _safeDistance)} count _units;
+ };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- player sideChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): _safe = %1",_safe];
-};
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): _safe = %1",_safe];
+ };
-// As soon as all units have reached the safe-zone, the loop exits
-if (_alive == _safe) exitWith {};
-_safe = 0;
+ // As soon as all units have reached the safe-zone, the loop exits
+ if (_alive == _safe) exitWith {};
+ _safe = 0;
-// ====================================================================================
+ // ====================================================================================
-sleep 3;
+ sleep 3;
};
// ====================================================================================
@@ -139,13 +138,11 @@ sleep 3;
// Depending on input, either MPEnd or the parsed code itself is called
if (_safe > 0) then {
- if (typeName _end == typeName 0) exitWith {
+ if (_end isEqualType 0) exitWith {
[_end] call f_fnc_mpEnd;
};
- if (typeName _end == typeName {}) exitWith {
- [_end,"bis_fnc_spawn",true] call BIS_fnc_MP;
+ if (_end isEqualType {}) exitWith {
+ _end remoteExec ["bis_fnc_spawn",0];
};
};
-
-player GlobalChat format ["DEBUG (f\EandECheck\f_EandECheckLoop.sqf): Ending didn't fire, should either be code or scalar. _end = %1, typeName _end: %2",_end,typeName _end];
\ No newline at end of file
diff --git a/f/FTMemberMarkers/f_localFTMemberMarker.sqf b/f/FTMemberMarkers/f_localFTMemberMarker.sqf
index 034ad9a39..5b94719c9 100644
--- a/f/FTMemberMarkers/f_localFTMemberMarker.sqf
+++ b/f/FTMemberMarkers/f_localFTMemberMarker.sqf
@@ -1,17 +1,18 @@
// F3 - Fireteam Member Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE PRIVATE VARIABLES
-private ["_unit","_mkrType","_mkrColor","_mkrName","_mkr","_mkrBorder","_pos"];
+private ["_mkrName","_mkr","_mkrBorder","_pos","_mkrborderName","_dir"];
// ====================================================================================
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-_unit = _this select 0;
+params [["_unit", objNull, [objNull]]];
+
_mkrName = Format ["mkr_%1",_unit];
_mkrborderName = Format ["mkrB_%1",_unit];
@@ -37,7 +38,6 @@ _mkr setMarkerSizeLocal [0.45, 0.45];
_mkr setMarkerDirLocal (direction _unit);
-
// ====================================================================================
// Run the loop that sets the marker position
@@ -54,7 +54,7 @@ while{alive _unit && (_unit in f_var_HandlerGroup)} do
_mkr setMarkerDirLocal _dir;
// makes a call to the function defined in f_setLocalFTMemberMarkers.sqf
// retreives the stored color from the unit.
- _mkr setMarkerColorLocal (_unit getvariable ["assignedTeam","ColorWhite"]);
+ _mkr setMarkerColorLocal ([_unit] call f_fnc_GetUpdatedTeamValue);
} else {
f_var_HandlerGroup = f_var_HandlerGroup - [_unit];
};
@@ -67,4 +67,3 @@ while{alive _unit && (_unit in f_var_HandlerGroup)} do
//He's dead Jim, let's clear up obsolete markers
deleteMarkerLocal _mkrBorder;
deleteMarkerLocal _mkr;
-
diff --git a/f/FTMemberMarkers/fn_GetMarkerColor.sqf b/f/FTMemberMarkers/fn_GetMarkerColor.sqf
index 627e392fd..ec6dd1b37 100644
--- a/f/FTMemberMarkers/fn_GetMarkerColor.sqf
+++ b/f/FTMemberMarkers/fn_GetMarkerColor.sqf
@@ -1,5 +1,5 @@
// F3 - Convert teamcolors to markercolor.
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// Description: Converts group team colors to Marker colors
// Parameters
// 0: String (MAIN,RED,GREEN,BLUE,YELLOW)
@@ -9,13 +9,15 @@
// ["MAIN"] call f_fnc_GetMarkerColor;
//
// ====================================================================================
-_color = "ColorWhite";
-switch ((_this select 0)) do
+params [["_team", "MAIN", [""]]];
+
+private _color = "ColorWhite";
+switch (_team) do
{
- case "MAIN": {_color = "ColorWhite"};
- case "RED": {_color = "ColorRed"};
- case "GREEN": {_color = "ColorGreen"};
- case "BLUE": {_color = "ColorBlue"};
- case "YELLOW": {_color = "ColorYellow"};
+ case "MAIN": {_color = "ColorWhite"};
+ case "RED": {_color = "ColorRed"};
+ case "GREEN": {_color = "ColorGreen"};
+ case "BLUE": {_color = "ColorBlue"};
+ case "YELLOW": {_color = "ColorYellow"};
};
_color
diff --git a/f/FTMemberMarkers/fn_LocalFTMarkerSync.sqf b/f/FTMemberMarkers/fn_LocalFTMarkerSync.sqf
deleted file mode 100644
index a803978ef..000000000
--- a/f/FTMemberMarkers/fn_LocalFTMarkerSync.sqf
+++ /dev/null
@@ -1,51 +0,0 @@
-// F3 - Fireteam Marker Team Color Synchronization
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// Description: Sync the groups teamcolors to other players in the group.
-// Parameters
-// 0: Group
-// 1: Unit
-// Returns:
-// Nothing
-// Example:
-// [grp,unit] call f_fnc_LocalFTMarkerSync;
-//
-// ====================================================================================
-
-private ["_colorTeam"];
-params["_grp", "_unit"];
-
-// ====================================================================================
-
-// BEGIN SYNCHRONIZATION
-// if he is still alive and groupLeader
-
-while{_unit == (leader _grp) && alive _unit} do
-{
- {
- // if unit in my group is alive lets check his teamColor
- if(alive _x) then
- {
- _colorTeam = [assignedTeam _x] call f_fnc_GetMarkerColor;
- // if _colorTeam is not equal to whatever is set on the unit we must update the other units in the group
- if((_x getvariable ["assignedTeam","ColorWhite"]) != _colorTeam) then
- {
- // debug messages
- if (f_param_debugMode == 1) then {player sidechat format["%1 ---- %2 by %3",(_x getvariable ["assignedTeam","ColorWhite"]) ,_colorTeam,_unit];};
-
- // sends a call to each unit in the group to use the local with the [x_colorTeam] as args.
- [[_x,_colorTeam] , "f_fnc_SetTeamValue", _grp, false] spawn BIS_fnc_MP;
- };
- };
-
- } foreach units _grp;
- sleep 3;
-};
-
-// if the group is not gone.
-if(!isnil "_grp") then
-{
- // get the new leader
- _x = leader _grp;
- // tell him to start running the sync.
- [[_grp,_x] , "f_fnc_LocalFTMarkerSync",_x, false] spawn BIS_fnc_MP;
-};
\ No newline at end of file
diff --git a/f/FTMemberMarkers/fn_SetLocalFTMemberMarkers.sqf b/f/FTMemberMarkers/fn_SetLocalFTMemberMarkers.sqf
index ad841b411..58cdf7bb6 100644
--- a/f/FTMemberMarkers/fn_SetLocalFTMemberMarkers.sqf
+++ b/f/FTMemberMarkers/fn_SetLocalFTMemberMarkers.sqf
@@ -1,5 +1,5 @@
// F3 - Fireteam Member Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// Description: Launches the main part of the FireTeam Member markers.
// Parameters
// Nothing.
@@ -10,23 +10,43 @@
//
// ====================================================================================
+if (!hasInterface) exitWith {};
+
// MAKE SURE THE PLAYER INITIALIZES PROPERLY
if (!isDedicated && (isNull player)) then
{
- waitUntil {sleep 0.1; !isNull player};
+ waitUntil {sleep 0.1; !isNull player};
};
+// Don't run this for zeus and virtual spectators
+if (side player isEqualto sideLogic) exitWith {};
+
// ====================================================================================
// DEFINE HELPER-FUNCTION
-// Define a small function to set a unit's team color
+// Define a small function to get/set a unit's team color
+// This function updates the assignedTeam variable
+// if assignedTeam returns a new team(color).
-f_fnc_SetTeamValue =
+f_fnc_GetUpdatedTeamValue =
{
- params["_unit", "_color"];
- _unit setvariable ["assignedTeam",_color];
+ params["_unit"];
+ private _team = assignedTeam _unit;
+ private _color = _unit getvariable ["assignedTeam","ColorWhite"];
+ //_team can be nil if the player is controlling another unit (uav, zeus).
+ if(!isNil "_team") then
+ {
+ private _colorNew = [_team] call f_fnc_GetMarkerColor;
+ if(_color != _colorNew) then
+ {
+ _unit setVariable ["assignedTeam",_colorNew];
+ _color = _colorNew;
+ };
+ };
+ _color
};
+
// ====================================================================================
// START DRAWING MARKERS
@@ -41,21 +61,9 @@ f_fnc_SetTeamValue =
if(!(_x in f_var_HandlerGroup) && alive _x) then
{
[_x] execVM "f\FTMemberMarkers\f_localFTMemberMarker.sqf";
- f_var_HandlerGroup set [count f_var_HandlerGroup,_x];
+ f_var_HandlerGroup pushBack _x;
};
} forEach units (group player);
- sleep 5;
+ sleep 5;
};
-
- //f_var_HandlerGroup = [];
-};
-
-// ====================================================================================
-
-// SYNCHRONIZE TEAM COLORS
-// If the player is the groupleader he will take charge of updateing the other units of the colorvalue.
-
-if(player == leader (group player)) then
-{
- [group player,player] spawn f_fnc_LocalFTMarkerSync;
};
diff --git a/f/JIP/f_JIP_addReinforcementOptionsAction.sqf b/f/JIP/f_JIP_addReinforcementOptionsAction.sqf
deleted file mode 100644
index f5dd6f0e8..000000000
--- a/f/JIP/f_JIP_addReinforcementOptionsAction.sqf
+++ /dev/null
@@ -1,26 +0,0 @@
-// F3 - JIP Add Reinforcement Options Action
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_unit","_textAction"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-
-_unit = _this select 0;
-_textAction = localize "STR_f_JIP_reinforcementOptionsAction";
-
-// PREVENT THE JIP AI UNITS FROM FOLLOWING THEIR LEADER/MOVING AWAY
-_unit disableAI "move";
-
-// ====================================================================================
-
-// ADD REINFORCEMENT OPTIONS ACTION TO PLAYER ACTION MENU
-// We add the action to the player's action menu.
-
-if (_unit == player) then {
- F3_JIP_reinforcementOptionsAction = player addaction ["" + _textAction + "","f\JIP\f_JIP_reinforcementOptions.sqf",[],6,true,false,"","_target == player"];
-};
\ No newline at end of file
diff --git a/f/JIP/f_JIP_common.h b/f/JIP/f_JIP_common.h
deleted file mode 100644
index d82ad5dea..000000000
--- a/f/JIP/f_JIP_common.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef COMMON_H
-#define COMMON_H
-
-#define CT_STATIC 0
-#define CT_BUTTON 1
-#define CT_COMBO 4
-#define NOSOUND {"", 0, 1}
-
-class CommonSettings
-{
- sizeEx = 0.03921;
- colorText[] = {0.97, 0.78,0.13, 1};
- colorFocused[] = {0.97, 0.78,0.13, 1};
- colorBackground[] = {0.25, 0.23, 0.20, 1};
- colorBackgroundActive[] = {0.27, 0.25, 0.25, 1};
- colorBackgroundFocused[] = {0.27, 0.25, 0.25, 1};
- colorBackgroundDisabled[] = {0.15, 0.15, 0.15, 1};
- colorDisabled[] = {0.25, 0.23, 0.20, 1};
- colorShadow[] = {0,0,0,1};
- colorBorder[] = {0,0,0,1};
- borderSize = 0;
- font = "PuristaLight";
- style = 0;
- x = SafeZoneX;
- y = SafeZoneY;
- w = 0.1;
- h = 0.1;
- offsetX = 0;
- offsetY = 0;
- offsetPressedX = 0;
- offsetPressedY = 0;
- soundEnter[] = NOSOUND;
- soundPush[] = NOSOUND;
- soundClick[] = NOSOUND;
- soundEscape[] = NOSOUND;
- text = "";
-};
-
-#endif
diff --git a/f/JIP/f_JIP_grpPicker.h b/f/JIP/f_JIP_grpPicker.h
deleted file mode 100644
index bf51fcb4d..000000000
--- a/f/JIP/f_JIP_grpPicker.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#include "f_JIP_common.h"
-
-class GrpPicker
-{
- idd = -1;
- movingEnable = 1;
- enableSimulation = 1;
- enableDisplay = 1;
-
- onLoad = "if (isNil 'GrpPickInit') then {call compile preprocessFileLineNumbers 'f\JIP\f_JIP_grpPicker.sqf'}; _this call GrpPickInit;";
-
- class controlsBackground
- {
- class BG : CommonSettings
- {
- idc = -1;
- type = CT_STATIC;
- moving = 1;
- w = 0.4;
- h = 0.25;
- x = SafeZoneX + 0.2;
- y = SafeZoneY + 0.2;
- };
- class Prefix : CommonSettings
- {
- idc = -1;
- type = CT_STATIC;
- moving = 1;
- w = 0.4;
- h = 0.05;
- x = SafeZoneX + 0.2;
- y = SafeZoneY + 0.2;
- text = "Select group to join";
- };
- }
-
- class controls
- {
- class GrpList : CommonSettings
- {
- idc = 1;
- type = CT_COMBO;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.26;
- w = 0.35;
- h = 0.035;
- wholeHeight = 0.45;
-
- colorBackground[] = {0.43, 0.39 ,0.32, 1};
- colorBorder[] = {0.43, 0.39 ,0.32, 1};
- colorText[] = {0.97, 0.78, 0.13, 1};
- colorSelect[] = {0.97, 0.78, 0.13, 1};
- colorSelectBackground[] = {0.62, 0.57, 0.49, 1};
- colorSelectBackground2[] = {0.62, 0.57, 0.49, 1};
- soundSelect[] = NOSOUND;
- soundExpand[] = NOSOUND;
- soundCollapse[] = NOSOUND;
-
- maxHistoryDelay = 1.0;
- class ComboScrollBar
- {
- color[] = {1, 1, 1, 0.6};
- colorActive[] = {1, 1, 1, 1};
- colorDisabled[] = {1, 1, 1, 0.3};
- thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
- border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
- };
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
-
- onLBSelChanged = "call GrpPicker_OnSelChanged";
- };
-
-/*
- class CancelButton : CommonSettings
- {
- idc = 2;
- type = CT_BUTTON;
- w = 0.2;
- h = 0.05;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.37;
- text = "Cancel";
- };
-*/
-
- class AcceptButton : CommonSettings
- {
- idc = 3;
- type = CT_BUTTON;
- w = 0.2;
- h = 0.05;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.31;
- text = "Join this group";
- action = "call GrpPicker_Pick";
- };
- };
-};
diff --git a/f/JIP/f_JIP_grpPicker.sqf b/f/JIP/f_JIP_grpPicker.sqf
deleted file mode 100644
index 79d7356cf..000000000
--- a/f/JIP/f_JIP_grpPicker.sqf
+++ /dev/null
@@ -1,77 +0,0 @@
-#define DLG (uiNamespace getVariable "GrpPick_Dlg")
-#define COMBO (uiNamespace getVariable "GrpPick_Combo")
-#define USEBUTTON (uiNamespace getVariable "GrpPick_UseBtn")
-
-GrpPickInit =
-{
- uiNamespace setVariable ["GrpPick_Dlg", _this select 0];
- uiNamespace setVariable ["GrpPick_Combo", (_this select 0) displayCtrl 1];
- uiNamespace setVariable ["GrpPick_UseBtn", (_this select 0) displayCtrl 3];
-
- USEBUTTON ctrlEnable false;
- GrpList = [];
- GrpCount = 0;
- {
- private "_grp";
- _grp = _x;
- if (side(_grp) == side(player) && {(faction (leader _grp) == faction player ) && (alive (leader _grp)) && !(_grp == group player)}) then
- {
- GrpList set [GrpCount, _grp];
- private "_idx";
- _idx = COMBO lbAdd str(_grp); COMBO lbSetValue [_idx, GrpCount + 1];
- GrpCount = GrpCount + 1;
- };
-
- if (_grp == group player && {count units _grp > 1}) then {
- GrpList set [GrpCount, _grp];
- private "_idx";
- _idx = COMBO lbAdd ("Stay in " + str(_grp)); COMBO lbSetValue [_idx, GrpCount + 1];
- GrpCount = GrpCount + 1;
- };
- } forEach allGroups;
-
- GrpList set [GrpCount, grpNull];
- _idx = COMBO lbAdd "NONE"; COMBO lbSetValue [_idx, GrpCount + 1];
-
- _sel = player getVariable "GrpPicker_Selection";
- if (!isNil '_sel') then
- {
- COMBO lbSetCurSel _sel;
- };
-};
-
-GrpPicker_Pick =
-{
- private "_idx";
- _idx = lbCurSel COMBO;
- if (_idx < 0) exitWith {};
-
- private "_data";
- _data = COMBO lbValue _idx;
- if (_data == 0) exitWith {};
-
- private "_grp";
- _grp = GrpList select (_data - 1);
-
- closeDialog 0;
- player setVariable ["f_var_JIP_grp", _grp];
- player setVariable ["GrpPicker_Selection", _idx];
- f_var_JIP_state = 1;
-};
-
-GrpPicker_OnSelChanged =
-{
- private "_idx";
- _idx = lbCurSel COMBO;
- if (_idx < 0) exitWith
- {
- USEBUTTON ctrlEnable false;
- };
-
- _data = COMBO lbValue _idx;
- if (_data == 0) exitWith
- {
- USEBUTTON ctrlEnable false;
- };
- USEBUTTON ctrlEnable true;
-};
diff --git a/f/JIP/f_JIP_kitPicker.h b/f/JIP/f_JIP_kitPicker.h
deleted file mode 100644
index 66b4620b0..000000000
--- a/f/JIP/f_JIP_kitPicker.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "f_JIP_common.h"
-
-class KitPicker
-{
- idd = -1;
- movingEnable = 1;
- enableSimulation = 1;
- enableDisplay = 1;
-
- onLoad = "if (isNil 'KitPickInit') then {call compile preprocessFileLineNumbers 'f\JIP\f_JIP_kitPicker.sqf'}; _this call KitPickInit;";
-
- class controlsBackground
- {
- class BG : CommonSettings
- {
- idc = -1;
- type = CT_STATIC;
- moving = 1;
- w = 0.4;
- h = 0.25;
- x = SafeZoneX + 0.2;
- y = SafeZoneY + 0.2;
- };
- class Prefix : CommonSettings
- {
- idc = -1;
- type = CT_STATIC;
- moving = 1;
- w = 0.2;
- h = 0.05;
- x = SafeZoneX + 0.2;
- y = SafeZoneY + 0.2;
- text = "Kit picker";
- };
- };
-
- class controls
- {
- class KitList : CommonSettings
- {
- idc = 1;
- type = CT_COMBO;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.26;
- w = 0.35;
- h = 0.035;
- wholeHeight = 0.45;
-
- colorBackground[] = {0.43, 0.39 ,0.32, 1};
- colorBorder[] = {0.43, 0.39 ,0.32, 1};
- colorText[] = {0.97, 0.78, 0.13, 1};
- colorSelect[] = {0.97, 0.78, 0.13, 1};
- colorSelectBackground[] = {0.62, 0.57, 0.49, 1};
- colorSelectBackground2[] = {0.62, 0.57, 0.49, 1};
- soundSelect[] = NOSOUND;
- soundExpand[] = NOSOUND;
- soundCollapse[] = NOSOUND;
-
- maxHistoryDelay = 1.0;
- class ComboScrollBar
- {
- color[] = {1, 1, 1, 0.6};
- colorActive[] = {1, 1, 1, 1};
- colorDisabled[] = {1, 1, 1, 0.3};
- thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
- border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
- };
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
-
- onLBSelChanged = "call KitPicker_OnSelChanged";
- };
-
-/*
- class CancelButton : CommonSettings
- {
- idc = 2;
- type = CT_BUTTON;
- w = 0.2;
- h = 0.05;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.37;
- text = "Cancel";
- };
-*/
-
- class AcceptButton : CommonSettings
- {
- idc = 3;
- type = CT_BUTTON;
- w = 0.2;
- h = 0.05;
- x = SafeZoneX + 0.23;
- y = SafeZoneY + 0.31;
- text = "Use this gear";
- action = "call KitPicker_Pick";
- };
- };
-};
-
diff --git a/f/JIP/f_JIP_kitPicker.sqf b/f/JIP/f_JIP_kitPicker.sqf
deleted file mode 100644
index 3d4775bad..000000000
--- a/f/JIP/f_JIP_kitPicker.sqf
+++ /dev/null
@@ -1,68 +0,0 @@
-#define DLG (uiNamespace getVariable "KitPick_Dlg")
-#define COMBO (uiNamespace getVariable "KitPick_Combo")
-#define USEBUTTON (uiNamespace getVariable "KitPick_UseBtn")
-
-KitPickInit =
-{
- uiNamespace setVariable ["KitPick_Dlg", _this select 0];
- uiNamespace setVariable ["KitPick_Combo", (_this select 0) displayCtrl 1];
- uiNamespace setVariable ["KitPick_UseBtn", (_this select 0) displayCtrl 3];
-
- USEBUTTON ctrlEnable false;
-
- private "_idx";
- _idx = COMBO lbAdd "Commander"; COMBO lbSetData [_idx, "co"];
- _idx = COMBO lbAdd "Deputy Commander"; COMBO lbSetData [_idx, "dc"];
- COMBO lbAdd "----";
-
- _idx = COMBO lbAdd "Fire Team Leader"; COMBO lbSetData [_idx, "ftl"];
- _idx = COMBO lbAdd "Automatic Rifleman"; COMBO lbSetData [_idx, "ar"];
- _idx = COMBO lbAdd "Asst. Automatic Rifleman"; COMBO lbSetData [_idx, "aar"];
- _idx = COMBO lbAdd "Rifleman (AT)"; COMBO lbSetData [_idx, "rat"];
- COMBO lbAdd "----";
-
- _idx = COMBO lbAdd "Engineer (no repair)"; COMBO lbSetData [_idx, "eng"];
- COMBO lbAdd "----";
-
- _idx = COMBO lbAdd "Rifleman"; COMBO lbSetData [_idx, "r"];
- _idx = COMBO lbAdd "Carabineer"; COMBO lbSetData [_idx, "car"];
- _idx = COMBO lbAdd "Submachinegunner"; COMBO lbSetData [_idx, "smg"];
-
- _sel = player getVariable "KitPicker_Selection";
- if (!isNil '_sel') then
- {
- COMBO lbSetCurSel _sel;
- };
-};
-
-KitPicker_Pick =
-{
- private "_idx";
- _idx = lbCurSel COMBO;
- if (_idx < 0) exitWith {};
-
- _data = COMBO lbData _idx;
- if (_data == "") exitWith {};
-
- closeDialog 0;
- player setVariable ["f_var_JIP_loadout", _data];
- player setVariable ["KitPicker_Selection", _idx];
- f_var_JIP_state = 3;
-};
-
-KitPicker_OnSelChanged =
-{
- private "_idx";
- _idx = lbCurSel COMBO;
- if (_idx < 0) exitWith
- {
- USEBUTTON ctrlEnable false;
- };
-
- _data = COMBO lbData _idx;
- if (_data == "") exitWith
- {
- USEBUTTON ctrlEnable false;
- };
- USEBUTTON ctrlEnable true;
-};
diff --git a/f/JIP/f_JIP_nearTargetGroupCheck.sqf b/f/JIP/f_JIP_nearTargetGroupCheck.sqf
deleted file mode 100644
index 7c6ace6a3..000000000
--- a/f/JIP/f_JIP_nearTargetGroupCheck.sqf
+++ /dev/null
@@ -1,63 +0,0 @@
-// F3 - JIP Near Target Group Check
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_grp","_joinDistance"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-// Using variables passed to the script instance, we will create some local variables:
-
-_grp = _this select 0;
-_joinDistance = _this select 1;
-
-// ====================================================================================
-
-if (isNull _grp) exitWith {
- [player] joinSilent grpNull;
-};
-
-while {true} do
-{
-
-// ====================================================================================
-
-// ESTABLISH TARGET GROUP SIZE
-// We begin by establishing how many units remain alive in the group. We use this to
-// establish a baseline value to compare against.
-
-if ({alive _x} count (units _grp) == 0) exitWith {
- [player] execVM "f\JIP\f_JIP_addReinforcementOptionsAction.sqf";
- ["JIP",[format ["All members of %1 have died. Please select a new group",_grp]]] call BIS_fnc_showNotification;
-};
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- player sideChat format ["DEBUG (f\JIP\f_JIP_nearTargetGroupCheck.sqf): _alive = %1",_alive];
-};
-
-// ====================================================================================
-
-sleep 3;
-
-// CHECK PROXIMITY
-// We then check how many of the units are within the required proximity to the
-// objective; if all units qualify then we exit the loop.
-
- if (((leader _grp) distance player) < _joinDistance) exitWith {
- [player] joinSilent _grp;
-
- ["JIP",[format ["You have joined %1",_grp]]] call BIS_fnc_showNotification;
-
- _unit = player;
- [["JIP",[format ["%1 has joined your group.",name _unit]]],"BIS_fnc_showNotification",units (_this select 3) - [_unit]] spawn BIS_fnc_MP;
-
- sleep 1;
- };
-
-};
-
diff --git a/f/JIP/f_JIP_playerRespawn.sqf b/f/JIP/f_JIP_playerRespawn.sqf
deleted file mode 100644
index de51d9833..000000000
--- a/f/JIP/f_JIP_playerRespawn.sqf
+++ /dev/null
@@ -1,81 +0,0 @@
-// F3 - Respawn INIT
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// Only run this for players
-if (isDedicated) exitWith{};
-
-// ====================================================================================
-
-// MAKE SURE THE PLAYER INITIALIZES PROPERLY
-if (!isDedicated && (isNull player)) then
-{
- waitUntil {sleep 0.1; !isNull player};
-};
-
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_unit","_corpse"];
-
-// ====================================================================================
-
-// SETUP KEY VARIABLES
-// The Respawn eventhandler passes two parameters: the unit a player has respawned in and the corpse of the old unit.
-
-_unit = _this select 0;
-_corpse = _this select 1;
-
-// Exit if the unit doesn't exist (can occur when JIPing into missions with no respawn)
-if (isNil "_unit") exitWith {};
-
-// ====================================================================================
-
-// CHECK FOR GLOBAL VARIABLES
-// Check if the global variables have been initialized, if not, do so with the default values.
-
-if (isNil "f_var_JIP_FirstMenu") then {f_var_JIP_FirstMenu = false};
-if (isNil "f_var_JIP_GearMenu") then {f_var_JIP_GearMenu = true};
-if (isNil "f_var_JIP_RemoveCorpse") then {f_var_JIP_RemoveCorpse = false};
-
-// ===================================================================================
-
-// CHECK FOR FIRST TIME SPAWN
-// If no corpse exists the player is spawned for the first time. By default, he won't get the JIP menu in that case.
-
-if (!f_var_JIP_FirstMenu && isNull _corpse) exitWith {};
-
-// ====================================================================================
-
-// CHECK FOR GEAR
-// If gear selection is disabled and the unit uses the loadout assigned by the F3 assign Gear component or it's default loadout.
-
-if (!f_var_JIP_GearMenu) then {
- if (typeName (_unit getVariable "f_var_assignGear") == typeName "") then {
- _loadout = (_unit getVariable "f_var_assignGear");
- [_loadout,player] call f_fnc_assignGear;
- };
-};
-
-// ====================================================================================
-
-// ADD JIP MENU TO PLAYER
-// Check if player already has the JIP Menu. If not, add it.
-
-if (isNil "F3_JIP_reinforcementOptionsAction") then {
- [player] execVM "f\JIP\f_JIP_addReinforcementOptionsAction.sqf";
-};
-
-// ====================================================================================
-
-// REMOVE CORPSE
-// If activated and respawn is allowed, the old corpse will be sink into the ground and is then removed from the game
-
-if (typeof _unit != "seagull" && {f_var_JIP_RemoveCorpse && !isNull _corpse}) then {
- _corpse spawn {
- hideBody _this;
- sleep 60;
- deleteVehicle _this;
- };
-};
diff --git a/f/JIP/f_JIP_reinforcementOptions.sqf b/f/JIP/f_JIP_reinforcementOptions.sqf
deleted file mode 100644
index ffad5c05e..000000000
--- a/f/JIP/f_JIP_reinforcementOptions.sqf
+++ /dev/null
@@ -1,65 +0,0 @@
-// F3 - JIP Reinforcement Options
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_unit","_textAction","_grp","_joinDistance","_loadout"];
-
-// ====================================================================================
-
-// ALLOW PLAYER TO SELECT GROUP
-// Using a dialog we allow the player to select the group s/he is going to [re-]join.
-
-["JIP",["Select the group to join."]] call BIS_fnc_showNotification;
-
-f_var_JIP_state = 0;
-createDialog "GrpPicker";
-waitUntil {f_var_JIP_state == 1};
-_grp = (player getVariable "f_var_JIP_grp");
-
-// ====================================================================================
-
-// ALLOW PLAYER TO SELECT LOADOUT
-// Using a dialog we allow the player to select the loadout s/he requires.
-
-f_var_JIP_state = 2;
-if (f_var_JIP_GearMenu) then {
- ["JIP",["Select your gear kit."]] call BIS_fnc_showNotification;
-
- createDialog "KitPicker";
- waitUntil {f_var_JIP_state == 3};
-
- _loadout = (player getVariable "f_var_JIP_loadout");
- [_loadout,player] call f_fnc_assignGear;
-};
-
-// ====================================================================================
-
-// REMOVE REINFORCEMENT OPTIONS ACTION TO PLAYER ACTION MENU
-// We remove the action to the player's action menu.
-// NB This is on the assumption that the player has made positive selections and not
-// cancelled the menu.
-
-player removeAction F3_JIP_reinforcementOptionsAction;
-F3_JIP_reinforcementOptionsAction = nil;
-
-// ====================================================================================
-
-// IMPLEMENT CHOICES
-// Using the choices made by the player we implement the desired loadout and set the
-// target group for her/him to join.
-// If the player is already in the group, he simply remains there
-
-_joinDistance = 10;
-
-if (_grp != group player) then {
- [player] joinSilent grpNull;
-
- if (!isNull _grp) then {
- [_grp,_joinDistance] execVM "f\JIP\f_JIP_nearTargetGroupCheck.sqf";
- ["JIP",[format ["Selection successful. Get within %2m of %1 to link up.",name leader _grp,_joinDistance]]] call BIS_fnc_showNotification;
- };
-};
-
-
diff --git a/f/assignGear/f_assignGear_3IFB.sqf b/f/assignGear/f_assignGear_3IFB.sqf
new file mode 100644
index 000000000..8ee327379
--- /dev/null
+++ b/f/assignGear/f_assignGear_3IFB.sqf
@@ -0,0 +1,380 @@
+// F3 - Folk ARPS Assign Gear Script - 3IFB
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DEFINE EQUIPMENT TABLES
+// The blocks of code below identifies equipment for this faction
+//
+// Defined loadouts:
+// co - commander
+// dc - deputy commander / squad leader
+// m - medic
+// cls - combat life saver
+// ftl - fire team leader
+// ar - automatic rifleman
+// aar - assistant automatic rifleman
+// rat - rifleman (AT)
+// dm - designated marksman
+// mmgl - medium mg team leader
+// mmgg - medium mg gunner
+// mmgag - medium mg assistant
+// matl - medium AT team leader
+// matg - medium AT gunner
+// matag - medium AT assistant
+// hmgg - heavy mg gunner (deployable)
+// hmgag - heavy mg assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
+// mtrg - mortar gunner (deployable)
+// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
+// msamg - medium SAM gunner
+// msamag - medium SAM assistant gunner
+// hsamg - heavy SAM gunner (deployable)
+// hsamag - heavy SAM assistant gunner (deployable)
+// sn - sniper
+// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
+// vc - vehicle commander
+// vg - vehicle gunner
+// vd - vehicle driver (repair)
+// pc - air vehicle crew
+// jp - jet pilot
+// eng - engineer (demo)
+// engm - engineer (mines)
+// uav - UAV operator
+// div - divers
+//
+// r - rifleman
+// car - carabineer
+// smg - submachinegunner
+// gren - grenadier
+//
+// v_car - car/4x4
+// v_tr - truck
+// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
+//
+// crate_small - small ammocrate
+// crate_med - medium ammocrate
+// crate_large - large ammocrate
+//
+// ====================================================================================
+
+// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
+
+// ATTACHMENTS - PRIMARY
+_attach1 = "acc_pointer_IR"; // IR Laser
+_attach2 = "acc_flashlight"; // Flashlight
+
+_silencer1 = "muzzle_snds_B"; // 7.62 suppressor
+_silencer2 = "muzzle_snds_H"; // 6.5 suppressor
+
+_scope1 = "optic_ACO"; // ACO
+_scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
+_scope3 = "optic_KHS_old"; // SOS Scope - 18x - 75x
+
+_bipod1 = "bipod_01_F_mtp"; // Default bipod
+_bipod2 = "bipod_02_F_blk"; // Black bipod
+
+// Default setup
+_attachments = []; // The default attachment set for most units, overwritten in the individual unitType
+
+// [] = remove all
+// [_attach1,_scope1,_silencer] = remove all, add items assigned in _attach1, _scope1 and _silencer1
+// [_scope2] = add _scope2, remove rest
+// false = keep attachments as they are
+
+// ====================================================================================
+
+// ATTACHMENTS - HANDGUN
+_hg_silencer1 = ""; // No suppressor for Zubr
+
+_hg_scope1 = "optic_MRD"; // MRD
+
+// Default setup
+_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
+
+// ====================================================================================
+
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
+// WEAPON SELECTION
+
+// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
+_rifle = selectRandom ["arifle_AK12_F","arifle_AKM_F","arifle_AKM_F"];// Slight randomization, biased towards AKM
+_riflemag = "30Rnd_762x39_Mag_F";
+_riflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+
+// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
+_carbine = selectRandom ["arifle_AK12_F","arifle_AKM_F","arifle_AKM_F"]; // Slight randomization, biased towards AKM
+_carbinemag = "30Rnd_762x39_Mag_F";
+_carbinemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+
+// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
+_smg = "arifle_AKS_F";
+_smgmag = "30Rnd_545x39_Mag_F";
+
+// Diver
+_diverWep = "arifle_SDAR_F";
+_diverMag1 = "30Rnd_762x39_Mag_F";
+_diverMag2 = "30Rnd_556x45_Stanag_Tracer_Yellow";
+_diverMag3 = "20Rnd_556x45_UW_mag";
+
+// Rifle with GL and HE grenades (CO, DC, FTLs)
+_glrifle = "arifle_AK12_GL_F"; // Slight randomization, biased towards TRG
+_glriflemag = "30Rnd_762x39_Mag_F";
+_glriflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+_glmag = "1Rnd_HE_Grenade_shell";
+
+// Smoke for FTLs, Squad Leaders, etc
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
+_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
+
+// Flares for FTLs, Squad Leaders, etc
+_glflarewhite = "UGL_FlareWhite_F";
+_glflarered = "UGL_FlareRed_F";
+_glflareyellow = "UGL_FlareYellow_F";
+_glflaregreen = "UGL_FlareGreen_F";
+
+// Pistols (CO, DC, Automatic Rifleman, Medium MG Gunner)
+_pistol = "hgun_Pistol_01_F";
+_pistolmag = "10Rnd_9x21_Mag";
+
+// Grenades
+_grenade = "HandGrenade";
+_Mgrenade = "MiniGrenade";
+_smokegrenade = "SmokeShell";
+_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
+_smokegrenadepurple = "SmokeShellPurple";
+
+// misc medical items.
+_firstaid = "FirstAidKit";
+_medkit = "Medikit";
+
+// Night Vision Goggles
+_nvg = "NVGoggles_OPFOR";
+_nvgPilot = "NVGoggles_OPFOR"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
+
+// Laserdesignator
+_laserdesignator = "Laserdesignator_03";
+
+// UAV Terminal
+_uavterminal = "I_UavTerminal";
+
+// Chemlights
+_chemgreen = "Chemlight_green";
+_chemred = "Chemlight_red";
+_chemyellow = "Chemlight_yellow";
+_chemblue = "Chemlight_blue";
+
+// Backpacks
+_bag = "B_FieldPack_khk"; // carries 160, weighs 20
+_baglarge = "B_Carryall_khk"; // carries 320, weighs 60
+_bagdiver = "B_AssaultPack_blk"; // used by divers
+_baguav = "I_UAV_01_backpack_F"; // used by UAV operator
+_baghmgg = "I_G_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_G_HMG_02_support_F"; // used by Heavy MG assistant gunner
+_baghatg = "B_AssaultPack_rgr"; // Used by Heavy AT Gunner
+_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
+_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
+_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = selectRandom ["B_RadioBag_01_eaf_F","B_RadioBag_01_black_F","B_RadioBag_01_digi_F","B_RadioBag_01_black_F"]; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
+
+// ====================================================================================
+
+// UNIQUE, ROLE-SPECIFIC EQUIPMENT
+
+// Automatic Rifleman
+_AR = "arifle_RPK12_F";
+_ARmag = "75Rnd_762x39_Mag_F";
+_ARmag_tr = "75Rnd_762x39_Mag_Tracer_F";
+
+// Medium MG
+_MMG = "LMG_Zafir_F";
+_MMGmag = "150Rnd_762x54_Box";
+_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
+
+// Marksman rifle
+_DMrifle = "srifle_DMR_06_olive_F";
+_DMriflemag = "20Rnd_762x51_Mag";
+_DMriflemag_tr = "20Rnd_762x51_Mag";
+
+// Rifleman AT
+_RAT = "launch_RPG32_green_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
+
+// Medium AT
+_MAT = "launch_MRAWS_green_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
+
+// Surface Air
+_SAM = "launch_Titan_F";
+_SAMmag = "Titan_AA";
+
+// Heavy AT
+_HAT = "launch_O_Vorona_green_F";
+_HATmag1 = "Vorona_HEAT";
+_HATmag2 = "Vorona_HE";
+
+// Sniper
+_SNrifle = "srifle_DMR_05_blk_F";
+_SNrifleMag = "10Rnd_93x64_DMR_05_Mag";
+
+// Engineer items
+_ATmine = "ATMine_Range_Mag";
+_satchel = "SatchelCharge_Remote_Mag";
+_democharge = "DemoCharge_Remote_Mag";
+_APmine1 = "APERSBoundingMine_Range_Mag";
+_APmine2 = "APERSMine_Range_Mag";
+
+// ====================================================================================
+
+// CLOTHES AND UNIFORMS
+
+// Define classes. This defines which gear class gets which uniform
+// "medium" vests are used for all classes if they are not assigned a specific uniform
+
+_diver = ["div"];
+_pilot = ["pp","pcc","pc"];
+_crew = ["vc","vg","vd"];
+_ghillie = ["sn","sp"];
+_specOp = [];
+_jet = ["jp"];
+_vip = [];
+
+// Basic clothing
+// The outfit-piece is randomly selected from the array for each unit
+
+_baseUniform = ["U_BG_Guerrilla_6_1","U_BG_Guerilla2_2","U_BG_Guerilla2_1","U_BG_Guerilla2_3","U_BG_Guerilla1_1","U_BG_Guerilla1_2_F","U_BG_Leader",
+ "U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Para_2_F","U_I_C_Soldier_Para_3_F","U_I_C_Soldier_Para_4_F","U_I_C_Soldier_Para_1_F",
+ "U_I_G_Story_Protagonist_F","U_I_G_resistanceLeader_F","U_C_WorkerCoveralls",
+ "U_C_Uniform_Farmer_01_F","U_I_L_Uniform_01_camo_F","U_I_L_Uniform_01_deserter_F","U_I_L_Uniform_01_tshirt_black_F","U_I_L_Uniform_01_tshirt_olive_F","U_I_L_Uniform_01_tshirt_skull_F",
+ "U_O_R_Gorka_01_black_F"
+];
+_baseHelmet = ["H_Beret_Colonel"];
+_baseGlasses = [];
+
+// Vests
+//
+//_lightRig = ["V_TacVest_Camo","V_I_G_resistanceLeader_F","V_TacVest_oli","V_TacVest_khk"];
+// ^^ Alternate Light Rigs ^^
+_lightRig = ["V_PlateCarrier1_blk","V_PlateCarrier1_rgr_noflag_F","V_PlateCarrierIA1_dgtl","V_CarrierRigKBT_01_light_Olive_F","V_CarrierRigKBT_01_light_EAF_F"];
+_standardRig = ["V_PlateCarrier1_blk","V_PlateCarrier1_rgr_noflag_F","V_PlateCarrierIA1_dgtl","V_CarrierRigKBT_01_light_Olive_F","V_CarrierRigKBT_01_light_EAF_F"];
+
+// Diver
+_diverUniform = ["U_B_Wetsuit"];
+_diverHelmet = [];
+_diverRig = ["V_RebreatherB"];
+_diverGlasses = ["G_Diving"];
+
+// Pilot
+_pilotUniform = ["U_C_WorkerCoveralls"];
+_pilotHelmet = _baseHelmet;
+_pilotRig = ["V_Chestrig_blk"];
+_pilotGlasses = [];
+
+// Jet Pilot
+_jetUniform = ["U_I_pilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_I"];
+_jetRig = [];
+_jetGlasses = [];
+
+// Crewman
+_crewUniform = _baseUniform;
+_crewHelmet = _baseHelmet;
+_crewRig = ["V_Chestrig_blk"];
+_crewGlasses = [];
+
+// Ghillie
+_ghillieUniform = ["U_B_T_Sniper_F"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
+_ghillieHelmet = [];
+_ghillieRig = ["V_Chestrig_rgr"];
+_ghillieGlasses = [];
+
+// Spec Op
+_sfuniform = _baseUniform;
+_sfhelmet = _baseHelmet;
+_sfRig = _standardRig;
+_sfGlasses = [];
+
+// VIP/Officer
+_vipUniform = ["U_O_R_Gorka_01_black_F"];
+_vipHelmet = _baseHelmet;
+_vipRig = _standardRig;
+_vipGlasses = [];
+
+// ====================================================================================
+
+// This block needs only to be run on an infantry unit
+if (_isMan) then {
+
+ // PREPARE UNIT FOR GEAR ADDITION
+ // The following code removes all existing weapons, items, magazines and backpacks
+
+ removeBackpack _unit;
+ removeAllWeapons _unit;
+ removeAllItemsWithMagazines _unit;
+ removeAllAssignedItems _unit;
+
+ // ====================================================================================
+
+ // HANDLE CLOTHES
+ // Handle clothes and helmets and such using the include file called next.
+
+ #include "f_assignGear_clothes.sqf";
+
+ // ====================================================================================
+
+ // ADD UNIVERSAL ITEMS
+ // Add items universal to all units of this faction
+
+ // _unit linkItem _nvg; // Add and equip the faction's nvg
+ _unit addItem _firstaid; // Add a single first aid kit (FAK)
+ _unit linkItem "ItemMap"; // Add and equip the map
+ _unit linkItem "ItemCompass"; // Add and equip a compass
+ _unit linkItem "ItemRadio"; // Add and equip A3's default radio
+ _unit linkItem "ItemWatch"; // Add and equip a watch
+ _unit linkItem "ItemGPS"; // Add and equip a GPS
+
+};
+
+// ====================================================================================
+
+// SELECT LOADOUT
+// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
+
+// _loadout = f_param_loadouts;
+
+// Light Loadout
+// if (_loadout == 0) then {
+// #include "f_assignGear_3IFB_light.sqf"
+// };
+
+// Standard Loadout
+// if (_loadout == 1) then {
+ #include "f_assignGear_3IFB_standard.sqf";
+// };
+
+// ====================================================================================
diff --git a/f/assignGear/f_assignGear_csat_light.sqf b/f/assignGear/f_assignGear_3IFB_standard.sqf
similarity index 56%
rename from f/assignGear/f_assignGear_csat_light.sqf
rename to f/assignGear/f_assignGear_3IFB_standard.sqf
index 8c510d248..6fc7bd59f 100644
--- a/f/assignGear/f_assignGear_csat_light.sqf
+++ b/f/assignGear/f_assignGear_3IFB_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - 3IFB - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,8 +18,9 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_ARmag, 3];
+ _unit addmagazines [_ARmag_tr, 2];
_unit addmagazines [_grenade, 1];
};
// Rifleman (AT) Loadout:
@@ -28,25 +29,29 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -55,64 +60,73 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
@@ -120,16 +134,33 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -137,9 +168,10 @@ switch (_typeofUnit) do
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag, 9];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -149,23 +181,38 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
};
-// Medium MG Team Leader Loadout:
+// Medium MG Assistant Loadout:
case "mmgag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Team Leader Loadout:
+ case "mmgl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -174,8 +221,8 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
@@ -185,66 +232,96 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
+ _unit addmagazines [_MATmag1, 4];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -253,7 +330,7 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
};
@@ -264,11 +341,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -279,23 +356,36 @@ switch (_typeofUnit) do
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -304,22 +394,22 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -330,9 +420,9 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
+ _unit addmagazines [_pistolmag, 5];
};
// Spotter Loadout:
case "sp":
@@ -340,13 +430,36 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_SNrifleMag, 3];
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_SNrifleMag, 2];
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
@@ -354,9 +467,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -364,7 +477,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
};
// Vehicle Driver Loadout:
@@ -375,72 +488,68 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
+ _unit addmagazines [_satchel, 2];
};
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
+ _unit addmagazines [_ATmine, 1];
};
// UAV Operator Loadout:
case "uav":
@@ -449,8 +558,8 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit linkItem _uavterminal;
};
@@ -461,8 +570,8 @@ switch (_typeofUnit) do
_unit addmagazines [_diverMag1, 1];
_unit addweapon _diverWep;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_diverMag1, 4];
_unit addmagazines [_diverMag2, 2];
_unit addmagazines [_diverMag3, 3];
_unit addmagazines [_grenade, 3];
@@ -473,8 +582,8 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
@@ -484,8 +593,8 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
@@ -495,8 +604,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
@@ -506,16 +615,19 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
};
// Include the loadouts for vehicles and crates:
-#include "f_assignGear_csat_v.sqf";
+#include "f_assignGear_3IFB_v.sqf";
+
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_3IFB_v.sqf b/f/assignGear/f_assignGear_3IFB_v.sqf
new file mode 100644
index 000000000..ba711f83e
--- /dev/null
+++ b/f/assignGear/f_assignGear_3IFB_v.sqf
@@ -0,0 +1,243 @@
+// Vehicle & Box LOADOUTS - 3IFB
+
+// CARGO: CAR - room for 10 weapons and 50 cargo items
+ case "v_car":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 8];
+ _unit addMagazineCargoGlobal [_glriflemag, 8];
+ _unit addMagazineCargoGlobal [_carbinemag, 10];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
+ _unit addMagazineCargoGlobal [_grenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 4];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addItemCargoGlobal [_firstaid,4];
+ };
+
+// CARGO: TRUCK - room for 50 weapons and 200 cargo items
+ case "v_tr":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade, 12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
+ _unit addMagazineCargoGlobal [_glmag, 12];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,8];
+ };
+
+// CARGO: IFV - room for 10 weapons and 100 cargo items
+ case "v_ifv":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
+ _unit addMagazineCargoGlobal [_armag, 8];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addmagazineCargoGlobal [_mgrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 8];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,6];
+ };
+
+//CARGO: TANK
+ case "v_tank":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Light
+ case "v_helo_l":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 2];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Medium
+ case "v_helo_m":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
+ _unit addMagazineCargoGlobal [_riflemag,10];
+ _unit addMagazineCargoGlobal [_glriflemag,10];
+ _unit addMagazineCargoGlobal [_carbinemag,10];
+ _unit addMagazineCargoGlobal [_armag,6];
+ _unit addMagazineCargoGlobal [_grenade,4];
+ _unit addmagazineCargoGlobal [_mgrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,4];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Heavy
+ case "v_helo_h":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag,20];
+ _unit addMagazineCargoGlobal [_glriflemag,20];
+ _unit addMagazineCargoGlobal [_carbinemag,20];
+ _unit addMagazineCargoGlobal [_armag,12];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
+ _unit addMagazineCargoGlobal [_grenade,12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_glsmokewhite,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,6];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Attack
+ case "v_helo_a":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ };
+
+//CARGO: Jet
+ case "v_jet":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,2];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,1];
+ _unit addMagazineCargoGlobal [_chemgreen,2];
+ _unit addItemCargoGlobal [_firstaid,1];
+ _unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+// CRATE: Small, ammo for 1 fireteam
+ case "crate_small":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_glmag, 5];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addMagazineCargoGlobal [_mgrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addItemCargoGlobal [_firstaid, 6];
+ };
+
+// CRATE: Medium, ammo for 1 squad
+ case "crate_med":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 15];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 15];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_glmag, 20];
+ _unit addMagazineCargoGlobal [_glsmokewhite,16];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 25];
+ _unit addMagazineCargoGlobal [_mgrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 6];
+ _unit addItemCargoGlobal [_firstaid, 25];
+ };
+
+// CRATE: Large, ammo for 1 platoon
+ case "crate_large":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 45];
+ _unit addMagazineCargoGlobal [_glriflemag, 60];
+ _unit addMagazineCargoGlobal [_armag, 45];
+ _unit addMagazineCargoGlobal [_carbinemag, 60];
+ _unit addMagazineCargoGlobal [_glmag, 60];
+ _unit addMagazineCargoGlobal [_glsmokewhite,50];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
+ _unit addMagazineCargoGlobal [_grenade, 75];
+ _unit addMagazineCargoGlobal [_mgrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
+ _unit addItemCargoGlobal [_firstaid, 75];
+ };
diff --git a/f/assignGear/f_assignGear_AI.sqf b/f/assignGear/f_assignGear_AI.sqf
index 0f93698f3..412b0e892 100644
--- a/f/assignGear/f_assignGear_AI.sqf
+++ b/f/assignGear/f_assignGear_AI.sqf
@@ -1,5 +1,5 @@
// F3 - Assign Gear Script - AI
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SERVER CHECK
@@ -9,27 +9,23 @@ if !(isServer) exitWith {};
// ====================================================================================
-// DECLARE PRIVATE VARIABLES
-
-private ["_units","_unit","_faction","_known","_excludeFactions","_unitClasses"];
-
-// ====================================================================================
-
// SETUP CUSTOM VARIABLES
// The default gear type picked when no corresponding entry is found in the _unitClasses array
// Set _defaultclass to "" to let these units keep their default gear
-_defaultclass = "";
+// Be careful not to apply armed loadouts to units that should not be armed (e.g. civilians)
+private _defaultclass = "";
// The factions that should be ignored
-_excludeFactions = ["civ_f","blu_gen_f"];
+private _excludeFactions = ["civ_f","blu_gen_f"];
// Other factions:
//["blu_f","blu_t_f","opf_f","opf_t_f","ind_f","ind_c_f","blu_g_f","opf_g_f","ind_g_f"
// The unit classes and their corresponding F3 Assign Gear Component type
-_unitClasses = [
+private _unitClasses = [
+ ["_unarmed_" , "" ],
["_officer_" , "co" ],
["_colonel_" , "co" ],
["_sl_" , "dc" ],
@@ -39,6 +35,7 @@ _unitClasses = [
["_aar_" , "aar" ],
["_a_" , "aar" ],
["_lat_" , "rat" ],
+ ["_lat2_" , "rat" ],
["_medic_" , "m" ],
["_gl_" , "gren" ],
["_exp_" , "eng" ],
@@ -77,8 +74,24 @@ _unitClasses = [
["_Bandit_5_" , "r" ],
["_Bandit_6_" , "gren" ],
["_Bandit_7_" , "car" ],
- ["_Bandit_8_" , "engm" ]
-
+ ["_Bandit_8_" , "engm" ],
+
+ // GM units
+
+ ["_squadleader_", "ftl" ],
+ ["_antitank_assistant_","aar" ],
+ ["_machinegunner_assistant_","aar" ],
+ ["_machinegunner_", "ar" ],
+ ["_rifleman_" , "r" ],
+ ["_antitank_" , "rat" ],
+ ["_demolition_" , "eng" ],
+ ["_marksman_" , "dm" ],
+ ["_antiair_" , "msam" ],
+ ["_grenadier_" , "gren" ],
+ ["_paratrooper_", "car" ],
+
+
+ ["_soldier_" , "r" ]
// No comma after the last array!
];
@@ -86,40 +99,38 @@ _unitClasses = [
// ====================================================================================
// Interpret parameters
-_units = if (count _this == 0) then [{waitUntil {scriptDone f_script_setLocalVars};f_var_men},{_this}];
+private _units = if (count _this == 0) then [{waitUntil {scriptDone f_script_setLocalVars};f_var_men},{_this}];
+
+//Only process units that have not been touched by the F3 Assign Gear Component
+_units = _units select { ! (_x getvariable ["f_var_assignGear_done", false]) };
+//Only process non-playerableUnits
+_units = _units select {!(_x in playableUnits) && (_x isKindOf "Man")};
// LOOP THROUGH AI UNITS AND ASSIGN GEAR
{
sleep 0.1;
- _unit = _x;
-
- // Check if the unit was already touched by the F3 Assign Gear Component
- if (!(_unit getvariable ["f_var_assignGear_done", false]) && {!(_unit in playableUnits) && (_unit isKindOf "Man")}) then {
-
- _faction = toLower (faction _unit);
-
- // If the unit's faction is allowed, proceed
- if !(_faction in _excludeFactions) then {
- _known = false;
- {
- _known = [toLower (_x select 0),toLower (typeOf _unit)] call BIS_fnc_inString;
-
- // If the unit's classname corresponds to a class in the assignment array, set it's gear accordingly
- if (_known) exitWith {
- [[_x select 1, _unit], "f_fnc_assignGear", _unit,false,true] call BIS_fnc_MP;
- };
- } forEach _unitClasses;
-
- // If the class is not in the _unitClasses array
- if (!_known) then {
- if (_defaultclass != "") then {
- [[_defaultclass, _unit], "f_fnc_assignGear", _unit,false,true] call BIS_fnc_MP;
- };
- };
-
- } else {
- // If the faction is not allowed, set the assignGear variable to true to ignore the unit from now on
- _x setvariable ["f_var_assignGear_done", true,true];
- };
+ private _unit = _x;
+ private _faction = toLower ([_unit] call f_fnc_virtualFaction);
+
+ // If the unit's faction is allowed, proceed
+ if !(_faction in _excludeFactions) then {
+
+ // If the unit's classname corresponds to a class in the assignment array, use that gear class
+ private _classIndex = _unitClasses findIf {toLower (typeOf _unit) find toLower (_x select 0) != -1};
+
+ //Set the class to the _defaultclass or the one found in the _unitClasses array.
+ private _class = _defaultclass;
+ if (_classIndex != -1) then {
+ _class = _unitClasses select _classIndex select 1;
+ };
+
+ // Set the gear according to the class
+ if (_class != "") then {
+ [_class, _unit] remoteExecCall ["f_fnc_assignGear", _unit];
+ };
+
+ } else {
+ // If the faction is not allowed, set the assignGear variable to true to ignore the unit from now on
+ _x setvariable ["f_var_assignGear_done", true,true];
};
} foreach _units;
diff --git a/f/assignGear/f_assignGear_aaf.sqf b/f/assignGear/f_assignGear_aaf.sqf
index a225c3675..c6afafbe7 100644
--- a/f/assignGear/f_assignGear_aaf.sqf
+++ b/f/assignGear/f_assignGear_aaf.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - AAF
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -92,6 +104,13 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -107,7 +126,6 @@ _carbinemag_tr = "30Rnd_556x45_Stanag_Tracer_Yellow";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "hgun_PDW2000_F";
_smgmag = "30Rnd_9x21_Mag";
-_smgmag_tr = "30Rnd_9x21_Mag";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -123,7 +141,7 @@ _glmag = "1Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
-_glsmokegreen = "1Rnd_SmokeRed_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
// Flares for FTLs, Squad Leaders, etc
@@ -150,6 +168,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles_INDEP";
+_nvgPilot = "NVGoggles_INDEP"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_03";
@@ -163,31 +185,31 @@ _chemred = "Chemlight_red";
_chemyellow = "Chemlight_yellow";
_chemblue = "Chemlight_blue";
-// Standard Backpacks
+// Backpacks
_bag = "B_AssaultPack_dgtl"; // The standard bag for most classes
_bagLarge = "B_Kitbag_rgr"; // Larger bag for some special purpose classes
-
-// Special Backpacks
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "I_UAV_01_backpack_F"; // used by UAV operator
-_baghmgg = "I_HMG_01_weapon_F"; // used by Heavy MG gunner
-_baghmgag = "I_HMG_01_support_F"; // used by Heavy MG assistant gunner
+_baghmgg = "I_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_HMG_02_support_F"; // used by Heavy MG assistant gunner
_baghatg = "I_AT_01_weapon_F"; // used by Heavy AT gunner
_baghatag = "I_HMG_01_support_F"; // used by Heavy AT assistant gunner
_bagmtrg = "I_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "I_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "I_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "I_HMG_01_support_F"; // used by Heavy SAM assistant gunner
+_bagRadio = "B_RadioBag_01_digi_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
// ====================================================================================
// UNIQUE, ROLE-SPECIFIC EQUIPMENT
// Automatic Rifleman
-_AR = "LMG_Mk200_F";
-_ARmag = "200Rnd_65x39_cased_Box";
-_ARmag_tr = "200Rnd_65x39_cased_Box_Tracer";
+_AR = "LMG_03_F";
+_ARmag = "200Rnd_556x45_Box_F";
+_ARmag_tr = "200Rnd_556x45_Box_Tracer_F";
+// Medium MG
_MMG = "LMG_Zafir_F";
_MMGmag = "150Rnd_762x54_Box";
_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
@@ -195,15 +217,17 @@ _MMGmag_tr = "150Rnd_762x54_Box_Tracer";
// Marksman rifle
_DMrifle = "srifle_EBR_F";
_DMriflemag = "20Rnd_762x51_Mag";
+_DMriflemag_tr = "20Rnd_762x51_Mag";
// Rifleman AT
-_RAT = "launch_NLAW_F";
-_RATmag = "NLAW_F";
+_RAT = "launch_MRAWS_olive_rail_F";
+_RATmag1 = "MRAWS_HEAT55_F";
+_RATmag2 = "MRAWS_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-_MATmag2 = "NLAW_F";
+_MAT = "launch_MRAWS_olive_rail_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
// Surface Air
_SAM = "launch_I_Titan_F";
@@ -229,14 +253,16 @@ _APmine2 = "APERSMine_Range_Mag";
// CLOTHES AND UNIFORMS
-// Define special vest loadouts. This defines which gear class gets which vest
-// Normal infantry will be given either light or standard rigs, depending on the loadout parameter
+// Define classes. This defines which gear class gets which uniform
+// "medium" vests are used for all classes if they are not assigned a specific uniform
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -246,7 +272,7 @@ _baseHelmet = ["H_HelmetIA"];
_baseGlasses = [];
// Vests
-_lightRig = ["V_Chestrig_khk"];
+_lightRig = ["V_PlateCarrierIA2_dgtl"];
_standardRig = ["V_PlateCarrierIA2_dgtl"];
// Diver
@@ -261,6 +287,12 @@ _pilotHelmet = ["H_PilotHelmetHeli_I"];
_pilotRig = ["V_TacVest_oli"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_I_pilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_I"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = ["U_I_CombatUniform"];
_crewHelmet = ["H_HelmetCrew_I"];
@@ -279,14 +311,11 @@ _sfhelmet = _baseHelmet;
_sfRig = _standardRig;
_sfGlasses = [];
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_I_officerUniform"];
+_vipHelmet = ["H_MilCap_dgtl"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
// ====================================================================================
@@ -327,30 +356,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_aaf_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_aaf_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_aaf_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_aaf_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_aaf_light.sqf b/f/assignGear/f_assignGear_aaf_light.sqf
deleted file mode 100644
index c4d549c65..000000000
--- a/f/assignGear/f_assignGear_aaf_light.sqf
+++ /dev/null
@@ -1,521 +0,0 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 1];
- _unit addmagazines [_grenade, 1];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_ARmag, 1];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadegreen, 2];
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_pistolmag, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_pistolmag, 4];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid ;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_grenade, 1];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag ;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag ;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_SNrifleMag, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addweapon "Rangefinder";
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep ;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 2];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_aaf_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_aaf_standard.sqf b/f/assignGear/f_assignGear_aaf_standard.sqf
index 6de566c7f..4bc70bde1 100644
--- a/f/assignGear/f_assignGear_aaf_standard.sqf
+++ b/f/assignGear/f_assignGear_aaf_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - AAF - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -17,7 +17,7 @@ switch (_typeofUnit) do
_unit addmagazines [_ARmag, 1];
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_ARmag, 1];
_unit addmagazines [_ARmag_tr, 1];
@@ -29,25 +29,29 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -55,67 +59,74 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
- _unit addweapon _pistol;
_unit addmagazines [_pistolmag, 1];
- _unit addItem _firstaid ;
+ _unit addweapon _pistol;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -124,15 +135,32 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addItem _medkit;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ };
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
};
// Designated Marksman Loadout:
case "dm":
@@ -140,9 +168,10 @@ switch (_typeofUnit) do
_unit addmagazines [_DMriflemag, 1];
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_DMriflemag, 6];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
@@ -152,24 +181,39 @@ switch (_typeofUnit) do
_unit addmagazines [_MMGmag, 1];
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -177,23 +221,23 @@ switch (_typeofUnit) do
_unit addBackpack _baghmgg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghmgag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
@@ -203,53 +247,82 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -257,7 +330,7 @@ switch (_typeofUnit) do
_unit addBackpack _bagmtrg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
@@ -268,12 +341,12 @@ switch (_typeofUnit) do
_unit addBackpack _bagmtrag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -283,24 +356,37 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -308,23 +394,23 @@ switch (_typeofUnit) do
_unit addBackpack _baghsamg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -334,7 +420,7 @@ switch (_typeofUnit) do
_attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_SNrifleMag, 6];
_unit addmagazines [_pistolmag, 5];
@@ -344,31 +430,54 @@ switch (_typeofUnit) do
{
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_SNrifleMag, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_SNrifleMag, 3];
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
};
@@ -379,51 +488,44 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -435,10 +537,12 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -454,7 +558,7 @@ switch (_typeofUnit) do
_unit addBackpack _baguav;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -478,32 +582,32 @@ switch (_typeofUnit) do
{
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
{
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -511,7 +615,7 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
@@ -521,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_aaf_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_aaf_v.sqf b/f/assignGear/f_assignGear_aaf_v.sqf
index 56772a5dd..9285bd4f5 100644
--- a/f/assignGear/f_assignGear_aaf_v.sqf
+++ b/f/assignGear/f_assignGear_aaf_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
- _unit addMagazineCargoGlobal [_carbinemag, 8];
+ _unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,13 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 4];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -45,21 +51,22 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 10];
_unit addMagazineCargoGlobal [_glriflemag, 10];
_unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
-
+
//CARGO: TANK
case "v_tank":
{
@@ -70,10 +77,11 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Light
case "v_helo_l":
{
@@ -88,11 +96,10 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Medium
case "v_helo_m":
{
@@ -100,25 +107,23 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Heavy
case "v_helo_h":
{
@@ -126,13 +131,13 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,8];
- _unit addWeaponCargoGlobal [_rat,2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag,20];
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -140,12 +145,11 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Attack
case "v_helo_a":
{
@@ -158,7 +162,7 @@
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addItemCargoGlobal [_firstaid,2];
};
-
+
//CARGO: Jet
case "v_jet":
{
@@ -171,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -186,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -207,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -228,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/f_assignGear_attachments.sqf b/f/assignGear/f_assignGear_attachments.sqf
index e0256f309..37766eb16 100644
--- a/f/assignGear/f_assignGear_attachments.sqf
+++ b/f/assignGear/f_assignGear_attachments.sqf
@@ -1,16 +1,25 @@
-if (typeName _attachments == typeName []) then {
+if (_attachments isEqualType []) then {
removeAllPrimaryWeaponItems _unit;
{
- // loop trough the attachments and add them to the weapon
+ // loop through the attachments and add them to the weapon
_unit addPrimaryWeaponItem _x;
} foreach _attachments;
};
// Handle handgun attachments
-if (typeName _hg_attachments == typeName []) then {
+if (_hg_attachments isEqualType []) then {
removeAllHandgunItems _unit;
{
- // loop trough the attachments and add them to the weapon
+ // loop through the attachments and add them to the weapon
_unit addHandgunItem _x;
} foreach _hg_attachments;
-};
\ No newline at end of file
+};
+
+// Handle launcher attachments
+if (_lau_attachments isEqualType []) then {
+ removeAllSecondaryWeaponItems _unit;
+ {
+ // loop through the attachments and add them to the weapon
+ _unit addSecondaryWeaponItem _x;
+ } foreach _lau_attachments;
+};
diff --git a/f/assignGear/f_assignGear_clothes.sqf b/f/assignGear/f_assignGear_clothes.sqf
index 84a3b979c..6b6b5449c 100644
--- a/f/assignGear/f_assignGear_clothes.sqf
+++ b/f/assignGear/f_assignGear_clothes.sqf
@@ -1,5 +1,5 @@
// F3 - F3 Folk ARPS Assign Gear
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// Prevent BIS Randomisation System
@@ -13,79 +13,100 @@ _unit setVariable ["BIS_enableRandomization", false];
removeUniform _unit;
removeHeadgear _unit;
removeVest _unit;
-removeGoggles _unit;
// Assign default clothes
_uniform = _baseUniform;
-_helmet = _baseHelmet;
+_helmet = _baseHelmet;
_glasses = _baseGlasses;
+_rig = _standardRig;
+
+// Uncomment this block if you are adding an alternate loadout. See relevant block in description.ext for more info.
// Select the default rig
-_rig = switch (f_param_loadouts) do {
- case 0:{_lightRig};
- case 1:{_standardRig};
- default{_standardRig};
-};
+// _rig = switch (f_param_loadouts) do {
+// case 0:{_lightRig};
+// case 1:{_standardRig};
+// default{_standardRig};
+// };
// Flip through unit to assign specialized uniforms
// Pilot
if (_typeOfUnit in _pilot) then {
- _helmet = _pilotHelmet;
+ _helmet = _pilotHelmet;
_uniform = _pilotUniform;
- _rig = _pilotRig;
- _glasses = _pilotGlasses
+ _rig = _pilotRig;
+ _glasses = _pilotGlasses;
+ _nvg = _nvgPilot;
+};
+
+// Jet Pilot
+if (_typeOfUnit in _jet) then {
+ _helmet = _jetHelmet;
+ _uniform = _jetUniform;
+ _rig = _jetRig;
+ _glasses = _jetGlasses;
+ _nvg = ""; //Do not assign NVG, otherwise the jet helmet gets removed.
};
// Crew
if (_typeOfUnit in _crew) then {
- _helmet = _crewHelmet;
+ _helmet = _crewHelmet;
_uniform = _crewUniform;
- _rig = _crewRig;
+ _rig = _crewRig;
_glasses = _crewGlasses;
};
// Diver
if (_typeOfUnit in _diver) then {
- _helmet = _diverHelmet;
+ _helmet = _diverHelmet;
_uniform = _diverUniform;
- _rig = _diverRig;
+ _rig = _diverRig;
_glasses = _diverGlasses;
};
// Ghillie
if (_typeOfUnit in _ghillie) then {
- _helmet = _ghillieHelmet;
+ _helmet = _ghillieHelmet;
_uniform = _ghillieUniform;
- _rig = _ghillieRig;
+ _rig = _ghillieRig;
_glasses = _ghillieGlasses;
};
// Spec Op
if (_typeOfUnit in _specOp) then {
- _helmet = _sfHelmet;
+ _helmet = _sfHelmet;
_uniform = _sfUniform;
- _rig = _sfRig;
+ _rig = _sfRig;
_glasses = _sfGlasses;
};
+// VIP/Officer
+if (_typeOfUnit in _vip) then {
+ _helmet = _vipHelmet;
+ _uniform = _vipUniform;
+ _rig = _vipRig;
+ _glasses = _vipGlasses;
+};
+
// Add clothing items to unit
if(count _uniform > 0) then
{
- _unit forceAddUniform (_uniform call BIS_fnc_selectRandom);
+ _unit forceAddUniform (selectRandom _uniform);
};
if(count _helmet > 0) then
{
- _unit addHeadgear (_helmet call BIS_fnc_selectRandom);
+ _unit addHeadgear (selectRandom _helmet);
};
if(count _rig > 0) then
{
- _unit addVest (_rig call BIS_fnc_selectRandom);
+ _unit addVest (selectRandom _rig);
};
-if(count _glasses > 0) then
+if(count _glasses > 0 && (_glasses findIf {_x == goggles _unit}) == -1) then
{
- _unit addGoggles (_glasses call BIS_fnc_selectRandom);
+ removeGoggles _unit;
+ _unit addGoggles (selectRandom _glasses);
};
diff --git a/f/assignGear/f_assignGear_csat.sqf b/f/assignGear/f_assignGear_csat.sqf
index 2416d307a..15aa66919 100644
--- a/f/assignGear/f_assignGear_csat.sqf
+++ b/f/assignGear/f_assignGear_csat.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - CSAT
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -62,8 +74,8 @@
_attach1 = "acc_pointer_IR"; // IR Laser
_attach2 = "acc_flashlight"; // Flashlight
-_silencer1 = "muzzle_snds_M"; // 5.56 suppressor
-_silencer2 = "muzzle_snds_H"; // 6.5 suppressor
+_silencer1 = "muzzle_snds_H"; // 6.5 suppressor
+_silencer2 = "muzzle_snds_B"; // 7.62 suppressor
_scope1 = "optic_ACO_grn"; // ACO
_scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
@@ -92,6 +104,13 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -107,7 +126,6 @@ _carbinemag_tr = "30Rnd_65x39_caseless_green_mag_Tracer";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "SMG_02_F";
_smgmag = "30Rnd_9x21_Mag";
-_smgmag_tr = "30Rnd_9x21_Mag";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -123,6 +141,7 @@ _glmag = "1Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
// Flares for FTLs, Squad Leaders, etc
@@ -139,8 +158,8 @@ _pistolmag = "16Rnd_9x21_Mag";
_grenade = "HandGrenade";
_Mgrenade = "MiniGrenade";
_smokegrenade = "SmokeShell";
-_smokegrenadeblue = "SmokeShellBlue";
_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
_smokegrenadepurple = "SmokeShellPurple";
// misc medical items.
@@ -150,6 +169,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "O_NVGoggles_hex_F";
//_nvg = "O_NVGoggles_urb_F";
+_nvgPilot = "O_NVGoggles_hex_F"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_02";
@@ -165,7 +188,7 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_ocamo"; // carries 120, weighs 20
-_baglarge = "B_Carryall_ocamo"; // carries 320, weighs 40
+_bagLarge = "B_Carryall_ocamo"; // carries 320, weighs 40
_bagdiver = "B_AssaultPack_rgr"; // used by divers
_baguav = "O_UAV_01_backpack_F"; // used by UAV operator
_baghmgg = "O_HMG_01_weapon_F"; // used by Heavy MG gunner
@@ -176,7 +199,7 @@ _bagmtrg = "O_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "O_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "O_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "O_HMG_01_support_F"; // used by Heavy SAM assistant gunner
-
+_bagRadio = "B_RadioBag_01_hex_F";
// ====================================================================================
// UNIQUE, ROLE-SPECIFIC EQUIPMENT
@@ -199,27 +222,31 @@ _MMGmag_tr = "150Rnd_93x64_Mag";
// Marksman rifle
_DMrifle = "srifle_DMR_01_F";
_DMriflemag = "10Rnd_762x54_Mag";
+_DMriflemag_tr = "10Rnd_762x54_Mag";
// ASP1-KIR
// _DMrifle = "srifle_DMR_04_F";
// _DMriflemag = "10Rnd_127x54_Mag";
+// _DMriflemag_tr = "10Rnd_127x54_Mag";
// Rifleman AT
_RAT = "launch_RPG32_F";
-_RATmag = "RPG32_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
+_MAT = "launch_RPG32_F";
+_MATmag1 = "RPG32_F";
+_MATmag2 = "RPG32_HE_F";
// Surface Air
_SAM = "launch_O_Titan_F";
_SAMmag = "Titan_AA";
// Heavy AT
-_HAT = "launch_O_Titan_short_F";
-_HATmag1 = "Titan_AT";
-_HATmag2 = "Titan_AP";
+_HAT = "launch_O_Vorona_brown_F";
+_HATmag1 = "Vorona_HEAT";
+_HATmag2 = "Vorona_HE";
// Sniper
_SNrifle = "srifle_GM6_camo_F";
@@ -239,13 +266,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -260,12 +287,14 @@ _baseGlasses = [];
//_baseHelmet = ["H_HelmetO_oucamo"];
// Vests
-_lightRig = ["V_HarnessO_brn"];
-_standardRig = ["V_HarnessO_brn"];
+_lightRig = ["V_TacVest_khk"];
+_standardRig = ["V_TacVest_khk"];
+// Consider changing to "V_HarnessO_brn" if using this with assignGear AI.
// Urban Vests
-// _lightRig = ["V_HarnessO_gry"];
-// _standardRig = ["V_HarnessO_gry"];
+// _lightRig = ["V_TacVest_blk"];
+// _standardRig = ["V_TacVest_blk"];
+// Consider changing to "V_HarnessO_gry" if using this with assignGear AI.
// Diver
_diverUniform = ["U_O_Wetsuit"];
@@ -279,6 +308,12 @@ _pilotHelmet = ["H_PilotHelmetHeli_O"];
_pilotRig = ["V_HarnessO_brn"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_O_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_O"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = ["U_O_SpecopsUniform_ocamo"];
_crewHelmet = ["H_HelmetCrew_O"];
@@ -297,14 +332,11 @@ _sfhelmet = ["H_HelmetSpecO_ocamo"]; //Viper: ["H_HelmetO_ViperSP_hex_F"]; IM
_sfRig = _standardRig;
_sfGlasses = [];
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_O_officerUniform_ocamo"];
+_vipHelmet = ["H_Beret_CSAT_01_F"];
+_vipRig = ["V_TacVest_brn"];
+_vipGlasses = [];
// ====================================================================================
@@ -345,30 +377,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_csat_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_csat_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_csat_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_csat_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
diff --git a/f/assignGear/f_assignGear_csatPacific.sqf b/f/assignGear/f_assignGear_csatPacific.sqf
index 010a23a29..9a4b3f27a 100644
--- a/f/assignGear/f_assignGear_csatPacific.sqf
+++ b/f/assignGear/f_assignGear_csatPacific.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - CSAT (PACIFIC)
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -92,6 +104,13 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -107,7 +126,6 @@ _carbinemag_tr = "30Rnd_580x42_Mag_Tracer_F";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "SMG_02_F";
_smgmag = "30Rnd_9x21_Mag";
-_smgmag_tr = "30Rnd_9x21_Mag";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -123,6 +141,7 @@ _glmag = "1Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
// Flares for FTLs, Squad Leaders, etc
@@ -139,8 +158,8 @@ _pistolmag = "16Rnd_9x21_Mag";
_grenade = "HandGrenade";
_Mgrenade = "MiniGrenade";
_smokegrenade = "SmokeShell";
-_smokegrenadeblue = "SmokeShellBlue";
_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
_smokegrenadepurple = "SmokeShellPurple";
// misc medical items.
@@ -149,6 +168,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "O_NVGoggles_ghex_F";
+_nvgPilot = "O_NVGoggles_ghex_F"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_02_ghex_F";
@@ -164,7 +187,7 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_FieldPack_ghex_F"; // carries 120, weighs 20
-_baglarge = "B_Carryall_ghex_F"; // carries 320, weighs 40
+_bagLarge = "B_Carryall_ghex_F"; // carries 320, weighs 40
_bagdiver = "B_AssaultPack_rgr"; // used by divers
_baguav = "O_UAV_01_backpack_F"; // used by UAV operator
_baghmgg = "O_HMG_01_weapon_F"; // used by Heavy MG gunner
@@ -175,6 +198,7 @@ _bagmtrg = "O_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "O_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "O_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "O_HMG_01_support_F"; // used by Heavy SAM assistant gunner
+_bagRadio = "B_RadioBag_01_ghex_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
// ====================================================================================
@@ -182,8 +206,8 @@ _baghsamag = "O_HMG_01_support_F"; // used by Heavy SAM assistant gunner
// Automatic Rifleman
_AR = "arifle_CTARS_ghex_F";
-_ARmag = "100Rnd_580x42_Mag_F";
-_ARmag_tr = "100Rnd_580x42_Mag_Tracer_F";
+_ARmag = "100Rnd_580x42_ghex_Mag_F";
+_ARmag_tr = "100Rnd_580x42_ghex_Mag_Tracer_F";
// Medium MG
_MMG = "MMG_01_tan_F";
@@ -198,27 +222,31 @@ _MMGmag_tr = "150Rnd_93x64_Mag";
// Marksman rifle
_DMrifle = "srifle_DMR_07_blk_F";
_DMriflemag = "20Rnd_650x39_Cased_Mag_F";
+_DMriflemag_tr = "20Rnd_650x39_Cased_Mag_F";
// ASP1-KIR
// _DMrifle = "srifle_DMR_04_F";
// _DMriflemag = "10Rnd_127x54_Mag";
+// _DMriflemag_tr = "10Rnd_127x54_Mag";
// Rifleman AT
_RAT = "launch_RPG32_ghex_F";
-_RATmag = "RPG32_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
+_MAT = "launch_RPG32_ghex_F";
+_MATmag1 = "RPG32_F";
+_MATmag2 = "RPG32_HE_F";
// Surface Air
_SAM = "launch_O_Titan_ghex_F";
_SAMmag = "Titan_AA";
// Heavy AT
-_HAT = "launch_O_Titan_short_ghex_F";
-_HATmag1 = "Titan_AT";
-_HATmag2 = "Titan_AP";
+_HAT = "launch_O_Vorona_green_F";
+_HATmag1 = "Vorona_HEAT";
+_HATmag2 = "Vorona_HE";
// Sniper
_SNrifle = "srifle_GM6_ghex_F";
@@ -238,13 +266,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -259,8 +287,14 @@ _baseGlasses = [];
//_baseHelmet = ["H_HelmetO_oucamo"];
// Vests
-_lightRig = ["V_HarnessO_ghex_F"];
-_standardRig = ["V_HarnessO_ghex_F"];
+_lightRig = ["V_TacVest_oli"];
+_standardRig = ["V_TacVest_oli"];
+// Consider changing to "V_HarnessO_ghex_F" if using this with assignGear AI.
+
+// Urban Vests
+// _lightRig = ["V_TacVest_blk"];
+// _standardRig = ["V_TacVest_blk"];
+// Consider changing to "V_HarnessO_gry" if using this with assignGear AI.
// Diver
_diverUniform = ["U_O_Wetsuit"];
@@ -274,9 +308,15 @@ _pilotHelmet = ["H_PilotHelmetHeli_O"];
_pilotRig = ["V_HarnessO_ghex_F"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_O_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_O"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = ["U_O_T_Soldier_F"];
-_crewHelmet = ["H_HelmetCrew_O"];
+_crewHelmet = ["H_HelmetCrew_O_ghex_F"];
_crewRig = ["V_HarnessO_ghex_F"];
_crewGlasses = [];
@@ -292,14 +332,11 @@ _sfhelmet = ["H_HelmetSpecO_ghex_F"]; //Viper: ["H_HelmetO_ViperSP_ghex_F"]; IMP
_sfRig = _standardRig;
_sfGlasses = [];
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_O_T_officer_F"];
+_vipHelmet = ["H_Beret_CSAT_01_F"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
// ====================================================================================
@@ -340,30 +377,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_csatPacific_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_csatPacific_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_csatPacific_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_csatPacific_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
diff --git a/f/assignGear/f_assignGear_csatPacific_light.sqf b/f/assignGear/f_assignGear_csatPacific_light.sqf
deleted file mode 100644
index d75b7b8e6..000000000
--- a/f/assignGear/f_assignGear_csatPacific_light.sqf
+++ /dev/null
@@ -1,522 +0,0 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 2];
- _unit addmagazines [_ARmag_tr, 1];
- _unit addmagazines [_grenade, 1];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_ARmag, 2];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadegreen, 2];
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_pistolmag, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_pistolmag, 4];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_grenade, 1];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_SNrifleMag, 3];
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 2];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_csat_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_csatPacific_standard.sqf b/f/assignGear/f_assignGear_csatPacific_standard.sqf
index 709aef56f..31b5ef786 100644
--- a/f/assignGear/f_assignGear_csatPacific_standard.sqf
+++ b/f/assignGear/f_assignGear_csatPacific_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - CSAT Pacific - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -27,20 +27,22 @@ switch (_typeofUnit) do
case "rat":
{
_unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -49,6 +51,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -63,12 +66,13 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
@@ -80,14 +84,16 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
@@ -97,16 +103,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
@@ -116,7 +124,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -125,6 +135,21 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addItem _medkit;
+ _unit addItem _firstaid;
+ };
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
@@ -132,8 +157,10 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid;
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
};
// Designated Marksman Loadout:
case "dm":
@@ -143,7 +170,8 @@ switch (_typeofUnit) do
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_DMriflemag, 6];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
@@ -155,10 +183,25 @@ switch (_typeofUnit) do
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -168,20 +211,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
{
_unit addBackpack _baghmgg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
@@ -194,24 +237,39 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Assistant Loadout:
+ case "matag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
// Medium AT Team Leader Loadout:
- case "matag":
+ case "matl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -222,26 +280,27 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -250,18 +309,31 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
};
-// Mortar Gunner Loadout:
- case "mtrg":
+// Heavy AT Team Leader Loadout:
+ case "hatl":
{
- _unit addBackpack _bagmtrg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
+ };
+// Mortar Gunner Loadout:
+ case "mtrg":
+ {
+ _unit addBackpack _bagmtrg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Mortar Team Leader Loadout:
case "mtrag":
@@ -274,25 +346,38 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
{
_unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Medium SAM Assistant Loadout:
+ case "msamag":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
};
// Medium SAM Team Leader Loadout:
- case "msamag":
+ case "msaml":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -301,23 +386,23 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
{
_unit addBackpack _baghsamg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -325,7 +410,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -351,9 +436,32 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
// Vehicle Commander Loadout:
case "vc":
{
@@ -362,7 +470,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -385,20 +493,20 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
@@ -409,25 +517,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
@@ -436,13 +537,15 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
@@ -453,12 +556,12 @@ switch (_typeofUnit) do
case "uav":
{
_unit addBackpack _baguav;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -483,18 +586,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
{
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
@@ -504,7 +607,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -522,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_csat_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_csat_standard.sqf b/f/assignGear/f_assignGear_csat_standard.sqf
index b03e62346..8236c5565 100644
--- a/f/assignGear/f_assignGear_csat_standard.sqf
+++ b/f/assignGear/f_assignGear_csat_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - CSAT - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -29,18 +29,20 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -49,6 +51,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -63,12 +66,13 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
@@ -80,14 +84,16 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
@@ -97,16 +103,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
@@ -116,7 +124,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -125,6 +135,7 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
@@ -135,6 +146,22 @@ switch (_typeofUnit) do
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -143,7 +170,8 @@ switch (_typeofUnit) do
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_DMriflemag, 11];
+ _unit addmagazines [_DMriflemag, 7];
+ _unit addmagazines [_DMriflemag_tr, 4];
_unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
@@ -155,10 +183,25 @@ switch (_typeofUnit) do
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -168,9 +211,9 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -180,7 +223,7 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
@@ -194,23 +237,24 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
@@ -222,26 +266,41 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -250,7 +309,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -274,7 +346,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -286,13 +358,13 @@ switch (_typeofUnit) do
_unit addweapon _SAM;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -301,7 +373,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -311,13 +396,13 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -325,7 +410,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -351,9 +436,32 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
// Vehicle Commander Loadout:
case "vc":
{
@@ -362,7 +470,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -385,20 +493,20 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
@@ -409,19 +517,12 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
@@ -436,7 +537,9 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
@@ -483,7 +586,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
@@ -494,7 +597,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
@@ -504,7 +607,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -522,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_csat_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_csat_v.sqf b/f/assignGear/f_assignGear_csat_v.sqf
index 387df3a6b..a7fb0a5ba 100644
--- a/f/assignGear/f_assignGear_csat_v.sqf
+++ b/f/assignGear/f_assignGear_csat_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
_unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,18 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 10];
- _unit addMagazineCargoGlobal [_riflemag, 40];
- _unit addMagazineCargoGlobal [_glriflemag, 40];
- _unit addMagazineCargoGlobal [_carbinemag, 40];
- _unit addMagazineCargoGlobal [_armag, 22];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -50,18 +51,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 4];
- _unit addMagazineCargoGlobal [_riflemag, 20];
- _unit addMagazineCargoGlobal [_glriflemag, 20];
- _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
@@ -75,10 +77,11 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Light
case "v_helo_l":
{
@@ -93,11 +96,10 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Medium
case "v_helo_m":
{
@@ -105,25 +107,23 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Heavy
case "v_helo_h":
{
@@ -131,13 +131,13 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,8];
- _unit addWeaponCargoGlobal [_rat,2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag,20];
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -145,12 +145,11 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Attack
case "v_helo_a":
{
@@ -163,7 +162,7 @@
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addItemCargoGlobal [_firstaid,2];
};
-
+
//CARGO: Jet
case "v_jet":
{
@@ -176,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -191,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -212,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -233,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/f_assignGear_ctrg.sqf b/f/assignGear/f_assignGear_ctrg.sqf
index 0b2517082..c176dbdb7 100644
--- a/f/assignGear/f_assignGear_ctrg.sqf
+++ b/f/assignGear/f_assignGear_ctrg.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - CTRG
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -70,7 +82,7 @@ _scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
_bipod1 = "bipod_01_F_snd"; // Default bipod
-_bipod2 = "bipod_02_F_blk"; // Black bipod
+_bipod2 = "bipod_01_F_blk"; // Black bipod
// Default setup
_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
@@ -92,6 +104,13 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -118,8 +137,7 @@ _diverMag3 = "20Rnd_556x45_UW_mag";
_glrifle = "arifle_SPAR_01_GL_blk_F";
_glriflemag = "30Rnd_556x45_Stanag_red";
_glriflemag_tr = "30Rnd_556x45_Stanag_Tracer_Red";
-_glmag = "1Rnd_HE_Grenade_shell"; // Ideal for Adversarial - Do not use with 3 Round version
-//_glmag = "3Rnd_HE_Grenade_shell"; // Ideal for Co-op - Do not use with 1 Round version
+_glmag = "1Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
@@ -141,8 +159,8 @@ _grenade = "HandGrenade";
_Mgrenade = "MiniGrenade";
_smokegrenade = "SmokeShell";
_smokegrenadegreen = "SmokeShellGreen";
-_smokegrenadepurple = "SmokeShellPurple";
_smokegrenadeblue = "SmokeShellBlue";
+_smokegrenadepurple = "SmokeShellPurple";
// misc medical items.
_firstaid = "FirstAidKit";
@@ -150,6 +168,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles";
+_nvgPilot = "NVGoggles"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator";
@@ -165,7 +187,7 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_rgr"; // Regular bag
-_baglarge = "B_Kitbag_rgr"; // Large bag
+_bagLarge = "B_Kitbag_rgr"; // Large bag
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "B_UAV_01_backpack_F"; // used by UAV operator
_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
@@ -175,6 +197,8 @@ _baghatag = "B_HMG_01_support_F"; // used by Heavy AT assistant gunner
_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_black_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
// ====================================================================================
@@ -193,14 +217,22 @@ _MMGmag_tr = "130Rnd_338_Mag";
// Marksman rifle
_DMrifle = "arifle_SPAR_03_blk_F";
_DMriflemag = "20Rnd_762x51_Mag";
+_DMriflemag_tr = "20Rnd_762x51_Mag";
// MAR-10
//_DMrifle = "srifle_DMR_02_F";
//_DMriflemag = "10Rnd_338_Mag";
+//_DMriflemag_tr = "10Rnd_338_Mag";
// Rifleman AT
_RAT = "launch_NLAW_F";
-_RATmag = "NLAW_F";
+_RATmag1 = "NLAW_F";
+_RATmag2 = "NLAW_F";
+
+// Alternative RAT weapon
+//_RAT = "launch_MRAWS_green_F";
+//_RATmag1 = "MRAWS_HEAT_F";
+//_RATmag2 = "MRAWS_HE_F";
// Medium AT
_MAT = "launch_NLAW_F";
@@ -208,12 +240,13 @@ _MATmag1 = "NLAW_F";
_MATmag2 = "NLAW_F";
// Surface Air
-_SAM = "launch_B_Titan_short_tna_F";
+_SAM = "launch_B_Titan_tna_F";
_SAMmag = "Titan_AA";
// Heavy AT
-_HAT = "launch_B_Titan_tna_F";
+_HAT = "launch_B_Titan_short_tna_F";
_HATmag1 = "Titan_AT";
+_HATmag2 = "Titan_AP";
// Sniper
_SNrifle = "srifle_LRR_F";
@@ -233,22 +266,22 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
_baseUniform = ["U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3"];
-_baseHelmet = ["H_Watchcap_khk","H_Shemag_olive_hs","H_MilCap_tna_F","H_Cap_khaki_specops_UK","H_Bandanna_camo","H_Bandanna_cbr","H_Bandanna_khk_hs","H_Booniehat_khk","H_Booniehat_khk_hs","H_Booniehat_oli","H_Booniehat_tna_F"];
+_baseHelmet = ["H_Watchcap_khk","H_Shemag_olive_hs","H_Cap_khaki_specops_UK","H_Bandanna_camo","H_Bandanna_cbr","H_Bandanna_khk_hs","H_Booniehat_khk","H_Booniehat_khk_hs","H_Booniehat_oli","H_Cap_headphones"];
_baseGlasses = [];
// Vests
-_lightRig = ["V_Chestrig_khk","V_Chestrig_rgr"];
+_lightRig = ["V_PlateCarrierH_CTRG"];
_standardRig = ["V_PlateCarrierH_CTRG"];
// Diver
@@ -263,6 +296,12 @@ _pilotHelmet = ["H_PilotHelmetHeli_B"];
_pilotRig = ["V_TacVest_blk"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = ["U_B_CombatUniform_mcam_vest"];
_crewHelmet = ["H_HelmetCrew_B"];
@@ -281,14 +320,11 @@ _sfhelmet = ["H_HelmetSpecB","H_HelmetSpecB_paint1","H_HelmetSpecB_paint2","H_He
_sfRig = ["V_PlateCarrierSpec_rgr"];
_sfGlasses = [];
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_B_CTRG_1"];
+_vipHelmet = ["H_Beret_02"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
// ====================================================================================
@@ -329,30 +365,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_ctrg_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_ctrg_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_ctrg_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_ctrg_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
diff --git a/f/assignGear/f_assignGear_ctrg_light.sqf b/f/assignGear/f_assignGear_ctrg_light.sqf
deleted file mode 100644
index 76a63b513..000000000
--- a/f/assignGear/f_assignGear_ctrg_light.sqf
+++ /dev/null
@@ -1,522 +0,0 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 1];
- _unit addmagazines [_ARmag_tr, 1];
- _unit addmagazines [_grenade, 1];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadegreen, 2];
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_pistolmag, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_pistolmag, 4];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_grenade, 1];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_SNrifleMag, 3];
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 2];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_ctrg_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_ctrg_standard.sqf b/f/assignGear/f_assignGear_ctrg_standard.sqf
index 4c4ad9dc7..ddd866207 100644
--- a/f/assignGear/f_assignGear_ctrg_standard.sqf
+++ b/f/assignGear/f_assignGear_ctrg_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - CTRG - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -27,27 +27,31 @@ switch (_typeofUnit) do
case "rat":
{
_unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -62,12 +66,13 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
@@ -79,14 +84,16 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
@@ -96,16 +103,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
@@ -115,7 +124,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -124,6 +135,21 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addItem _medkit;
+ _unit addItem _firstaid;
+ };
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
@@ -131,8 +157,10 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid;
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
};
// Designated Marksman Loadout:
case "dm":
@@ -142,7 +170,8 @@ switch (_typeofUnit) do
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_DMriflemag, 6];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
@@ -154,10 +183,25 @@ switch (_typeofUnit) do
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -167,20 +211,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
{
_unit addBackpack _baghmgg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
@@ -193,24 +237,39 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
_unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Assistant Loadout:
+ case "matag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
// Medium AT Team Leader Loadout:
- case "matag":
+ case "matl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -221,26 +280,27 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -249,18 +309,31 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
};
-// Mortar Gunner Loadout:
- case "mtrg":
+// Heavy AT Team Leader Loadout:
+ case "hatl":
{
- _unit addBackpack _bagmtrg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
+ };
+// Mortar Gunner Loadout:
+ case "mtrg":
+ {
+ _unit addBackpack _bagmtrg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Mortar Team Leader Loadout:
case "mtrag":
@@ -273,23 +346,36 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
{
_unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Medium SAM Assistant Loadout:
+ case "msamag":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
};
// Medium SAM Team Leader Loadout:
- case "msamag":
+ case "msaml":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
@@ -300,23 +386,23 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
{
_unit addBackpack _baghsamg;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -324,7 +410,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -350,7 +436,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
// Vehicle Commander Loadout:
@@ -361,31 +447,42 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
-// Vehicle Gunner Loadout:
- case "vg":
+// Light Vehicle Crew Loadout:
+ case "lvc":
{
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
};
-// Vehicle Driver Loadout:
- case "vd":
+// Light Vehicle Driver Loadout:
+ case "lvd":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
+// Vehicle Gunner Loadout:
+ case "vg":
+ {
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Vehicle Driver Loadout:
+ case "vd":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
@@ -396,37 +493,42 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Loadout:
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
case "pc":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
+ _unit addItem "ToolKit";
};
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
@@ -435,13 +537,15 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
@@ -452,12 +556,12 @@ switch (_typeofUnit) do
case "uav":
{
_unit addBackpack _baguav;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -482,18 +586,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
{
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_riflemag, 4];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
@@ -503,7 +607,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -521,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_ctrg_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_ctrg_v.sqf b/f/assignGear/f_assignGear_ctrg_v.sqf
index 344fff47e..2a600fa0c 100644
--- a/f/assignGear/f_assignGear_ctrg_v.sqf
+++ b/f/assignGear/f_assignGear_ctrg_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
_unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,18 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 10];
- _unit addMagazineCargoGlobal [_riflemag, 40];
- _unit addMagazineCargoGlobal [_glriflemag, 40];
- _unit addMagazineCargoGlobal [_carbinemag, 40];
- _unit addMagazineCargoGlobal [_armag, 22];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -50,18 +51,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 4];
- _unit addMagazineCargoGlobal [_riflemag, 20];
- _unit addMagazineCargoGlobal [_glriflemag, 20];
- _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
@@ -75,10 +77,11 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Light
case "v_helo_l":
{
@@ -93,11 +96,10 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Medium
case "v_helo_m":
{
@@ -105,25 +107,23 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Heavy
case "v_helo_h":
{
@@ -131,13 +131,13 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,8];
- _unit addWeaponCargoGlobal [_rat,2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag,20];
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -145,12 +145,11 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Attack
case "v_helo_a":
{
@@ -163,7 +162,7 @@
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addItemCargoGlobal [_firstaid,2];
};
-
+
//CARGO: Jet
case "v_jet":
{
@@ -176,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -191,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -212,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -233,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/f_assignGear_default.sqf b/f/assignGear/f_assignGear_default.sqf
new file mode 100644
index 000000000..ab5fe26e5
--- /dev/null
+++ b/f/assignGear/f_assignGear_default.sqf
@@ -0,0 +1,8 @@
+
+// Default case for the _typeofUnit switch-case.
+
+ default {
+ private _msg = format ["DEBUG (assignGear.sqf): Error: Unknown type %1 in faction %2 for unit %3.", _typeofUnit, _faction, _unit];
+ systemChat _msg;
+ diag_log _msg;
+ };
diff --git a/f/assignGear/f_assignGear_fia.sqf b/f/assignGear/f_assignGear_fia.sqf
index c9cf53145..cf14d1026 100644
--- a/f/assignGear/f_assignGear_fia.sqf
+++ b/f/assignGear/f_assignGear_fia.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - FIA
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -59,7 +71,7 @@
// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
// ATTACHMENTS - PRIMARY
-_attach1 = "acc_pointer_IR"; // IR Laser
+_attach1 = ""; // IR Laser
_attach2 = "acc_flashlight"; // Flashlight
_silencer1 = "muzzle_snds_M"; // 5.56 suppressor
@@ -85,29 +97,35 @@ _attachments = [_scope1]; // The default attachment set for most units, overwrit
// ATTACHMENTS - HANDGUN
_hg_silencer1 = "muzzle_snds_acp"; // .45 suppressor
-_hg_scope1 = "optic_mrd"; // MRD
+_hg_scope1 = "optic_MRD"; // MRD
// Default setup
_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
-_rifle = ["arifle_TRG21_F","arifle_TRG21_F","arifle_Mk20_plain_F"]; // Slight randomization, biased towards TRG
+_rifle = selectRandom ["arifle_TRG21_F","arifle_TRG21_F","arifle_Mk20_plain_F"]; // Slight randomization, biased towards TRG
_riflemag = "30Rnd_556x45_Stanag_red";
_riflemag_tr = "30Rnd_556x45_Stanag_Tracer_Red";
// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
-_carbine = ["arifle_TRG20_F","arifle_TRG20_F","arifle_Mk20C_plain_F"]; // Slight randomization, biased towards TRG
+_carbine = selectRandom ["arifle_TRG20_F","arifle_TRG20_F","arifle_Mk20C_plain_F"]; // Slight randomization, biased towards TRG
_carbinemag = "30Rnd_556x45_Stanag_red";
_carbinemag_tr = "30Rnd_556x45_Stanag_Tracer_Red";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "hgun_PDW2000_F";
_smgmag = "30Rnd_9x21_Mag";
-_smgmag_tr = "30Rnd_9x21_Mag";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -116,7 +134,7 @@ _diverMag2 = "30Rnd_556x45_Stanag_Tracer_Red";
_diverMag3 = "20Rnd_556x45_UW_mag";
// Rifle with GL and HE grenades (CO, DC, FTLs)
-_glrifle = ["arifle_TRG21_GL_F","arifle_TRG21_GL_F","arifle_Mk20_GL_plain_F"]; // Slight randomization, biased towards TRG_glriflemag = "30Rnd_556x45_Stanag_red";
+_glrifle = selectRandom ["arifle_TRG21_GL_F","arifle_TRG21_GL_F","arifle_Mk20_GL_plain_F"]; // Slight randomization, biased towards TRG
_glriflemag = "30Rnd_556x45_Stanag_red";
_glriflemag_tr = "30Rnd_556x45_Stanag_Tracer_Red";
_glmag = "1Rnd_HE_Grenade_shell";
@@ -150,6 +168,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles";
+_nvgPilot = "NVGoggles"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_03";
@@ -167,26 +189,27 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_cbr";
-_baglarge = "B_Kitbag_cbr";
+_bagLarge = "B_Kitbag_cbr";
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "B_UAV_01_backpack_F"; // used by UAV operator
-_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
-_baghmgag = "B_HMG_01_support_F"; // used by Heavy MG assistant gunner
+_baghmgg = "I_G_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_G_HMG_02_support_F"; // used by Heavy MG assistant gunner
_baghatg = "B_AssaultPack_cbr"; // used by Heavy AT gunner
_baghatag = "B_Kitbag_cbr"; // used by Heavy AT assistant gunner **
_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_digi_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
// ====================================================================================
// UNIQUE, ROLE-SPECIFIC EQUIPMENT
// Automatic Rifleman
-_AR = "LMG_Mk200_F";
-_ARmag = "200Rnd_65x39_cased_Box";
-_ARmag_tr = "200Rnd_65x39_cased_Box_Tracer";
+_AR = "LMG_03_F";
+_ARmag = "200Rnd_556x45_Box_Red_F";
+_ARmag_tr = "200Rnd_556x45_Box_Tracer_Red_F";
// Medium MG
_MMG = "LMG_Zafir_F";
@@ -201,25 +224,27 @@ _MMGmag_tr = "150Rnd_762x54_Box_Tracer";
// Marksman rifle
_DMrifle = "srifle_DMR_06_olive_F";
_DMriflemag = "20Rnd_762x51_Mag";
+_DMriflemag_tr = "20Rnd_762x51_Mag";
// Rifleman AT
-_RAT = "launch_RPG32_F";
-_RATmag = "RPG32_F";
+_RAT = "launch_MRAWS_olive_rail_F";
+_RATmag1 = "MRAWS_HEAT55_F";
+_RATmag2 = "MRAWS_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-_MATmag2 = "NLAW_F";
+_MAT = "launch_MRAWS_olive_rail_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
+
+// Surface Air
+_SAM = "launch_Titan_F";
+_SAMmag = "Titan_AA";
// Heavy AT
_HAT = "launch_Titan_short_F";
_HATmag1 = "Titan_AT";
_HATmag2 = "Titan_AP";
-// Surface Air
-_SAM = "launch_Titan_F";
-_SAMmag = "Titan_AA";
-
// Sniper
_SNrifle = "srifle_LRR_F";
_SNrifleMag = "7Rnd_408_Mag";
@@ -238,13 +263,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -254,7 +279,7 @@ _baseHelmet = ["H_Shemag_olive","H_ShemagOpen_tan","H_Bandanna_khk","H_Booniehat
_baseGlasses = ["G_Bandanna_blk","G_Bandanna_khk","G_Bandanna_oli"];
// Vests
-_lightRig = ["V_BandollierB_cbr"];
+_lightRig = ["V_TacVestIR_blk"];
_standardRig = ["V_TacVestIR_blk"];
// Diver
@@ -269,6 +294,12 @@ _pilotHelmet = _baseHelmet;
_pilotRig = ["V_BandollierB_cbr"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = _baseUniform;
_crewHelmet = _baseHelmet;
@@ -287,15 +318,11 @@ _sfhelmet = _baseHelmet;
_sfRig = ["V_PlateCarrierL_CTRG","V_PlateCarrierH_CTRG"];
_sfGlasses = [];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_I_G_resistanceLeader_F"];
+_vipHelmet = [];
+_vipRig = ["V_I_G_resistanceLeader_F"];
+_vipGlasses = [];
// ====================================================================================
@@ -336,30 +363,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_fia_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_fia_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_fia_standard.sqf"
-};
+// if (_loadout == 1) then {
+ #include "f_assignGear_fia_standard.sqf";
+// };
// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
-
-// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_fiaAK_light.sqf b/f/assignGear/f_assignGear_fiaAK_light.sqf
deleted file mode 100644
index 28d35242b..000000000
--- a/f/assignGear/f_assignGear_fiaAK_light.sqf
+++ /dev/null
@@ -1,537 +0,0 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_ARmag, 1];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_RATmag, 2];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_ARmag, 1];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_smokegrenadegreen, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 6];
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;s
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem _medkit;
- _unit addItem _firstaid;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MMGmag, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg ;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_SNrifleMag, 3];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- _unit addmagazines [_ATmine, 1];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_smokegrenade, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_fia_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_fia_light.sqf b/f/assignGear/f_assignGear_fia_light.sqf
deleted file mode 100644
index a9173b978..000000000
--- a/f/assignGear/f_assignGear_fia_light.sqf
+++ /dev/null
@@ -1,535 +0,0 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_ARmag, 1];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_ARmag, 1];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_smokegrenadegreen, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 6];
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem _medkit;
- _unit addItem _firstaid;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MMGmag_tr, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
- };
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 3];
- _unit addmagazines [_smokegrenade, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_fia_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_fia_standard.sqf b/f/assignGear/f_assignGear_fia_standard.sqf
index 075c293b8..4540b07e1 100644
--- a/f/assignGear/f_assignGear_fia_standard.sqf
+++ b/f/assignGear/f_assignGear_fia_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - FIA - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,123 +18,150 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_ARmag, 1];
_unit addmagazines [_ARmag_tr, 1];
_unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 4];
};
// Rifleman (AT) Loadout:
case "rat":
{
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addmagazines [_RATmag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
{
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
+ _unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
+ _unit addmagazines [_glsmokewhite, 3];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
+ _unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
+ _unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
+ _unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
};
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -142,9 +169,10 @@ switch (_typeofUnit) do
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_DMriflemag, 6];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -154,186 +182,235 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag_tr, 1];
- _unit addmagazines [_smokegrenade, 4];
};
-// Medium MG Team Leader Loadout:
+// Medium MG Assistant Loadout:
case "mmgag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
_unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Team Leader Loadout:
+ case "mmgl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
{
_unit addBackpack _baghmgg;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
{
_unit addBackpack _baghmgag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
{
- _unit addBackpack _bagmtrg ;
+ _unit addBackpack _bagmtrg;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Mortar Team Leader Loadout:
case "mtrag":
{
_unit addBackpack _bagmtrag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
{
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
- _unit addweapon _SAM;
+ _unit addweapon _carbine;
_unit addmagazines [_SAMmag, 1];
+ _unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
{
_unit addBackpack _baghsamg;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -344,7 +421,7 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_SNrifleMag, 6];
_unit addmagazines [_pistolmag, 5];
};
@@ -352,14 +429,38 @@ switch (_typeofUnit) do
case "sp":
{
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
@@ -367,10 +468,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -378,9 +478,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
};
// Vehicle Driver Loadout:
case "vd":
@@ -390,59 +489,47 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_satchel, 2];
@@ -450,15 +537,16 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
@@ -469,12 +557,11 @@ switch (_typeofUnit) do
{
_unit addBackpack _baguav;
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -484,7 +571,7 @@ switch (_typeofUnit) do
_unit addmagazines [_diverMag1, 1];
_unit addweapon _diverWep;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_diverMag1, 4];
_unit addmagazines [_diverMag2, 2];
_unit addmagazines [_diverMag3, 3];
@@ -494,25 +581,23 @@ switch (_typeofUnit) do
case "r":
{
_unit addmagazines [_riflemag, 1];
- _unit addweapon (_rifle call BIS_fnc_selectRandom);
+ _unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Carbineer Loadout:
case "car":
{
_unit addmagazines [_carbinemag, 1];
- _unit addweapon (_carbine call BIS_fnc_selectRandom);
+ _unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
- _unit addmagazines [_carbinemag_tr , 2];
+ _unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Submachinegunner Loadout:
case "smg":
@@ -520,29 +605,30 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Grenadier Loadout:
case "gren":
{
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
- _unit addweapon (_glrifle call BIS_fnc_selectRandom);
+ _unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 4];
};
// Include the loadouts for vehicles and crates:
#include "f_assignGear_fia_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_fia_v.sqf b/f/assignGear/f_assignGear_fia_v.sqf
index 11dba3122..a9207e22a 100644
--- a/f/assignGear/f_assignGear_fia_v.sqf
+++ b/f/assignGear/f_assignGear_fia_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [(_carbine call BIS_fnc_selectRandom), 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
_unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,18 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [(_carbine call BIS_fnc_selectRandom), 10];
- _unit addMagazineCargoGlobal [_riflemag, 40];
- _unit addMagazineCargoGlobal [_glriflemag, 40];
- _unit addMagazineCargoGlobal [_carbinemag, 40];
- _unit addMagazineCargoGlobal [_armag, 22];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -50,18 +51,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [(_carbine call BIS_fnc_selectRandom), 4];
- _unit addMagazineCargoGlobal [_riflemag, 20];
- _unit addMagazineCargoGlobal [_glriflemag, 20];
- _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
@@ -75,6 +77,7 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -93,9 +96,8 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
//CARGO: Rotary Transport Medium
@@ -105,22 +107,20 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [(_carbine call BIS_fnc_selectRandom), 2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -131,13 +131,13 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [(_carbine call BIS_fnc_selectRandom), 8];
- _unit addWeaponCargoGlobal [_rat,2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag,20];
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -145,9 +145,8 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -176,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -191,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -212,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -233,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/f_assignGear_gendarmerie.sqf b/f/assignGear/f_assignGear_gendarmerie.sqf
index f45422f7c..e0c4f5034 100644
--- a/f/assignGear/f_assignGear_gendarmerie.sqf
+++ b/f/assignGear/f_assignGear_gendarmerie.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - GENDARMERIE
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -49,13 +49,20 @@ _attachments = []; // The default attachment set for most units, overwritten i
// ATTACHMENTS - HANDGUN
_hg_silencer1 = "muzzle_snds_L"; // PM 9MM does not accept a suppressor
-_hg_scope1 = "optic_mrd"; // MRD
+_hg_scope1 = "optic_MRD"; // MRD
// Default setup
_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -82,10 +89,17 @@ _smokegrenadegreen = "SmokeShellGreen";
_smokegrenadeblue = "SmokeShellBlue";
_smokegrenadepurple = "SmokeShellPurple";
+// Binoculars
+_binoculars = "Rangefinder";
+
// misc medical items.
_firstaid = "FirstAidKit";
_medkit = "Medikit";
+// Night Vision Goggles
+_nvg = "NVGoggles";
+_nvgPilot = "NVGoggles"; // Integrated_NVG_F for fullscreen NV
+
// Chemlights
_chemgreen = "Chemlight_green";
_chemred = "Chemlight_red";
@@ -94,7 +108,7 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_blk";
-_baglarge = "B_Kitbag_blk";
+_bagLarge = "B_Kitbag_blk";
// ====================================================================================
@@ -111,9 +125,13 @@ _DMriflemag = "20Rnd_762x51_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_pilot = ["pp","pcc"];
+_diver = [];
+_pilot = ["pp","pcc","pc"];
+_crew = [];
+_ghillie = [];
_specOp = ["nf"];
+_jet = [];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -138,15 +156,11 @@ _sfhelmet = ["H_Helmet_Skate"];
_sfRig = ["V_PlateCarrier1_blk"];
_sfGlasses = ["G_Balaclava_blk"];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_B_GEN_Commander_F"];
+_vipHelmet = ["H_Beret_gen_F"];
+_vipRig = ["V_TacVest_gen_F"];
+_vipGlasses = [];
// ====================================================================================
@@ -173,7 +187,7 @@ if (_isMan) then {
// ADD UNIVERSAL ITEMS
// Add items universal to all units of this faction
- _unit linkItem _nvg; // Add and equip the faction's nvg
+ // _unit linkItem _nvg; // Add and equip the faction's nvg
_unit addItem _firstaid; // Add a single first aid kit (FAK)
_unit linkItem "ItemMap"; // Add and equip the map
_unit linkItem "ItemCompass"; // Add and equip a compass
@@ -186,7 +200,7 @@ if (_isMan) then {
// ====================================================================================
// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -206,7 +220,7 @@ switch (_typeofUnit) do
_unit addweapon _pistol;
_unit addmagazines [_pistolmag, 7];
_unit addItem _firstaid;
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenade, 1];
_unit addmagazines [_chemgreen,1];
_unit addmagazines [_chemred,1];
@@ -220,7 +234,7 @@ switch (_typeofUnit) do
_unit addweapon _pistol;
_unit addmagazines [_pistolmag, 7];
_unit addItem _firstaid;
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenade, 1];
_unit addmagazines [_chemgreen,1];
_unit addmagazines [_chemred,1];
@@ -234,7 +248,7 @@ switch (_typeofUnit) do
_unit addweapon _pistol;
_unit addmagazines [_pistolmag, 7];
_unit addItem _firstaid;
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenade, 1];
_unit addmagazines [_chemgreen,1];
_unit addmagazines [_chemred,1];
@@ -253,8 +267,10 @@ switch (_typeofUnit) do
_unit addweapon _pistol;
_unit addmagazines [_pistolmag, 7];
};
-// Heli Pilot Loadout:
- case "pp":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["medic",true]; // Can use medkit
_unit setUnitTrait ["engineer",true]; // Can repair
@@ -304,11 +320,11 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addmagazines [_pistolmag, 7];
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_riflemag, 7];
_attachments pushback (_silencer1); // Adds silencer
_hg_attachments pushback (_hg_silencer1); // Adds pistol silencer
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_grenade, 2];
_unit addmagazines [_smokegrenade, 2];
_unit addmagazines [_chemgreen,1];
@@ -322,7 +338,7 @@ switch (_typeofUnit) do
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_smgm, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_smg,"","","",[_smgmag,500],[],""],2];
_unit addMagazineCargoGlobal [_smgmag, 12];
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addMagazineCargoGlobal [_chemred,4];
@@ -338,34 +354,24 @@ switch (_typeofUnit) do
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_smgm, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_smg,"","","",[_smgmag,500],[],""],2];
_unit addMagazineCargoGlobal [_smgmag, 12];
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addMagazineCargoGlobal [_chemred,4];
_unit addMagazineCargoGlobal [_chemyellow,4];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
_unit addItemCargoGlobal [_firstaid,4];
_unit addItemCargoGlobal [_medkit,1];
};
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
-
-// ====================================================================================
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+ // Include the default case for error handling
+ #include "f_assignGear_default.sqf";
// ====================================================================================
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
+// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
+};
// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_ldf.sqf b/f/assignGear/f_assignGear_ldf.sqf
new file mode 100644
index 000000000..f3f6a9a15
--- /dev/null
+++ b/f/assignGear/f_assignGear_ldf.sqf
@@ -0,0 +1,374 @@
+// F3 - Folk ARPS Assign Gear Script - LDF
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DEFINE EQUIPMENT TABLES
+// The blocks of code below identifies equipment for this faction
+//
+// Defined loadouts:
+// co - commander
+// dc - deputy commander / squad leader
+// m - medic
+// cls - combat life saver
+// ftl - fire team leader
+// ar - automatic rifleman
+// aar - assistant automatic rifleman
+// rat - rifleman (AT)
+// dm - designated marksman
+// mmgl - medium mg team leader
+// mmgg - medium mg gunner
+// mmgag - medium mg assistant
+// matl - medium AT team leader
+// matg - medium AT gunner
+// matag - medium AT assistant
+// hmgg - heavy mg gunner (deployable)
+// hmgag - heavy mg assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
+// mtrg - mortar gunner (deployable)
+// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
+// msamg - medium SAM gunner
+// msamag - medium SAM assistant gunner
+// hsamg - heavy SAM gunner (deployable)
+// hsamag - heavy SAM assistant gunner (deployable)
+// sn - sniper
+// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
+// vc - vehicle commander
+// vg - vehicle gunner
+// vd - vehicle driver (repair)
+// pc - air vehicle crew
+// jp - jet pilot
+// eng - engineer (demo)
+// engm - engineer (mines)
+// uav - UAV operator
+// div - divers
+//
+// r - rifleman
+// car - carabineer
+// smg - submachinegunner
+// gren - grenadier
+//
+// v_car - car/4x4
+// v_tr - truck
+// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
+//
+// crate_small - small ammocrate
+// crate_med - medium ammocrate
+// crate_large - large ammocrate
+//
+// ====================================================================================
+
+// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
+
+// ATTACHMENTS - PRIMARY
+_attach1 = "acc_pointer_IR"; // IR Laser
+_attach2 = "acc_flashlight"; // Flashlight
+
+_silencer1 = "muzzle_snds_M"; // 5.56 suppressor
+_silencer2 = "muzzle_snds_H"; // 6.5 suppressor
+
+_scope1 = "optic_ACO"; // ACO
+_scope2 = "optic_ico_01_f"; // Promet ISR scope
+_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
+
+_bipod1 = "bipod_01_F_blk"; // Default bipod
+_bipod2 = "bipod_01_F_khk"; // Green bipod
+
+// Default setup
+_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
+
+// [] = remove all
+// [_attach1,_scope1,_silencer] = remove all, add items assigned in _attach1, _scope1 and _silencer1
+// [_scope2] = add _scope2, remove rest
+// false = keep attachments as they are
+
+// ====================================================================================
+
+// ATTACHMENTS - HANDGUN
+_hg_silencer1 = "muzzle_snds_acp"; // .45 suppressor
+
+_hg_scope1 = "optic_MRD_black"; // MRD
+
+// Default setup
+_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
+
+// ====================================================================================
+
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
+
+// WEAPON SELECTION
+
+// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
+_rifle = "arifle_MSBS65_F";
+_riflemag = "30Rnd_65x39_caseless_msbs_mag";
+_riflemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+
+// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
+_carbine = "arifle_MSBS65_F";
+_carbinemag = "30Rnd_65x39_caseless_msbs_mag";
+_carbinemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+
+// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
+_smg = "SMG_03C_black";
+_smgmag = "50Rnd_570x28_SMG_03";
+
+// Diver
+_diverWep = "arifle_SDAR_F";
+_diverMag1 = "30Rnd_556x45_Stanag_red";
+_diverMag2 = "30Rnd_556x45_Stanag_Tracer_Red";
+_diverMag3 = "20Rnd_556x45_UW_mag";
+
+// Rifle with GL and HE grenades (CO, DC, FTLs)
+_glrifle = "arifle_MSBS65_GL_F";
+_glriflemag = "30Rnd_65x39_caseless_msbs_mag";
+_glriflemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+_glmag = "1Rnd_HE_Grenade_shell";
+
+// Smoke for FTLs, Squad Leaders, etc
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
+_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
+
+// Flares for FTLs, Squad Leaders, etc
+_glflarewhite = "UGL_FlareWhite_F";
+_glflarered = "UGL_FlareRed_F";
+_glflareyellow = "UGL_FlareYellow_F";
+_glflaregreen = "UGL_FlareGreen_F";
+
+// Pistols (CO, DC, Automatic Rifleman, Medium MG Gunner)
+_pistol = "hgun_Pistol_heavy_01_green_F";
+_pistolmag = "11Rnd_45ACP_Mag";
+
+// Grenades
+_grenade = "HandGrenade";
+_Mgrenade = "MiniGrenade";
+_smokegrenade = "SmokeShell";
+_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
+_smokegrenadepurple = "SmokeShellPurple";
+
+// misc medical items.
+_firstaid = "FirstAidKit";
+_medkit = "Medikit";
+
+// Night Vision Goggles
+_nvg = "NVGoggles_INDEP";
+_nvgPilot = "NVGoggles_INDEP"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
+
+// Laserdesignator
+_laserdesignator = "Laserdesignator_03";
+
+// UAV Terminal
+_uavterminal = "I_E_UavTerminal";
+
+// Chemlights
+_chemgreen = "Chemlight_green";
+_chemred = "Chemlight_red";
+_chemyellow = "Chemlight_yellow";
+_chemblue = "Chemlight_blue";
+
+// Backpacks
+_bag = "B_AssaultPack_eaf_F"; // The standard bag for most classes
+_bagLarge = "B_Carryall_eaf_F"; // Larger bag for some special purpose classes
+_bagdiver = "B_AssaultPack_blk"; // used by divers
+_baguav = "I_E_UAV_01_backpack_F"; // used by UAV operator
+_baghmgg = "I_E_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_E_HMG_02_support_F"; // used by Heavy MG assistant gunner
+_baghatg = "I_E_AT_01_weapon_F"; // used by Heavy AT gunner
+_baghatag = "I_E_HMG_01_support_F"; // used by Heavy AT assistant gunner
+_bagmtrg = "I_E_Mortar_01_weapon_F"; // used by Mortar gunner
+_bagmtrag = "I_E_Mortar_01_support_F"; // used by Mortar assistant gunner
+_baghsamg = "I_E_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "I_E_HMG_01_support_F"; // used by Heavy SAM assistant gunner
+_bagRadio = "B_RadioBag_01_eaf_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
+
+// ====================================================================================
+
+// UNIQUE, ROLE-SPECIFIC EQUIPMENT
+
+// Automatic Rifleman
+_AR = "LMG_Mk200_black_F";
+_ARmag = "200Rnd_65x39_cased_Box_Red";
+_ARmag_tr = "200Rnd_65x39_cased_Box_Tracer_Red";
+
+// Medium MG
+_MMG = "MMG_02_black_F";
+_MMGmag = "130Rnd_338_Mag";
+_MMGmag_tr = "130Rnd_338_Mag";
+
+// Marksman rifle
+_DMrifle = "arifle_MSBS65_Mark_F";
+_DMriflemag = "30Rnd_65x39_caseless_msbs_mag";
+_DMriflemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+
+// Rifleman AT
+_RAT = "launch_MRAWS_green_rail_F";
+_RATmag1 = "MRAWS_HEAT55_F";
+_RATmag2 = "MRAWS_HE_F";
+
+// Medium AT
+_MAT = "launch_MRAWS_green_rail_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
+
+// Surface Air
+_SAM = "launch_I_Titan_eaf_F";
+_SAMmag = "Titan_AA";
+
+// Heavy AT
+_HAT = "launch_I_Titan_short_F";
+_HATmag1 = "Titan_AT";
+_HATmag2 = "Titan_AP";
+
+// Sniper
+_SNrifle = "srifle_GM6_F";
+_SNrifleMag = "5Rnd_127x108_Mag";
+
+// Engineer items
+_ATmine = "ATMine_Range_Mag";
+_satchel = "SatchelCharge_Remote_Mag";
+_democharge = "DemoCharge_Remote_Mag";
+_APmine1 = "APERSBoundingMine_Range_Mag";
+_APmine2 = "APERSMine_Range_Mag";
+
+// ====================================================================================
+
+// CLOTHES AND UNIFORMS
+
+// Define classes. This defines which gear class gets which uniform
+// "medium" vests are used for all classes if they are not assigned a specific uniform
+
+_diver = ["div"];
+_pilot = ["pp","pcc","pc"];
+_crew = ["vc","vg","vd"];
+_ghillie = ["sn","sp"];
+_specOp = [];
+_jet = ["jp"];
+_vip = [];
+
+// Basic clothing
+// The outfit-piece is randomly selected from the array for each unit
+
+_baseUniform = ["U_I_E_Uniform_01_F","U_I_E_Uniform_01_shortsleeve_F","U_I_E_Uniform_01_tanktop_F"];
+_baseHelmet = ["H_HelmetHBK_headset_F","H_HelmetHBK_F","H_HelmetHBK_ear_F","H_HelmetHBK_headset_F"]; //50% chance of the best looking helmet.
+_baseGlasses = [];
+
+// Vests
+_lightRig = ["V_CarrierRigKBT_01_light_EAF_F"];
+_standardRig = ["V_CarrierRigKBT_01_light_EAF_F"];
+
+// Diver
+_diverUniform = ["U_B_Wetsuit"];
+_diverHelmet = [];
+_diverRig = ["V_RebreatherIA"];
+_diverGlasses = ["G_Diving"];
+
+// Pilot
+_pilotUniform = ["U_I_E_Uniform_01_coveralls_F"];
+_pilotHelmet = ["H_PilotHelmetHeli_I_E"];
+_pilotRig = ["V_TacVest_oli"];
+_pilotGlasses = [];
+
+// Jet Pilot
+_jetUniform = ["U_I_E_Uniform_01_coveralls_F"];
+_jetHelmet = ["H_PilotHelmetFighter_I"];
+_jetRig = [];
+_jetGlasses = [];
+
+// Crewman
+_crewUniform = ["U_I_E_Uniform_01_F"];
+_crewHelmet = ["H_Tank_eaf_F"];
+_crewRig = ["V_TacVest_oli"];
+_crewGlasses = [];
+
+// Ghillie
+_ghillieUniform = ["U_B_T_Sniper_F"]; //DLC alternatives: ["U_I_FullGhillie_lsh","U_I_FullGhillie_ard","U_I_FullGhillie_sard"];
+_ghillieHelmet = [];
+_ghillieRig = ["V_Chestrig_rgr"];
+_ghillieGlasses = [];
+
+// Spec Op - no nice stuff for AAF
+_sfuniform = _baseUniform;
+_sfhelmet = _baseHelmet;
+_sfRig = _standardRig;
+_sfGlasses = [];
+
+// VIP/Officer
+_vipUniform = ["U_I_E_Uniform_01_officer_F"];
+_vipHelmet = ["H_Beret_EAF_01_F"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
+
+// ====================================================================================
+
+// This block needs only to be run on an infantry unit
+if (_isMan) then {
+
+ // PREPARE UNIT FOR GEAR ADDITION
+ // The following code removes all existing weapons, items, magazines and backpacks
+
+ removeBackpack _unit;
+ removeAllWeapons _unit;
+ removeAllItemsWithMagazines _unit;
+ removeAllAssignedItems _unit;
+
+ // ====================================================================================
+
+ // HANDLE CLOTHES
+ // Handle clothes and helmets and such using the include file called next.
+
+ #include "f_assignGear_clothes.sqf";
+
+ // ====================================================================================
+
+ // ADD UNIVERSAL ITEMS
+ // Add items universal to all units of this faction
+
+ _unit linkItem _nvg; // Add and equip the faction's nvg
+ _unit addItem _firstaid; // Add a single first aid kit (FAK)
+ _unit linkItem "ItemMap"; // Add and equip the map
+ _unit linkItem "ItemCompass"; // Add and equip a compass
+ _unit linkItem "ItemRadio"; // Add and equip A3's default radio
+ _unit linkItem "ItemWatch"; // Add and equip a watch
+ _unit linkItem "ItemGPS"; // Add and equip a GPS
+
+};
+
+// ====================================================================================
+
+// SELECT LOADOUT
+// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
+
+// _loadout = f_param_loadouts;
+
+// Light Loadout
+// if (_loadout == 0) then {
+// #include "f_assignGear_ldf_light.sqf"
+// };
+
+// Standard Loadout
+// if (_loadout == 1) then {
+ #include "f_assignGear_ldf_standard.sqf";
+// };
+
+// ====================================================================================
diff --git a/f/assignGear/f_assignGear_fiaAK_standard.sqf b/f/assignGear/f_assignGear_ldf_standard.sqf
similarity index 62%
rename from f/assignGear/f_assignGear_fiaAK_standard.sqf
rename to f/assignGear/f_assignGear_ldf_standard.sqf
index e787b805f..937541629 100644
--- a/f/assignGear/f_assignGear_fiaAK_standard.sqf
+++ b/f/assignGear/f_assignGear_ldf_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - LDF - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,11 +18,10 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_ARmag, 1];
_unit addmagazines [_ARmag_tr, 1];
_unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 4];
};
// Rifleman (AT) Loadout:
case "rat":
@@ -30,15 +29,15 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_RATmag, 3];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
@@ -47,12 +46,12 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -61,81 +60,108 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
+ _unit addmagazines [_glsmokewhite, 3];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
- _unit addWeapon "Rangefinder";
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
};
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -143,9 +169,10 @@ switch (_typeofUnit) do
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_DMriflemag, 6];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -155,24 +182,38 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -181,10 +222,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
@@ -193,11 +233,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
@@ -208,66 +248,92 @@ switch (_typeofUnit) do
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
{
- _unit addBackpack _bagmtrg ;
+ _unit addBackpack _bagmtrg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Mortar Team Leader Loadout:
case "mtrag":
@@ -276,11 +342,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -291,24 +357,36 @@ switch (_typeofUnit) do
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -317,23 +395,22 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -344,8 +421,8 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_SNrifleMag, 3];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_SNrifleMag, 6];
_unit addmagazines [_pistolmag, 5];
};
// Spotter Loadout:
@@ -354,12 +431,36 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
@@ -367,10 +468,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -378,9 +478,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
};
// Vehicle Driver Loadout:
case "vd":
@@ -390,59 +489,47 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_satchel, 2];
@@ -450,15 +537,16 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
@@ -471,10 +559,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -496,11 +583,10 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Carbineer Loadout:
case "car":
@@ -508,11 +594,10 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Submachinegunner Loadout:
case "smg":
@@ -520,10 +605,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Grenadier Loadout:
case "gren":
@@ -532,17 +616,19 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 4];
};
// Include the loadouts for vehicles and crates:
-#include "f_assignGear_fia_v.sqf";
+#include "f_assignGear_ldf_v.sqf";
+
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_ldf_v.sqf b/f/assignGear/f_assignGear_ldf_v.sqf
new file mode 100644
index 000000000..bfd172680
--- /dev/null
+++ b/f/assignGear/f_assignGear_ldf_v.sqf
@@ -0,0 +1,243 @@
+// Vehicle & Box LOADOUTS - LDF
+
+// CARGO: CAR - room for 10 weapons and 50 cargo items
+ case "v_car":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 8];
+ _unit addMagazineCargoGlobal [_glriflemag, 8];
+ _unit addMagazineCargoGlobal [_carbinemag, 10];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
+ _unit addMagazineCargoGlobal [_grenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 4];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addItemCargoGlobal [_firstaid,4];
+ };
+
+// CARGO: TRUCK - room for 50 weapons and 200 cargo items
+ case "v_tr":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade, 12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
+ _unit addMagazineCargoGlobal [_glmag, 12];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,8];
+ };
+
+// CARGO: IFV - room for 10 weapons and 100 cargo items
+ case "v_ifv":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
+ _unit addMagazineCargoGlobal [_armag, 8];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addmagazineCargoGlobal [_mgrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 8];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,6];
+ };
+
+//CARGO: TANK
+ case "v_tank":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Light
+ case "v_helo_l":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 2];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Medium
+ case "v_helo_m":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
+ _unit addMagazineCargoGlobal [_riflemag,10];
+ _unit addMagazineCargoGlobal [_glriflemag,10];
+ _unit addMagazineCargoGlobal [_carbinemag,10];
+ _unit addMagazineCargoGlobal [_armag,6];
+ _unit addMagazineCargoGlobal [_grenade,4];
+ _unit addmagazineCargoGlobal [_mgrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,4];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Heavy
+ case "v_helo_h":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag,20];
+ _unit addMagazineCargoGlobal [_glriflemag,20];
+ _unit addMagazineCargoGlobal [_carbinemag,20];
+ _unit addMagazineCargoGlobal [_armag,12];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
+ _unit addMagazineCargoGlobal [_grenade,12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_glsmokewhite,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,6];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Attack
+ case "v_helo_a":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ };
+
+//CARGO: Jet
+ case "v_jet":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,2];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,1];
+ _unit addMagazineCargoGlobal [_chemgreen,2];
+ _unit addItemCargoGlobal [_firstaid,1];
+ _unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+// CRATE: Small, ammo for 1 fireteam
+ case "crate_small":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_glmag, 5];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addMagazineCargoGlobal [_mgrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addItemCargoGlobal [_firstaid, 6];
+ };
+
+// CRATE: Medium, ammo for 1 squad
+ case "crate_med":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 15];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 15];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_glmag, 20];
+ _unit addMagazineCargoGlobal [_glsmokewhite,16];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 25];
+ _unit addMagazineCargoGlobal [_mgrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 6];
+ _unit addItemCargoGlobal [_firstaid, 25];
+ };
+
+// CRATE: Large, ammo for 1 platoon
+ case "crate_large":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 45];
+ _unit addMagazineCargoGlobal [_glriflemag, 60];
+ _unit addMagazineCargoGlobal [_armag, 45];
+ _unit addMagazineCargoGlobal [_carbinemag, 60];
+ _unit addMagazineCargoGlobal [_glmag, 60];
+ _unit addMagazineCargoGlobal [_glsmokewhite,50];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
+ _unit addMagazineCargoGlobal [_grenade, 75];
+ _unit addMagazineCargoGlobal [_mgrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
+ _unit addItemCargoGlobal [_firstaid, 75];
+ };
diff --git a/f/assignGear/f_assignGear_nato.sqf b/f/assignGear/f_assignGear_nato.sqf
index 623854e0b..8b16d568e 100644
--- a/f/assignGear/f_assignGear_nato.sqf
+++ b/f/assignGear/f_assignGear_nato.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - NATO
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
-// msamg - medium SAM gunner"
+// msaml - medium SAM team leader
+// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -70,7 +82,7 @@ _scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
_bipod1 = "bipod_01_F_snd"; // Default bipod
-_bipod2 = "bipod_02_F_blk"; // Black bipod
+_bipod2 = "bipod_01_F_blk"; // Black bipod
// Default setup
_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
@@ -92,6 +104,13 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
@@ -107,7 +126,6 @@ _carbinemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "SMG_01_F";
_smgmag = "30Rnd_45ACP_Mag_SMG_01";
-_smgmag_tr = "30Rnd_45ACP_Mag_SMG_01";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -120,10 +138,10 @@ _glrifle = "arifle_MX_GL_F";
_glriflemag = "30Rnd_65x39_caseless_mag";
_glriflemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
_glmag = "1Rnd_HE_Grenade_shell";
-_glmaglarge = "3Rnd_HE_Grenade_shell";
+//_glmag = "3Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
-_glsmokewhite = "1Rnd_SmokeRed_Grenade_shell";
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
@@ -151,12 +169,16 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles";
+_nvgPilot = "NVGoggles"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator";
// UAV Terminal
-_uavterminal = "B_UavTerminal"; // BLUFOR - FIA
+_uavterminal = "B_UavTerminal";
// Chemlights
_chemgreen = "Chemlight_green";
@@ -166,7 +188,7 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_mcamo";
-_baglarge = "B_Kitbag_mcamo";
+_bagLarge = "B_Kitbag_mcamo";
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "B_UAV_01_backpack_F"; // used by UAV operator
_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
@@ -177,6 +199,7 @@ _bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_mtp_F";
// ====================================================================================
@@ -203,13 +226,14 @@ _DMriflemag = "30Rnd_65x39_caseless_mag";
_DMriflemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
// Rifleman AT
-_RAT = "launch_NLAW_F";
-_RATmag = "NLAW_F";
+_RAT = "launch_MRAWS_sand_F";
+_RATmag1 = "MRAWS_HEAT55_F";
+_RATmag2 = "MRAWS_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-_MATmag2 = "NLAW_F";
+_MAT = "launch_MRAWS_sand_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
// Surface Air
_SAM = "launch_B_Titan_F";
@@ -238,13 +262,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -253,7 +277,7 @@ _baseHelmet = ["H_HelmetB","H_HelmetB_grass","H_HelmetB_sand"];
_baseGlasses = [];
// Vests
-_lightRig = ["V_Chestrig_khk"];
+_lightRig = ["V_PlateCarrier2_rgr"];
_standardRig = ["V_PlateCarrier2_rgr"];
// Diver
@@ -268,6 +292,12 @@ _pilotHelmet = ["H_PilotHelmetHeli_B"];
_pilotRig = ["V_TacVest_blk"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = ["U_B_CombatUniform_mcam_vest"];
_crewHelmet = ["H_HelmetCrew_B"];
@@ -281,19 +311,16 @@ _ghillieRig = ["V_Chestrig_rgr"];
_ghillieGlasses = [];
// Spec Op
-// _sfuniform = ["U_B_SpecopsUniform_sgg"];
-// _sfhelmet = ["H_HelmetSpecB","H_HelmetSpecB_paint1","H_HelmetSpecB_paint2","H_HelmetSpecB_blk"];
-// _sfRig = ["V_PlateCarrierSpec_rgr"];
-// _sfGlasses = [];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
+_sfuniform = ["U_B_SpecopsUniform_sgg"];
+_sfhelmet = ["H_HelmetSpecB","H_HelmetSpecB_paint1","H_HelmetSpecB_paint2","H_HelmetSpecB_blk"];
+_sfRig = ["V_PlateCarrierSpec_rgr"];
+_sfGlasses = [];
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_B_CombatUniform_mcam_tshirt"];
+_vipHelmet = ["H_Beret_02"];
+_vipRig = ["V_TacVest_khk"];
+_vipGlasses = [];
// ====================================================================================
@@ -334,30 +361,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_nato_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_nato_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_nato_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_nato_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_natoPacific.sqf b/f/assignGear/f_assignGear_natoPacific.sqf
index 97642a8ab..cb1566f02 100644
--- a/f/assignGear/f_assignGear_natoPacific.sqf
+++ b/f/assignGear/f_assignGear_natoPacific.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - NATO (PACIFIC)
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -62,15 +74,15 @@
_attach1 = "acc_pointer_IR"; // IR Laser
_attach2 = "acc_flashlight"; // Flashlight
-_silencer1 = "muzzle_snds_M"; // 5.56 suppressor
-_silencer2 = "muzzle_snds_H"; // 6.5 suppressor
+_silencer1 = "muzzle_snds_m_khk_F"; // 5.56 suppressor
+_silencer2 = "muzzle_snds_H_khk_F"; // 6.5 suppressor
_scope1 = "optic_Holosight_khk_F"; // Basic Scope
_scope2 = "optic_Hamr_khk_F"; // RCO Scope
_scope3 = "optic_LRPS_tna_F"; // LRPS
-_bipod1 = "bipod_01_F_snd"; // Default bipod
-_bipod2 = "bipod_02_F_blk"; // Black bipod
+_bipod1 = "bipod_01_F_khk"; // Default bipod
+_bipod2 = "bipod_01_F_blk"; // Black bipod
// Default setup
_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
@@ -92,22 +104,28 @@ _hg_attachments= []; // The default attachment set for handguns, overwritten in
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
_rifle = "arifle_MX_khk_F";
-_riflemag = "30Rnd_65x39_caseless_mag";
-_riflemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
+_riflemag = "30Rnd_65x39_caseless_khaki_mag";
+_riflemag_tr = "30Rnd_65x39_caseless_khaki_mag_Tracer";
// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
_carbine = "arifle_MXC_khk_F";
-_carbinemag = "30Rnd_65x39_caseless_mag";
-_carbinemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
+_carbinemag = "30Rnd_65x39_caseless_khaki_mag";
+_carbinemag_tr = "30Rnd_65x39_caseless_khaki_mag_Tracer";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
_smg = "SMG_01_F";
_smgmag = "30Rnd_45ACP_Mag_SMG_01";
-_smgmag_tr = "30Rnd_45ACP_Mag_SMG_01";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -117,13 +135,13 @@ _diverMag3 = "20Rnd_556x45_UW_mag";
// Rifle with GL and HE grenades (CO, DC, FTLs)
_glrifle = "arifle_MX_GL_khk_F";
-_glriflemag = "30Rnd_65x39_caseless_mag";
-_glriflemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
+_glriflemag = "30Rnd_65x39_caseless_khaki_mag";
+_glriflemag_tr = "30Rnd_65x39_caseless_khaki_mag_Tracer";
_glmag = "1Rnd_HE_Grenade_shell";
-_glmaglarge = "3Rnd_HE_Grenade_shell";
+//_glmag = "3Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
-_glsmokewhite = "1Rnd_SmokeRed_Grenade_shell";
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
@@ -151,12 +169,16 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles_tna_F";
+_nvgPilot = "NVGoggles_tna_F"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_01_khk_F";
// UAV Terminal
-_uavterminal = "B_UavTerminal"; // BLUFOR - FIA
+_uavterminal = "B_UavTerminal";
// Chemlights
_chemgreen = "Chemlight_green";
@@ -166,17 +188,18 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_tna_F";
-_baglarge = "B_Kitbag_mcamo";
+_bagLarge = "B_Kitbag_rgr";
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "B_UAV_01_backpack_F"; // used by UAV operator
_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
_baghmgag = "B_HMG_01_support_F"; // used by Heavy MG assistant gunner
-_baghatg = "B_AssaultPack_mcamo"; // used by Heavy AT gunner
-_baghatag = "B_Kitbag_mcamo"; // used by Heavy AT assistant gunner **
+_baghatg = "B_AssaultPack_tna_F"; // used by Heavy AT gunner
+_baghatag = "B_Kitbag_rgr"; // used by Heavy AT assistant gunner **
_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_tropic_F";
// ====================================================================================
@@ -184,11 +207,11 @@ _baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
// Automatic Rifleman
_AR = "arifle_MX_SW_khk_F";
-_ARmag = "100Rnd_65x39_caseless_mag";
-_ARmag_tr = "100Rnd_65x39_caseless_mag_Tracer";
+_ARmag = "100Rnd_65x39_caseless_khaki_mag";
+_ARmag_tr = "100Rnd_65x39_caseless_khaki_mag_tracer";
// Medium MG
-_MMG = "MMG_02_camo_F";
+_MMG = "MMG_02_black_F";
_MMGmag = "130Rnd_338_Mag";
_MMGmag_tr = "130Rnd_338_Mag";
@@ -199,29 +222,30 @@ _MMGmag_tr = "130Rnd_338_Mag";
// Marksman rifle
_DMrifle = "arifle_MXM_khk_F";
-_DMriflemag = "30Rnd_65x39_caseless_mag";
-_DMriflemag_tr = "30Rnd_65x39_caseless_mag_Tracer";
+_DMriflemag = "30Rnd_65x39_caseless_khaki_mag";
+_DMriflemag_tr = "30Rnd_65x39_caseless_khaki_mag_Tracer";
// Rifleman AT
-_RAT = "launch_NLAW_F";
-_RATmag = "NLAW_F";
+_RAT = "launch_MRAWS_green_F";
+_RATmag1 = "MRAWS_HEAT_F";
+_RATmag2 = "MRAWS_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-_MATmag2 = "NLAW_F";
+_MAT = "launch_MRAWS_green_F";
+_MATmag1 = "MRAWS_HEAT55_F";
+_MATmag2 = "MRAWS_HE_F";
// Surface Air
-_SAM = "launch_B_Titan_F";
+_SAM = "launch_B_Titan_tna_F";
_SAMmag = "Titan_AA";
// Heavy AT
-_HAT = "launch_B_Titan_short_F";
+_HAT = "launch_B_Titan_short_tna_F";
_HATmag1 = "Titan_AT";
_HATmag2 = "Titan_AP";
// Sniper
-_SNrifle = "srifle_LRR_camo_F";
+_SNrifle = "srifle_LRR_tna_F";
_SNrifleMag = "7Rnd_408_Mag";
// Engineer items
@@ -238,13 +262,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -253,7 +277,7 @@ _baseHelmet = ["H_HelmetB_tna_F"];
_baseGlasses = [];
// Vests
-_lightRig = ["V_Chestrig_oli"];
+_lightRig = ["V_PlateCarrier2_tna_F"];
_standardRig = ["V_PlateCarrier2_tna_F"];
// Diver
@@ -268,32 +292,35 @@ _pilotHelmet = ["H_PilotHelmetHeli_B"];
_pilotRig = ["V_TacVest_blk"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
-_crewUniform = ["U_B_CombatUniform_mcam_vest"];
+_crewUniform = ["U_B_T_Soldier_SL_F"];
_crewHelmet = ["H_HelmetCrew_B"];
-_crewRig = ["V_Chestrig_khk"];
+_crewRig = ["V_Chestrig_oli"];
_crewGlasses = [];
// Ghillie
-_ghillieUniform = ["U_B_GhillieSuit"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
+_ghillieUniform = ["U_B_T_Sniper_F"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
_ghillieHelmet = [];
-_ghillieRig = ["V_Chestrig_khk"];
+_ghillieRig = ["V_Chestrig_oli"];
_ghillieGlasses = [];
// Spec Op
-// _sfuniform = ["U_B_SpecopsUniform_sgg"];
-// _sfhelmet = ["H_HelmetSpecB","H_HelmetSpecB_paint1","H_HelmetSpecB_paint2","H_HelmetSpecB_blk"];
-// _sfRig = ["V_PlateCarrierSpec_rgr"];
-// _sfGlasses = [];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
+_sfuniform = ["U_B_SpecopsUniform_sgg"];
+_sfhelmet = ["H_HelmetSpecB","H_HelmetSpecB_paint1","H_HelmetSpecB_paint2","H_HelmetSpecB_blk"];
+_sfRig = ["V_PlateCarrierSpec_rgr"];
+_sfGlasses = [];
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_B_T_Soldier_AR_F"];
+_vipHelmet = ["H_Beret_02"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
// ====================================================================================
@@ -334,30 +361,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_natoPacific_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_natoPacific_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_natoPacific_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
+// if (_loadout == 1) then {
+ #include "f_assignGear_natoPacific_standard.sqf";
+// };
// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_natoPacific_standard.sqf b/f/assignGear/f_assignGear_natoPacific_standard.sqf
index 582420916..734e704e3 100644
--- a/f/assignGear/f_assignGear_natoPacific_standard.sqf
+++ b/f/assignGear/f_assignGear_natoPacific_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - NATO Pacific - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -29,25 +29,29 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -62,12 +66,13 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
@@ -82,12 +87,13 @@ switch (_typeofUnit) do
_unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
@@ -97,16 +103,18 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
@@ -116,7 +124,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -125,6 +135,7 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
@@ -135,15 +146,31 @@ switch (_typeofUnit) do
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
- _unit addmagazines [_DMriflemag , 1];
+ _unit addmagazines [_DMriflemag, 1];
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_DMriflemag , 4];
+ _unit addmagazines [_DMriflemag, 4];
_unit addmagazines [_DMriflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
@@ -156,10 +183,25 @@ switch (_typeofUnit) do
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
@@ -169,9 +211,9 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -181,13 +223,13 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghmgag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -195,23 +237,24 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
@@ -223,26 +266,41 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -251,7 +309,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -275,7 +346,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -287,13 +358,13 @@ switch (_typeofUnit) do
_unit addweapon _SAM;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -302,7 +373,20 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -312,13 +396,13 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
@@ -326,7 +410,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -352,7 +436,7 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
// Vehicle Commander Loadout:
@@ -363,31 +447,42 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
-// Vehicle Gunner Loadout:
- case "vg":
+// Light Vehicle Crew Loadout:
+ case "lvc":
{
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
};
-// Vehicle Driver Loadout:
- case "vd":
+// Light Vehicle Driver Loadout:
+ case "lvd":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
+// Vehicle Gunner Loadout:
+ case "vg":
+ {
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
};
-// Helicopter Pilot Loadout:
- case "pp":
+// Vehicle Driver Loadout:
+ case "vd":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
@@ -398,31 +493,36 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Helicopter Crew Chief Loadout:
- case "pcc":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
case "pc":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
+ _unit addItem "ToolKit";
};
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
@@ -437,7 +537,9 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
@@ -484,7 +586,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
@@ -495,7 +597,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
@@ -505,7 +607,7 @@ switch (_typeofUnit) do
_unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -523,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_nato_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_fiaAK.sqf b/f/assignGear/f_assignGear_natoWoodland.sqf
similarity index 59%
rename from f/assignGear/f_assignGear_fiaAK.sqf
rename to f/assignGear/f_assignGear_natoWoodland.sqf
index 3bcb012a6..1ab1946ee 100644
--- a/f/assignGear/f_assignGear_fiaAK.sqf
+++ b/f/assignGear/f_assignGear_natoWoodland.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - FIA (AK)
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - NATO (Woodland)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -65,15 +77,15 @@ _attach2 = "acc_flashlight"; // Flashlight
_silencer1 = "muzzle_snds_M"; // 5.56 suppressor
_silencer2 = "muzzle_snds_H"; // 6.5 suppressor
-_scope1 = "optic_ACO"; // ACO
+_scope1 = "optic_Holosight_blk_F"; // Basic Scope
_scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
-_bipod1 = "bipod_02_F_blk"; // Default bipod
-_bipod2 = "bipod_02_F_blk"; // Black bipod
+_bipod1 = "bipod_01_F_blk"; // Default bipod
+_bipod2 = "bipod_01_F_khk"; // Green bipod
// Default setup
-_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
+_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
// [] = remove all
// [_attach1,_scope1,_silencer] = remove all, add items assigned in _attach1, _scope1 and _silencer1
@@ -83,31 +95,35 @@ _attachments = [_scope1]; // The default attachment set for most units, overwr
// ====================================================================================
// ATTACHMENTS - HANDGUN
-_hg_silencer1 = ""; // PM 9MM does not accept a suppressor
+_hg_silencer1 = "muzzle_snds_acp"; // .45 suppressor
-_hg_scope1 = "optic_mrd"; // MRD
+_hg_scope1 = "optic_MRD_black"; // MRD
// Default setup
_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
-_rifle = "arifle_AKM_F";
-_riflemag = "30Rnd_762x39_Mag_F";
-_riflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+_rifle = "arifle_MX_black_F";
+_riflemag = "30Rnd_65x39_caseless_black_mag";
+_riflemag_tr = "30Rnd_65x39_caseless_black_mag_Tracer";
// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
-_carbine = "arifle_AKS_F";
-_carbinemag = "30Rnd_545x39_Mag_F";
-_carbinemag_tr = "30Rnd_545x39_Mag_Tracer_F";
+_carbine = "arifle_MXC_black_F";
+_carbinemag = "30Rnd_65x39_caseless_black_mag";
+_carbinemag_tr = "30Rnd_65x39_caseless_black_mag_Tracer";
// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
-_smg = "hgun_PDW2000_F";
-_smgmag = "30Rnd_9x21_Mag";
-_smgmag_tr = "30Rnd_9x21_Mag";
+_smg = "SMG_01_F";
+_smgmag = "30Rnd_45ACP_Mag_SMG_01";
// Diver
_diverWep = "arifle_SDAR_F";
@@ -116,10 +132,11 @@ _diverMag2 = "30Rnd_556x45_Stanag_Tracer_Red";
_diverMag3 = "20Rnd_556x45_UW_mag";
// Rifle with GL and HE grenades (CO, DC, FTLs)
-_glrifle = "arifle_SPAR_01_GL_blk_F";
-_glriflemag = "30Rnd_556x45_Stanag_red";
-_glriflemag_tr = "30Rnd_556x45_Stanag_Tracer_Red";
+_glrifle = "arifle_MX_GL_black_F";
+_glriflemag = "30Rnd_65x39_caseless_black_mag";
+_glriflemag_tr = "30Rnd_65x39_caseless_black_mag_Tracer";
_glmag = "1Rnd_HE_Grenade_shell";
+//_glmag = "3Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
@@ -127,14 +144,14 @@ _glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
// Flares for FTLs, Squad Leaders, etc
-_glflarewhite = "UGL_FlareWhite_F";
-_glflarered = "UGL_FlareRed_F";
-_glflareyellow = "UGL_FlareYellow_F";
-_glflaregreen = "UGL_FlareGreen_F";
+_glflarewhite = "3Rnd_UGL_FlareWhite_F";
+_glflarered = "3Rnd_UGL_FlareRed_F";
+_glflareyellow = "3Rnd_UGL_FlareYellow_F";
+_glflaregreen = "3Rnd_UGL_FlareGreen_F";
// Pistols (CO, DC, Automatic Rifleman, Medium MG Gunner)
-_pistol = "hgun_Pistol_01_F";
-_pistolmag = "10Rnd_9x21_Mag";
+_pistol = "hgun_Pistol_heavy_01_green_F";
+_pistolmag = "11Rnd_45ACP_Mag";
// Grenades
_grenade = "HandGrenade";
@@ -149,15 +166,17 @@ _firstaid = "FirstAidKit";
_medkit = "Medikit";
// Night Vision Goggles
-_nvg = "NVGoggles";
+_nvg = "NVGoggles_INDEP";
+_nvgPilot = "NVGoggles_INDEP"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
-_laserdesignator = "Laserdesignator_03";
+_laserdesignator = "Laserdesignator_01_khk_F";
// UAV Terminal
-_uavterminal = "B_UavTerminal"; // BLUFOR - FIA
-//_uavterminal = "O_UavTerminal"; // OPFOR - FIA
-//_uavterminal = "I_UavTerminal"; // INDP - FIA
+_uavterminal = "B_UavTerminal";
// Chemlights
_chemgreen = "Chemlight_green";
@@ -166,60 +185,63 @@ _chemyellow = "Chemlight_yellow";
_chemblue = "Chemlight_blue";
// Backpacks
-_bag = "B_AssaultPack_cbr";
-_baglarge = "B_Kitbag_cbr";
+_bag = "B_AssaultPack_wdl_f";
+_bagLarge = "B_Kitbag_rgr";
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "B_UAV_01_backpack_F"; // used by UAV operator
-_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
-_baghmgag = "B_HMG_01_support_F"; // used by Heavy MG assistant gunner
-_baghatg = "B_AssaultPack_cbr"; // used by Heavy AT gunner
-_baghatag = "B_Kitbag_cbr"; // used by Heavy AT assistant gunner **
-_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
-_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
-_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
-_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_baghmgg = "I_HMG_01_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_HMG_01_support_F"; // used by Heavy MG assistant gunner
+_baghatg = "B_AssaultPack_wdl_f"; // used by Heavy AT gunner
+_baghatag = "B_Kitbag_rgr"; // used by Heavy AT assistant gunner **
+_bagmtrg = "I_Mortar_01_weapon_F"; // used by Mortar gunner
+_bagmtrag = "I_Mortar_01_support_F"; // used by Mortar assistant gunner
+_baghsamg = "I_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "I_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_wdl_F";
// ====================================================================================
// UNIQUE, ROLE-SPECIFIC EQUIPMENT
// Automatic Rifleman
-_AR = "LMG_Mk200_F";
-_ARmag = "200Rnd_65x39_cased_Box";
-_ARmag_tr = "200Rnd_65x39_cased_Box_Tracer";
+_AR = "arifle_MX_SW_black_F";
+_ARmag = "100Rnd_65x39_caseless_black_mag";
+_ARmag_tr = "100Rnd_65x39_caseless_black_mag_Tracer";
// Medium MG
-_MMG = "LMG_Zafir_F";
-_MMGmag = "150Rnd_762x54_Box";
-_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
+_MMG = "MMG_02_black_F";
+_MMGmag = "130Rnd_338_Mag";
+_MMGmag_tr = "130Rnd_338_Mag";
// NON-DLC ALTERNATIVE:
-// _MMG = "MMG_02_camo_F";
+// _MMG = "LMG_Zafir_F";
// _MMGmag = "150Rnd_762x54_Box";
// _MMGmag_tr = "150Rnd_762x54_Box"_Tracer";
// Marksman rifle
-_DMrifle = "srifle_DMR_06_olive_F";
-_DMriflemag = "20Rnd_762x51_Mag";
+_DMrifle = "arifle_MXM_black_F";
+_DMriflemag = "30Rnd_65x39_caseless_black_mag";
+_DMriflemag_tr = "30Rnd_65x39_caseless_black_mag_Tracer";
// Rifleman AT
-_RAT = "launch_RPG7_F";
-_RATmag = "RPG7_F";
+_RAT = "launch_MRAWS_green_F";
+_RATmag1 = "MRAWS_HEAT55_F";
+_RATmag2 = "MRAWS_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-_MATmag2 = "NLAW_F";
+_MAT = "launch_MRAWS_green_F";
+_MATmag1 = "MRAWS_HEAT_F";
+_MATmag2 = "MRAWS_HE_F";
+
+// Surface Air
+_SAM = "launch_B_Titan_Olive_F";
+_SAMmag = "Titan_AA";
// Heavy AT
-_HAT = "launch_Titan_short_F";
+_HAT = "launch_I_Titan_short_F";
_HATmag1 = "Titan_AT";
_HATmag2 = "Titan_AP";
-// Surface Air
-_SAM = "launch_Titan_F";
-_SAMmag = "Titan_AA";
-
// Sniper
_SNrifle = "srifle_LRR_F";
_SNrifleMag = "7Rnd_408_Mag";
@@ -238,24 +260,23 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
-
-_baseUniform = ["U_BG_leader","U_BG_Guerilla1_1","U_BG_Guerilla2_1","U_BG_Guerilla2_2","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2","U_BG_Guerrilla_6_1"];
-_baseHelmet = ["H_Shemag_olive","H_ShemagOpen_tan","H_Bandanna_khk","H_Booniehat_khk","H_Cap_oli","H_Watchcap_blk"];
-_baseGlasses = ["G_Bandanna_blk","G_Bandanna_khk","G_Bandanna_oli"];
+_baseUniform = ["U_B_CombatUniform_mcam_wdl_f","U_B_CombatUniform_tshirt_mcam_wdL_f","U_B_CombatUniform_vest_mcam_wdl_f"];
+_baseHelmet = ["H_HelmetB_plain_wdl"];
+_baseGlasses = [];
// Vests
-_lightRig = ["V_BandollierB_cbr"];
-_standardRig = ["V_TacVestIR_blk"];
+_lightRig = ["V_PlateCarrier2_wdl"];
+_standardRig = ["V_PlateCarrier2_wdl"];
// Diver
_diverUniform = ["U_B_Wetsuit"];
@@ -264,38 +285,40 @@ _diverRig = ["V_RebreatherB"];
_diverGlasses = ["G_Diving"];
// Pilot
-_pilotUniform = ["U_C_WorkerCoveralls"];
-_pilotHelmet = _baseHelmet;
-_pilotRig = ["V_BandollierB_cbr"];
+_pilotUniform = ["U_B_HeliPilotCoveralls"];
+_pilotHelmet = ["H_PilotHelmetHeli_B"];
+_pilotRig = ["V_TacVest_blk"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
-_crewUniform = _baseUniform;
-_crewHelmet = _baseHelmet;
-_crewRig = ["V_BandollierB_cbr"];
+_crewUniform = ["U_B_CombatUniform_vest_mcam_wdl_f"];
+_crewHelmet = ["H_HelmetCrew_B"];
+_crewRig = ["V_Chestrig_rgr"];
_crewGlasses = [];
// Ghillie
-_ghillieUniform = ["U_B_GhillieSuit"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
+_ghillieUniform = ["U_B_T_Sniper_F"]; //DLC alternatives: ["U_B_T_FullGhillie_tna_F"];
_ghillieHelmet = [];
_ghillieRig = ["V_Chestrig_rgr"];
_ghillieGlasses = [];
-// Spec Op (CTRG)
-_sfuniform = ["U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3"];
-_sfhelmet = _baseHelmet;
-_sfRig = ["V_PlateCarrierL_CTRG","V_PlateCarrierH_CTRG"];
+// Spec Op
+_sfuniform = ["U_B_CombatUniform_vest_mcam_wdl_f"];
+_sfhelmet = ["H_HelmetSpecB_wdl"];
+_sfRig = ["V_PlateCarrierSpec_wdl"];
_sfGlasses = [];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_B_CombatUniform_tshirt_mcam_wdl_f"];
+_vipHelmet = ["H_Beret_02"];
+_vipRig = ["V_TacVest_oli"];
+_vipGlasses = [];
// ====================================================================================
@@ -336,30 +359,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_fiaAK_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_natoWoodland_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_fiaAK_standard.sqf"
-};
-
-// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
-
-// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
+// if (_loadout == 1) then {
+ #include "f_assignGear_natoWoodland_standard.sqf";
+// };
// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_natoPacific_light.sqf b/f/assignGear/f_assignGear_natoWoodland_standard.sqf
similarity index 57%
rename from f/assignGear/f_assignGear_natoPacific_light.sqf
rename to f/assignGear/f_assignGear_natoWoodland_standard.sqf
index 955a99f71..a0453f85b 100644
--- a/f/assignGear/f_assignGear_natoPacific_light.sqf
+++ b/f/assignGear/f_assignGear_natoWoodland_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - NATO - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,9 +18,9 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 2];
- _unit addmagazines [_ARmag_tr, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_ARmag, 3];
+ _unit addmagazines [_ARmag_tr, 2];
_unit addmagazines [_grenade, 1];
};
// Rifleman (AT) Loadout:
@@ -29,25 +29,29 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -56,65 +60,74 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
@@ -122,27 +135,44 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
- _unit addmagazines [_DMriflemag , 1];
+ _unit addmagazines [_DMriflemag, 1];
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag , 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
_unit addmagazines [_DMriflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -152,23 +182,38 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
};
-// Medium MG Team Leader Loadout:
+// Medium MG Assistant Loadout:
case "mmgag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Team Leader Loadout:
+ case "mmgl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -177,77 +222,107 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghmgag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -256,7 +331,7 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
};
@@ -267,11 +342,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -282,23 +357,36 @@ switch (_typeofUnit) do
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -307,22 +395,22 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -333,9 +421,9 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_SNrifleMag, 6];
+ _unit addmagazines [_pistolmag, 5];
};
// Spotter Loadout:
case "sp":
@@ -343,23 +431,46 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
// Vehicle Commander Loadout:
case "vc":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -367,7 +478,7 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
};
// Vehicle Driver Loadout:
@@ -378,72 +489,68 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Helicopter Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Helicopter Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Helicopter Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
+ _unit addmagazines [_satchel, 2];
};
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
+ _unit addmagazines [_ATmine, 1];
};
// UAV Operator Loadout:
case "uav":
@@ -452,8 +559,8 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit linkItem _uavterminal;
};
@@ -464,8 +571,8 @@ switch (_typeofUnit) do
_unit addmagazines [_diverMag1, 1];
_unit addweapon _diverWep;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_diverMag1, 4];
_unit addmagazines [_diverMag2, 2];
_unit addmagazines [_diverMag3, 3];
_unit addmagazines [_grenade, 3];
@@ -476,8 +583,8 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
@@ -487,8 +594,8 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
};
@@ -498,8 +605,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
@@ -509,8 +616,8 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
};
@@ -518,6 +625,9 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_nato_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
diff --git a/f/assignGear/f_assignGear_nato_light.sqf b/f/assignGear/f_assignGear_nato_light.sqf
deleted file mode 100644
index ce6793280..000000000
--- a/f/assignGear/f_assignGear_nato_light.sqf
+++ /dev/null
@@ -1,524 +0,0 @@
- // F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DEFINE UNIT TYPE LOADOUTS
-// The following blocks of code define loadouts for each type of unit (the unit type
-// is passed to the script in the first variable)
-
-switch (_typeofUnit) do
-{
-
-// ====================================================================================
-// Automatic Rifleman Loadout:
- case "ar":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_ARmag, 1];
- _unit addweapon _AR;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_ARmag, 2];
- _unit addmagazines [_ARmag_tr, 1];
- _unit addmagazines [_grenade, 1];
- };
-// Rifleman (AT) Loadout:
- case "rat":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
- _unit addweapon _RAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Assistant Autorifleman Loadout:
- case "aar":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Fire Team Leader Loadout:
- case "ftl":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadegreen, 2];
- };
-// Squad Leader / DC Loadout:
- case "dc":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- _unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_pistolmag, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// Platoon CO Loadout:
- case "co":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokewhite, 1];
- _unit addweapon _glrifle;
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_pistolmag, 4];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_smokegrenadepurple, 3];
- };
-// JTAC Loadout:
- case "jtac":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glsmokered, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addmagazines ["Laserbatteries", 1];
- _unit addWeapon _laserdesignator;
- };
-// Medic Loadout:
- case "m":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addItem _medkit;
- _unit addItem _firstaid ;
- };
-// Designated Marksman Loadout:
- case "dm":
- {
- _unit addmagazines [_DMriflemag, 1];
- _unit addweapon _DMrifle;
- _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_DMriflemag, 2];
- _unit addmagazines [_DMriflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- };
-// Medium MG Gunner Loadout:
- case "mmgg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_MMGmag, 1];
- _unit addweapon _MMG;
- _attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
- };
-// Medium MG Team Leader Loadout:
- case "mmgag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy MG Gunner Loadout:
- case "hmgg":
- {
- _unit addBackpack _baghmgg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy MG Team Leader Loadout:
- case "hmgag":
- {
- _unit addBackpack _baghmgag ;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium AT Gunner Loadout:
- case "matg":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_MATmag1, 1];
- _unit addweapon _MAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_MATmag1, 1];
- };
-// Medium AT Team Leader Loadout:
- case "matag":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Heavy AT Gunner Loadout:
- case "hatg":
- {
- _unit addBackpack _baghatg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_HATmag1, 1];
- _unit addweapon _HAT;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy AT Team Leader Loadout:
- case "hatag":
- {
- _unit addBackpack _baghatag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
- };
-// Mortar Gunner Loadout:
- case "mtrg":
- {
- _unit addBackpack _bagmtrg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Mortar Team Leader Loadout:
- case "mtrag":
- {
- _unit addBackpack _bagmtrag;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Medium SAM Gunner Loadout:
- case "msamg":
- {
- _unit addBackpack _bag;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addmagazines [_SAMmag, 1];
- _unit addweapon _SAM;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Medium SAM Team Leader Loadout:
- case "msamag":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
- };
-// Heavy SAM Gunner Loadout:
- case "hsamg":
- {
- _unit addBackpack _baghsamg;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- };
-// Heavy SAM Team Leader Loadout:
- case "hsamag":
- {
- _unit addBackpack _baghmgag ;
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 1];
- _unit addWeapon "Rangefinder";
- };
-// Sniper Loadout:
- case "sn":
- {
- _unit addmagazines [_SNrifleMag, 1];
- _unit addweapon _SNrifle;
- _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
- _unit addmagazines [_pistolmag, 1];
- _unit addweapon _pistol;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_SNrifleMag, 4];
- _unit addmagazines [_pistolmag, 3];
- };
-// Spotter Loadout:
- case "sp":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
- _unit addmagazines [_SNrifleMag, 3];
- };
-// Vehicle Commander Loadout:
- case "vc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
- };
-// Vehicle Gunner Loadout:
- case "vg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Vehicle Driver Loadout:
- case "vd":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Helicopter Pilot Loadout:
- case "pp":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Helicopter Crew Chief Loadout:
- case "pcc":
- {
- _unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
- };
-// Helicopter Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addmagazines [_smgmag, 4];
- };
-// Engineer (Demo) Loadout:
- case "eng":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
- };
-// Engineer (Mines) Loadout:
- case "engm":
- {
- _unit addBackpack _baglarge;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- _unit addItem "ToolKit";
- _unit addItem "MineDetector";
- _unit addmagazines [_APmine2, 4];
- };
-// UAV Operator Loadout:
- case "uav":
- {
- _unit addBackpack _baguav;
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit linkItem _uavterminal;
- };
-// Diver Loadout:
- case "div":
- {
- _unit addBackpack _bagdiver;
- _unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep ;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
- _unit addmagazines [_diverMag2, 2];
- _unit addmagazines [_diverMag3, 3];
- _unit addmagazines [_grenade, 3];
- };
-// Rifleman Loadout:
- case "r":
- {
- _unit addmagazines [_riflemag, 1];
- _unit addweapon _rifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_riflemag, 2];
- _unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Carbineer Loadout:
- case "car":
- {
- _unit addmagazines [_carbinemag, 1];
- _unit addweapon _carbine;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_carbinemag, 2];
- _unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 2];
- };
-// Submachinegunner Loadout:
- case "smg":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_grenade, 2];
- };
-// Grenadier Loadout:
- case "gren":
- {
- _unit addmagazines [_glriflemag, 1];
- _unit addmagazines [_glmag, 1];
- _unit addweapon _glrifle;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_glriflemag, 2];
- _unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glmag, 5];
- };
-
-// Include the loadouts for vehicles and crates:
-#include "f_assignGear_nato_v.sqf";
-
-// ====================================================================================
-
-// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
diff --git a/f/assignGear/f_assignGear_nato_standard.sqf b/f/assignGear/f_assignGear_nato_standard.sqf
index 6f283f131..1f448a640 100644
--- a/f/assignGear/f_assignGear_nato_standard.sqf
+++ b/f/assignGear/f_assignGear_nato_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - NATO - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -17,7 +17,7 @@ switch (_typeofUnit) do
_unit addmagazines [_ARmag, 1];
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_ARmag, 3];
_unit addmagazines [_ARmag_tr, 2];
@@ -29,25 +29,29 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
{
+ _unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_ARmag, 2];
_unit addmagazines [_grenade, 2];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -55,25 +59,26 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
@@ -82,41 +87,46 @@ switch (_typeofUnit) do
_unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
@@ -125,15 +135,32 @@ switch (_typeofUnit) do
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addItem _medkit;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ };
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
};
// Designated Marksman Loadout:
case "dm":
@@ -141,7 +168,7 @@ switch (_typeofUnit) do
_unit addmagazines [_DMriflemag, 1];
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_DMriflemag, 4];
_unit addmagazines [_DMriflemag_tr, 2];
@@ -154,24 +181,39 @@ switch (_typeofUnit) do
_unit addmagazines [_MMGmag, 1];
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_MMGmag, 1];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -179,79 +221,108 @@ switch (_typeofUnit) do
_unit addBackpack _baghmgg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghmgag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_MATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -259,7 +330,7 @@ switch (_typeofUnit) do
_unit addBackpack _bagmtrg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
@@ -270,12 +341,12 @@ switch (_typeofUnit) do
_unit addBackpack _bagmtrag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -285,24 +356,37 @@ switch (_typeofUnit) do
_unit addweapon _carbine;
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
- _unit addBackpack _baglarge;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -310,23 +394,23 @@ switch (_typeofUnit) do
_unit addBackpack _baghsamg;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag ;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -336,7 +420,7 @@ switch (_typeofUnit) do
_attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_SNrifleMag, 6];
_unit addmagazines [_pistolmag, 5];
@@ -346,32 +430,54 @@ switch (_typeofUnit) do
{
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
-
_attachments pushback (_attach1); // Adds laser pointer, keeps default scope
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
};
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
// Vehicle Commander Loadout:
case "vc":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
};
@@ -382,51 +488,44 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Helicopter Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smgmag, 3];
};
-// Helicopter Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
_unit addItem "ToolKit";
};
-// Helicopter Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid ;
- _unit addmagazines [_smokegrenadeblue, 3];
- _unit addmagazines [_smgmag, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -438,10 +537,12 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
- _unit addBackpack _baglarge;
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -457,7 +558,7 @@ switch (_typeofUnit) do
_unit addBackpack _baguav;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
@@ -468,8 +569,8 @@ switch (_typeofUnit) do
{
_unit addBackpack _bagdiver;
_unit addmagazines [_diverMag1, 1];
- _unit addweapon _diverWep ;
- _unit addItem _firstaid ;
+ _unit addweapon _diverWep;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_diverMag1, 4];
_unit addmagazines [_diverMag2, 2];
@@ -481,32 +582,32 @@ switch (_typeofUnit) do
{
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Carbineer Loadout:
case "car":
{
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Submachinegunner Loadout:
case "smg":
{
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
- _unit addmagazines [_grenade, 3];
+ _unit addmagazines [_grenade, 2];
};
// Grenadier Loadout:
case "gren":
@@ -514,7 +615,7 @@ switch (_typeofUnit) do
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
- _unit addItem _firstaid ;
+ _unit addItem _firstaid;
_unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
@@ -524,7 +625,10 @@ switch (_typeofUnit) do
// Include the loadouts for vehicles and crates:
#include "f_assignGear_nato_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_nato_v.sqf b/f/assignGear/f_assignGear_nato_v.sqf
index 113750c36..c0cd76601 100644
--- a/f/assignGear/f_assignGear_nato_v.sqf
+++ b/f/assignGear/f_assignGear_nato_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
_unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,18 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 10];
- _unit addMagazineCargoGlobal [_riflemag, 40];
- _unit addMagazineCargoGlobal [_glriflemag, 40];
- _unit addMagazineCargoGlobal [_carbinemag, 40];
- _unit addMagazineCargoGlobal [_armag, 22];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -50,18 +51,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 4];
- _unit addMagazineCargoGlobal [_riflemag, 20];
- _unit addMagazineCargoGlobal [_glriflemag, 20];
- _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
@@ -75,10 +77,11 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Light
case "v_helo_l":
{
@@ -93,11 +96,10 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Medium
case "v_helo_m":
{
@@ -105,25 +107,23 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Transport Heavy
case "v_helo_h":
{
@@ -137,7 +137,7 @@
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,6];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -145,12 +145,11 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
-
+
//CARGO: Rotary Attack
case "v_helo_a":
{
@@ -163,7 +162,7 @@
_unit addMagazineCargoGlobal [_chemgreen,4];
_unit addItemCargoGlobal [_firstaid,2];
};
-
+
//CARGO: Jet
case "v_jet":
{
@@ -176,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -191,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -212,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -233,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/f_assignGear_npr.sqf b/f/assignGear/f_assignGear_npr.sqf
new file mode 100644
index 000000000..e764b26ec
--- /dev/null
+++ b/f/assignGear/f_assignGear_npr.sqf
@@ -0,0 +1,404 @@
+// F3 - Folk ARPS Assign Gear Script - NPR
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DEFINE EQUIPMENT TABLES
+// The blocks of code below identifies equipment for this faction
+//
+// Defined loadouts:
+// co - commander
+// dc - deputy commander / squad leader
+// m - medic
+// cls - combat life saver
+// ftl - fire team leader
+// ar - automatic rifleman
+// aar - assistant automatic rifleman
+// rat - rifleman (AT)
+// dm - designated marksman
+// mmgl - medium mg team leader
+// mmgg - medium mg gunner
+// mmgag - medium mg assistant
+// matl - medium AT team leader
+// matg - medium AT gunner
+// matag - medium AT assistant
+// hmgg - heavy mg gunner (deployable)
+// hmgag - heavy mg assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
+// mtrg - mortar gunner (deployable)
+// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
+// msamg - medium SAM gunner
+// msamag - medium SAM assistant gunner
+// hsamg - heavy SAM gunner (deployable)
+// hsamag - heavy SAM assistant gunner (deployable)
+// sn - sniper
+// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
+// vc - vehicle commander
+// vg - vehicle gunner
+// vd - vehicle driver (repair)
+// pc - air vehicle crew
+// jp - jet pilot
+// eng - engineer (demo)
+// engm - engineer (mines)
+// uav - UAV operator
+// div - divers
+//
+// r - rifleman
+// car - carabineer
+// smg - submachinegunner
+// gren - grenadier
+//
+// v_car - car/4x4
+// v_tr - truck
+// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
+//
+// crate_small - small ammocrate
+// crate_med - medium ammocrate
+// crate_large - large ammocrate
+//
+// ====================================================================================
+
+// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
+
+// ATTACHMENTS - PRIMARY
+_attach1 = ""; // IR Laser
+_attach2 = "acc_flashlight"; // Flashlight
+
+_silencer1 = "muzzle_snds_B"; // 7.62 suppressor
+_silencer2 = "muzzle_snds_M"; // 5.56 suppressor
+
+_scope1 = "optic_ACO"; // ACO
+_scope2 = "optic_MRCO"; // MRCO Scope - 1x - 6x
+_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
+
+_bipod1 = "bipod_02_F_blk"; // Default bipod
+_bipod2 = "bipod_02_F_lush"; // Green bipod
+
+// Default setup
+_attachments = []; // The default attachment set for most units, overwritten in the individual unitType
+
+// [] = remove all
+// [_attach1,_scope1,_silencer] = remove all, add items assigned in _attach1, _scope1 and _silencer1
+// [_scope2] = add _scope2, remove rest
+// false = keep attachments as they are
+
+// ====================================================================================
+
+// ATTACHMENTS - HANDGUN
+_hg_silencer1 = "muzzle_snds_acp"; // .45 suppressor
+
+_hg_scope1 = "optic_MRD"; // MRD
+
+// Default setup
+_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
+
+// ====================================================================================
+
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
+// WEAPON SELECTION
+/*
+// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
+_rifle = selectRandom ["arifle_MSBS65_black_F","arifle_MSBS65_camo_F","arifle_MSBS65_F"]; // Slight randomization, biased towards TRG
+_riflemag = "30Rnd_65x39_caseless_msbs_mag";
+_riflemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+*/
+_rifle = "arifle_AKM_F";
+_riflemag = "30Rnd_762x39_Mag_F";
+_riflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+/*
+// Standard Carabineer (MAT Gunner, MTR Gunner, Carabineer)
+_carbine = selectRandom ["arifle_MSBS65_black_F","arifle_MSBS65_camo_F","arifle_MSBS65_F"]; // Slight randomization, biased towards TRG
+_carbinemag = "30Rnd_65x39_caseless_msbs_mag";
+_carbinemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+*/
+_carbine = "arifle_AK12U_F"; // Slight randomization, biased towards TRG
+_carbinemag = "30Rnd_762x39_Mag_F";
+_carbinemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+
+// Shotgun (Medic, Rifleman (AT))
+_shotgun = "sgun_HunterShotgun_01_F";
+_shotgunmag1 = "2Rnd_12Gauge_Pellets";
+_shotgunmag2 = "2Rnd_12Gauge_Slug";
+
+// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
+_smg = "hgun_PDW2000_F";
+_smgmag = "30Rnd_9x21_Mag";
+
+// Diver
+_diverWep = "arifle_SDAR_F";
+_diverMag1 = "30Rnd_556x45_Stanag_red";
+_diverMag2 = "30Rnd_556x45_Stanag_Tracer_Red";
+_diverMag3 = "20Rnd_556x45_UW_mag";
+/*
+// Rifle with GL and HE grenades (CO, DC, FTLs)
+_glrifle = selectRandom ["arifle_MSBS65_GL_black_F","arifle_MSBS65_GL_camo_F","arifle_MSBS65_GL_F"]; // Slight randomization, biased towards TRG
+_glriflemag = "30Rnd_65x39_caseless_msbs_mag";
+_glriflemag_tr = "30Rnd_65x39_caseless_msbs_mag_Tracer";
+_glmag = "1Rnd_HE_Grenade_shell";
+*/
+_glrifle = "arifle_AK12_GL_F"; // Slight randomization, biased towards TRG
+_glriflemag = "30Rnd_762x39_Mag_F";
+_glriflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+_glmag = "1Rnd_HE_Grenade_shell";
+
+// Smoke for FTLs, Squad Leaders, etc
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
+_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
+
+// Flares for FTLs, Squad Leaders, etc
+_glflarewhite = "UGL_FlareWhite_F";
+_glflarered = "UGL_FlareRed_F";
+_glflareyellow = "UGL_FlareYellow_F";
+_glflaregreen = "UGL_FlareGreen_F";
+
+// Pistols (CO, DC, Automatic Rifleman, Medium MG Gunner)
+_pistol = "hgun_Pistol_heavy_02_F";
+_pistolmag = "6Rnd_45ACP_Cylinder";
+
+// Grenades
+_grenade = "HandGrenade";
+_Mgrenade = "MiniGrenade";
+_smokegrenade = "SmokeShell";
+_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
+_smokegrenadepurple = "SmokeShellPurple";
+
+// misc medical items.
+_firstaid = "FirstAidKit";
+_medkit = "Medikit";
+
+// Night Vision Goggles
+_nvg = "NVGoggles_OPFOR";
+_nvgPilot = "NVGoggles_OPFOR"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
+
+// Laserdesignator
+_laserdesignator = "Laserdesignator_03";
+
+// UAV Terminal
+//_uavterminal = "B_UavTerminal"; // BLUFOR - FIA
+ _uavterminal = "O_UavTerminal"; // OPFOR - FIA
+//_uavterminal = "I_UavTerminal"; // INDP - FIA
+
+// Chemlights
+_chemgreen = "Chemlight_green";
+_chemred = "Chemlight_red";
+_chemyellow = "Chemlight_yellow";
+_chemblue = "Chemlight_blue";
+
+// Backpacks
+_bag = "B_FieldPack_green_F";
+_bagLarge = "B_Carryall_oli";
+_bagdiver = "B_AssaultPack_blk"; // used by divers
+_baguav = "O_UAV_01_backpack_F"; // used by UAV operator
+_baghmgg = "I_G_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_G_HMG_02_support_F"; // used by Heavy MG assistant gunner
+_baghatg = "I_AssaultPack_cbr"; // used by Heavy AT gunner
+_baghatag = "I_Kitbag_cbr"; // used by Heavy AT assistant gunner **
+_bagmtrg = "I_Mortar_01_weapon_F"; // used by Mortar gunner
+_bagmtrag = "I_Mortar_01_support_F"; // used by Mortar assistant gunner
+_baghsamg = "I_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "I_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_black_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
+
+// ====================================================================================
+
+// UNIQUE, ROLE-SPECIFIC EQUIPMENT
+/*
+// Automatic Rifleman
+_AR = "LMG_Mk200_black_F";
+_ARmag = "200Rnd_65x39_cased_Box";
+_ARmag_tr = "200Rnd_65x39_cased_Box_Tracer";
+*/
+_AR = "arifle_AKM_F";
+_ARmag = "75Rnd_762x39_Mag_F";
+_ARmag_tr = "75Rnd_762x39_Mag_Tracer_F";
+
+// Medium MG
+_MMG = "LMG_Zafir_F";
+_MMGmag = "150Rnd_762x54_Box";
+_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
+
+// NON-DLC ALTERNATIVE:
+// _MMG = "MMG_02_camo_F";
+// _MMGmag = "150Rnd_762x54_Box";
+// _MMGmag_tr = "150Rnd_762x54_Box"_Tracer";
+
+// Marksman rifle
+_DMrifle = "srifle_DMR_06_hunter_F";
+_DMriflemag = "10Rnd_Mk14_762x51_Mag";
+_DMriflemag_tr = "10Rnd_Mk14_762x51_Mag";
+
+// Rifleman AT
+_RAT = "launch_RPG32_green_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
+
+// Medium AT
+_MAT = "launch_RPG32_green_F";
+_MATmag1 = "RPG32_F";
+_MATmag2 = "RPG32_HE_F";
+
+// Surface Air
+_SAM = "launch_Titan_F";
+_SAMmag = "Titan_AA";
+
+// Heavy AT
+_HAT = "launch_Titan_short_F";
+_HATmag1 = "Titan_AT";
+_HATmag2 = "Titan_AP";
+
+// Sniper
+_SNrifle = "srifle_LRR_F";
+_SNrifleMag = "7Rnd_408_Mag";
+
+// Engineer items
+_ATmine = "ATMine_Range_Mag";
+_satchel = "SatchelCharge_Remote_Mag";
+_democharge = "DemoCharge_Remote_Mag";
+_APmine1 = "APERSBoundingMine_Range_Mag";
+_APmine2 = "APERSMine_Range_Mag";
+
+// ====================================================================================
+
+// CLOTHES AND UNIFORMS
+
+// Define classes. This defines which gear class gets which uniform
+// "medium" vests are used for all classes if they are not assigned a specific uniform
+
+_diver = ["div"];
+_pilot = ["pp","pcc","pc"];
+_crew = ["vc","vg","vd"];
+_ghillie = ["sn","sp"];
+_specOp = [];
+_jet = ["jp"];
+_vip = [];
+
+// Basic clothing
+// The outfit-piece is randomly selected from the array for each unit
+
+_baseUniform = ["U_O_R_Gorka_01_camo_F","U_O_R_Gorka_01_black_F","U_I_L_Uniform_01_camo_F","U_I_L_Uniform_01_deserter_F","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2","U_BG_Guerrilla_6_1","U_C_E_LooterJacket_01_F"];
+//_baseHelmet = ["H_Shemag_olive","H_Bandanna_khk","H_Cap_oli","H_Cap_blk","H_Watchcap_blk","H_Watchcap_camo","H_Bandanna_camo"];
+//_baseGlasses = ["G_Bandanna_blk","G_Bandanna_oli"];
+_baseHelmet = [""];
+_baseGlasses = ["G_Balaclava_oli","G_Balaclava_blk"];
+
+// Vests
+_lightRig = ["V_TacVest_camo","V_I_G_resistanceLeader_F","V_TacVest_oli"];
+_standardRig = ["V_TacVest_camo","V_I_G_resistanceLeader_F","V_TacVest_oli"];
+
+// Diver
+_diverUniform = ["U_B_Wetsuit"];
+_diverHelmet = [];
+_diverRig = ["V_RebreatherB"];
+_diverGlasses = ["G_Diving"];
+
+// Pilot
+_pilotUniform = ["U_C_WorkerCoveralls"];
+_pilotHelmet = _baseHelmet;
+_pilotRig = ["V_BandollierB_cbr"];
+_pilotGlasses = [];
+
+// Jet Pilot
+_jetUniform = ["U_B_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_B"];
+_jetRig = [];
+_jetGlasses = [];
+
+// Crewman
+_crewUniform = _baseUniform;
+_crewHelmet = _baseHelmet;
+_crewRig = ["V_BandollierB_cbr"];
+_crewGlasses = [];
+
+// Ghillie
+_ghillieUniform = ["U_O_R_Gorka_01_camo_F"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
+_ghillieHelmet = [];
+_ghillieRig = ["V_Chestrig_rgr"];
+_ghillieGlasses = [];
+
+// Spec Op (CTRG)
+_sfuniform = ["U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3"];
+_sfhelmet = _baseHelmet;
+_sfRig = ["V_PlateCarrierL_CTRG","V_PlateCarrierH_CTRG"];
+_sfGlasses = [];
+
+// VIP/Officer
+_vipUniform = ["U_O_R_Gorka_01_black_F"];
+_vipHelmet = ["H_Beret_blk"];
+_vipRig = ["V_TacVest_blk"];
+_vipGlasses = ["G_Balaclava_blk"];
+
+// ====================================================================================
+
+// This block needs only to be run on an infantry unit
+if (_isMan) then {
+
+ // PREPARE UNIT FOR GEAR ADDITION
+ // The following code removes all existing weapons, items, magazines and backpacks
+
+ removeBackpack _unit;
+ removeAllWeapons _unit;
+ removeAllItemsWithMagazines _unit;
+ removeAllAssignedItems _unit;
+
+ // ====================================================================================
+
+ // HANDLE CLOTHES
+ // Handle clothes and helmets and such using the include file called next.
+
+ #include "f_assignGear_clothes.sqf";
+
+ // ====================================================================================
+
+ // ADD UNIVERSAL ITEMS
+ // Add items universal to all units of this faction
+
+ _unit linkItem _nvg; // Add and equip the faction's nvg
+ _unit addItem _firstaid; // Add a single first aid kit (FAK)
+ _unit linkItem "ItemMap"; // Add and equip the map
+ _unit linkItem "ItemCompass"; // Add and equip a compass
+ _unit linkItem "ItemRadio"; // Add and equip A3's default radio
+ _unit linkItem "ItemWatch"; // Add and equip a watch
+ _unit linkItem "ItemGPS"; // Add and equip a GPS
+
+};
+
+// ====================================================================================
+
+// SELECT LOADOUT
+// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
+
+// _loadout = f_param_loadouts;
+
+// Light Loadout
+// if (_loadout == 0) then {
+// #include "f_assignGear_npr_light.sqf"
+// };
+
+// Standard Loadout
+// if (_loadout == 1) then {
+ #include "f_assignGear_npr_standard.sqf";
+// };
+
+// ====================================================================================
diff --git a/f/assignGear/f_assignGear_npr_standard.sqf b/f/assignGear/f_assignGear_npr_standard.sqf
new file mode 100644
index 000000000..57e5eacaa
--- /dev/null
+++ b/f/assignGear/f_assignGear_npr_standard.sqf
@@ -0,0 +1,634 @@
+// F3 - Folk ARPS Assign Gear Script - NPR - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DEFINE UNIT TYPE LOADOUTS
+// The following blocks of code define loadouts for each type of unit (the unit type
+// is passed to the script in the first variable)
+
+switch (_typeofUnit) do
+{
+
+// ====================================================================================
+// Automatic Rifleman Loadout:
+ case "ar":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_ARmag, 1];
+ _unit addweapon _AR;
+ _attachments pushback (_bipod1); // Adds the bipod
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_ARmag, 3];
+ _unit addmagazines [_ARmag_tr, 2];
+ _unit addmagazines [_grenade, 1];
+ };
+// Rifleman (AT) Loadout:
+ case "rat":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_shotgunmag1, 1];
+ _unit addweapon _shotgun;
+ _unit addmagazines [_RATmag1, 1];
+ _unit addweapon _RAT;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_shotgunmag1, 10];
+ _unit addmagazines [_shotgunmag2, 6];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
+ };
+// Assistant Autorifleman Loadout:
+ case "aar":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
+ };
+// Fire Team Leader Loadout:
+ case "ftl":
+ {
+ _unit addmagazines [_glriflemag, 1];
+ _unit addmagazines [_glmag, 1];
+ _unit addweapon _glrifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
+ _unit addmagazines [_glriflemag_tr, 2];
+ _unit addmagazines [_glmag, 5];
+ _unit addmagazines [_glsmokewhite, 3];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadegreen, 2];
+ };
+// Squad Leader / DC Loadout:
+ case "dc":
+ {
+ _unit addBackpack _bagRadio;
+ _unit addmagazines [_glriflemag, 1];
+ _unit addmagazines [_glmag, 1];
+ _unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
+ _unit addmagazines [_glriflemag_tr, 2];
+ _unit addmagazines [_glmag, 5];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_pistolmag, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
+ };
+// Platoon CO Loadout:
+ case "co":
+ {
+ _unit addBackpack _bagRadio;
+ _unit addmagazines [_glriflemag, 1];
+ _unit addmagazines [_glsmokewhite, 1];
+ _unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
+ _unit addmagazines [_glriflemag_tr, 2];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
+ };
+// JTAC Loadout:
+ case "jtac":
+ {
+ _unit addBackpack _bagRadio;
+ _unit addmagazines [_glriflemag, 1];
+ _unit addmagazines [_glsmokered, 1];
+ _unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
+ _unit addmagazines [_glriflemag_tr, 2];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addmagazines ["Laserbatteries", 1];
+ _unit addWeapon _laserdesignator;
+ };
+// Medic Loadout:
+ case "m":
+ {
+ _unit setUnitTrait ["medic",true]; // Can use medkit
+ _unit addBackpack _bag;
+ _unit addmagazines [_shotgunmag1, 1];
+ _unit addweapon _shotgun;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_shotgunmag1, 10];
+ _unit addmagazines [_shotgunmag2, 6];
+ _unit addItem _medkit;
+ _unit addItem _firstaid;
+ };
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
+// Designated Marksman Loadout:
+ case "dm":
+ {
+ _unit addmagazines [_DMriflemag, 1];
+ _unit addweapon _DMrifle;
+ _attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ };
+// Medium MG Gunner Loadout:
+ case "mmgg":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_MMGmag, 1];
+ _unit addweapon _MMG;
+ _attachments pushback (_bipod1); // Adds the bipod
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Team Leader Loadout:
+ case "mmgl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
+ };
+// Heavy MG Gunner Loadout:
+ case "hmgg":
+ {
+ _unit addBackpack _baghmgg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Heavy MG Team Leader Loadout:
+ case "hmgag":
+ {
+ _unit addBackpack _baghmgag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
+ };
+// Medium AT Gunner Loadout:
+ case "matg":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_MATmag1, 1];
+ _unit addweapon _MAT;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Assistant Loadout:
+ case "matag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
+ };
+// Heavy AT Gunner Loadout:
+ case "hatg":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_HATmag1, 1];
+ _unit addweapon _HAT;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_HATmag1, 1];
+ };
+// Heavy AT Assistant Loadout:
+ case "hatag":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
+ };
+// Mortar Gunner Loadout:
+ case "mtrg":
+ {
+ _unit addBackpack _bagmtrg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Mortar Team Leader Loadout:
+ case "mtrag":
+ {
+ _unit addBackpack _bagmtrag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
+ };
+// Medium SAM Gunner Loadout:
+ case "msamg":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addmagazines [_SAMmag, 1];
+ _unit addweapon _SAM;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Medium SAM Assistant Loadout:
+ case "msamag":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
+ };
+// Heavy SAM Gunner Loadout:
+ case "hsamg":
+ {
+ _unit addBackpack _baghsamg;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ };
+// Heavy SAM Team Leader Loadout:
+ case "hsamag":
+ {
+ _unit addBackpack _baghsamag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
+ };
+// Sniper Loadout:
+ case "sn":
+ {
+ _unit addmagazines [_SNrifleMag, 1];
+ _unit addweapon _SNrifle;
+ _attachments = [_bipod1,_scope3]; // Overwrites default attachments to add a bipod and scope 3
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_SNrifleMag, 6];
+ _unit addmagazines [_pistolmag, 5];
+ };
+// Spotter Loadout:
+ case "sp":
+ {
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_SNrifleMag, 3];
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
+ };
+// Vehicle Commander Loadout:
+ case "vc":
+ {
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 4];
+ _unit addweapon _binoculars;
+ };
+// Vehicle Gunner Loadout:
+ case "vg":
+ {
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 4];
+ };
+// Vehicle Driver Loadout:
+ case "vd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 4];
+ _unit addItem "ToolKit";
+ };
+// Jet Pilot Loadout:
+ case "jp":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
+ };
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 4];
+ _unit addItem "ToolKit";
+ };
+// Engineer (Demo) Loadout:
+ case "eng":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addItem "ToolKit";
+ _unit addItem "MineDetector";
+ _unit addmagazines [_satchel, 2];
+ };
+// Engineer (Mines) Loadout:
+ case "engm":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addItem "ToolKit";
+ _unit addItem "MineDetector";
+ _unit addmagazines [_APmine2, 4];
+ _unit addmagazines [_ATmine, 1];
+ };
+// UAV Operator Loadout:
+ case "uav":
+ {
+ _unit addBackpack _baguav;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit linkItem _uavterminal;
+ };
+// Diver Loadout:
+ case "div":
+ {
+ _unit addBackpack _bagdiver;
+ _unit addmagazines [_diverMag1, 1];
+ _unit addweapon _diverWep;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_diverMag1, 4];
+ _unit addmagazines [_diverMag2, 2];
+ _unit addmagazines [_diverMag3, 3];
+ _unit addmagazines [_grenade, 3];
+ };
+// Rifleman Loadout:
+ case "r":
+ {
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ };
+// Carbineer Loadout:
+ case "car":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addmagazines [_carbinemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ };
+// Submachinegunner Loadout:
+ case "smg":
+ {
+ _unit addmagazines [_smgmag, 1];
+ _unit addweapon _smg;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_smgmag, 6];
+ _unit addmagazines [_grenade, 2];
+ };
+// Grenadier Loadout:
+ case "gren":
+ {
+ _unit addmagazines [_glriflemag, 1];
+ _unit addmagazines [_glmag, 1];
+ _unit addweapon _glrifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
+ _unit addmagazines [_glriflemag_tr, 2];
+ _unit addmagazines [_glmag, 5];
+ };
+
+// Include the loadouts for vehicles and crates:
+#include "f_assignGear_npr_v.sqf";
+
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
+// ====================================================================================
+
+// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
+};
diff --git a/f/assignGear/f_assignGear_npr_v.sqf b/f/assignGear/f_assignGear_npr_v.sqf
new file mode 100644
index 000000000..36ceb4b6e
--- /dev/null
+++ b/f/assignGear/f_assignGear_npr_v.sqf
@@ -0,0 +1,243 @@
+// Vehicle & Box LOADOUTS - NPR
+
+// CARGO: CAR - room for 10 weapons and 50 cargo items
+ case "v_car":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 8];
+ _unit addMagazineCargoGlobal [_glriflemag, 8];
+ _unit addMagazineCargoGlobal [_carbinemag, 10];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
+ _unit addMagazineCargoGlobal [_grenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 4];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addItemCargoGlobal [_firstaid,4];
+ };
+
+// CARGO: TRUCK - room for 50 weapons and 200 cargo items
+ case "v_tr":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade, 12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
+ _unit addMagazineCargoGlobal [_glmag, 12];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,8];
+ };
+
+// CARGO: IFV - room for 10 weapons and 100 cargo items
+ case "v_ifv":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
+ _unit addMagazineCargoGlobal [_armag, 8];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addmagazineCargoGlobal [_mgrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 8];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,6];
+ };
+
+//CARGO: TANK
+ case "v_tank":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Light
+ case "v_helo_l":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 2];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Medium
+ case "v_helo_m":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
+ _unit addMagazineCargoGlobal [_riflemag,10];
+ _unit addMagazineCargoGlobal [_glriflemag,10];
+ _unit addMagazineCargoGlobal [_carbinemag,10];
+ _unit addMagazineCargoGlobal [_armag,6];
+ _unit addMagazineCargoGlobal [_grenade,4];
+ _unit addmagazineCargoGlobal [_mgrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,4];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Heavy
+ case "v_helo_h":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag,20];
+ _unit addMagazineCargoGlobal [_glriflemag,20];
+ _unit addMagazineCargoGlobal [_carbinemag,20];
+ _unit addMagazineCargoGlobal [_armag,12];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
+ _unit addMagazineCargoGlobal [_grenade,12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_glsmokewhite,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,6];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Attack
+ case "v_helo_a":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ };
+
+//CARGO: Jet
+ case "v_jet":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,2];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,1];
+ _unit addMagazineCargoGlobal [_chemgreen,2];
+ _unit addItemCargoGlobal [_firstaid,1];
+ _unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+// CRATE: Small, ammo for 1 fireteam
+ case "crate_small":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_glmag, 5];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addMagazineCargoGlobal [_mgrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addItemCargoGlobal [_firstaid, 6];
+ };
+
+// CRATE: Medium, ammo for 1 squad
+ case "crate_med":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 15];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 15];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_glmag, 20];
+ _unit addMagazineCargoGlobal [_glsmokewhite,16];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 25];
+ _unit addMagazineCargoGlobal [_mgrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 6];
+ _unit addItemCargoGlobal [_firstaid, 25];
+ };
+
+// CRATE: Large, ammo for 1 platoon
+ case "crate_large":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 45];
+ _unit addMagazineCargoGlobal [_glriflemag, 60];
+ _unit addMagazineCargoGlobal [_armag, 45];
+ _unit addMagazineCargoGlobal [_carbinemag, 60];
+ _unit addMagazineCargoGlobal [_glmag, 60];
+ _unit addMagazineCargoGlobal [_glsmokewhite,50];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
+ _unit addMagazineCargoGlobal [_grenade, 75];
+ _unit addMagazineCargoGlobal [_mgrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
+ _unit addItemCargoGlobal [_firstaid, 75];
+ };
diff --git a/f/assignGear/f_assignGear_spetsnaz.sqf b/f/assignGear/f_assignGear_spetsnaz.sqf
new file mode 100644
index 000000000..11d032a0f
--- /dev/null
+++ b/f/assignGear/f_assignGear_spetsnaz.sqf
@@ -0,0 +1,388 @@
+// F3 - Folk ARPS Assign Gear Script - Spetsnaz
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DEFINE EQUIPMENT TABLES
+// The blocks of code below identifies equipment for this faction
+//
+// Defined loadouts:
+// co - commander
+// dc - deputy commander / squad leader
+// m - medic
+// cls - combat life saver
+// ftl - fire team leader
+// ar - automatic rifleman
+// aar - assistant automatic rifleman
+// rat - rifleman (AT)
+// dm - designated marksman
+// mmgl - medium mg team leader
+// mmgg - medium mg gunner
+// mmgag - medium mg assistant
+// matl - medium AT team leader
+// matg - medium AT gunner
+// matag - medium AT assistant
+// hmgg - heavy mg gunner (deployable)
+// hmgag - heavy mg assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
+// mtrg - mortar gunner (deployable)
+// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
+// msamg - medium SAM gunner
+// msamag - medium SAM assistant gunner
+// hsamg - heavy SAM gunner (deployable)
+// hsamag - heavy SAM assistant gunner (deployable)
+// sn - sniper
+// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
+// vc - vehicle commander
+// vg - vehicle gunner
+// vd - vehicle driver (repair)
+// pc - air vehicle crew
+// jp - jet pilot
+// eng - engineer (demo)
+// engm - engineer (mines)
+// uav - UAV operator
+// div - divers
+//
+// r - rifleman
+// car - carabineer
+// smg - submachinegunner
+// gren - grenadier
+//
+// v_car - car/4x4
+// v_tr - truck
+// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
+//
+// crate_small - small ammocrate
+// crate_med - medium ammocrate
+// crate_large - large ammocrate
+//
+// ====================================================================================
+
+// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
+
+// ATTACHMENTS - PRIMARY
+_attach1 = "acc_pointer_IR"; // IR Laser
+_attach2 = "acc_flashlight"; // Flashlight
+
+_silencer1 = "muzzle_snds_B"; // 7.62 suppressor
+_silencer2 = "muzzle_snds_B_khk_F"; // 7.62 green suppressor
+
+_scope1 = "optic_Holosight_blk_F"; // Holo alts: "optic_Holosight_lush_F"; "optic_Holosight_arid_F";
+_scope2 = "optic_ARCO_AK_Blk_F"; // ARCO Scope alts: "optic_ARCO_AK_lush_F"; "optic_ARCO_AK_arid_F";
+_scope3 = "optic_SOS"; // SOS Scope - 18x - 75x
+
+_bipod1 = "bipod_02_F_blk"; // Default bipod
+_bipod2 = "bipod_02_F_lush"; // Lush bipod
+// _bipod2 = "bipod_02_F_arid"; // Arid bipod
+
+// Default setup
+_attachments = [_scope1]; // The default attachment set for most units, overwritten in the individual unitType
+
+// [] = remove all
+// [_attach1,_scope1,_silencer] = remove all, add items assigned in _attach1, _scope1 and _silencer1
+// [_scope2] = add _scope2, remove rest
+// false = keep attachments as they are
+
+// ====================================================================================
+
+// ATTACHMENTS - HANDGUN
+_hg_silencer1 = "muzzle_snds_L"; // 9mm suppressor
+
+_hg_scope1 = "optic_MRD"; // MRD
+
+// Default setup
+_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
+
+// ====================================================================================
+
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
+// WEAPON SELECTION
+
+// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
+_rifle = selectRandom ["arifle_AK12_lush_F","arifle_AK12_F"];
+//_rifle = selectRandom ["arifle_AK12_arid_F","arifle_AK12_F"];// Arid alternative
+_riflemag = "30Rnd_762x39_AK12_Mag_F";
+_riflemag_tr = "30Rnd_762x39_AK12_Mag_Tracer_F";
+
+// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
+_carbine = selectRandom ["arifle_AK12U_lush_F","arifle_AK12U_F"];
+//_carbine = selectRandom ["arifle_AK12U_arid_F","arifle_AK12U_F"];// Arid alternative
+_carbinemag = "30Rnd_762x39_AK12_Mag_F";
+_carbinemag_tr = "30Rnd_762x39_AK12_Mag_Tracer_F";
+
+// Standard Submachine Gun/Personal Defence Weapon (Aircraft Pilot, Submachinegunner)
+_smg = "SMG_02_F";
+_smgmag = "30Rnd_9x21_Mag";
+
+// Diver
+_diverWep = "arifle_SDAR_F";
+_diverMag1 = "30Rnd_556x45_Stanag";
+_diverMag2 = "30Rnd_556x45_Stanag_Tracer_Green";
+_diverMag3 = "20Rnd_556x45_UW_mag";
+
+// Rifle with GL and HE grenades (CO, DC, FTLs)
+_glrifle = selectRandom ["arifle_AK12_GL_lush_F","arifle_AK12_GL_F"];
+//_glrifle = selectRandom ["arifle_AK12_GL_arid_F","arifle_AK12_GL_F"];// Arid alternative
+_glriflemag = "30Rnd_762x39_AK12_Mag_F";
+_glriflemag_tr = "30Rnd_762x39_AK12_Mag_Tracer_F";
+_glmag = "1Rnd_HE_Grenade_shell";
+
+// Smoke for FTLs, Squad Leaders, etc
+_glsmokewhite = "1Rnd_Smoke_Grenade_shell";
+_glsmokegreen = "1Rnd_SmokeGreen_Grenade_shell";
+_glsmokered = "1Rnd_SmokeRed_Grenade_shell";
+
+// Flares for FTLs, Squad Leaders, etc
+_glflarewhite = "UGL_FlareWhite_F";
+_glflarered = "UGL_FlareRed_F";
+_glflareyellow = "UGL_FlareYellow_F";
+_glflaregreen = "UGL_FlareGreen_F";
+
+// Pistols (CO, DC, Automatic Rifleman, Medium MG Gunner)
+_pistol = "hgun_Rook40_F";
+_pistolmag = "16Rnd_9x21_Mag";
+
+// Grenades
+_grenade = "HandGrenade";
+_Mgrenade = "MiniGrenade";
+_smokegrenade = "SmokeShell";
+_smokegrenadegreen = "SmokeShellGreen";
+_smokegrenadeblue = "SmokeShellBlue";
+_smokegrenadepurple = "SmokeShellPurple";
+
+// misc medical items.
+_firstaid = "FirstAidKit";
+_medkit = "Medikit";
+
+// Night Vision Goggles
+_nvg = "O_NVGoggles_grn_F";
+_nvgPilot = "O_NVGoggles_grn_F"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
+
+// Laserdesignator
+_laserdesignator = "Laserdesignator_02";
+
+// UAV Terminal
+_uavterminal = "O_UavTerminal";
+
+// Chemlights
+_chemgreen = "Chemlight_green";
+_chemred = "Chemlight_red";
+_chemyellow = "Chemlight_yellow";
+_chemblue = "Chemlight_blue";
+
+// Backpacks
+_bag = "B_FieldPack_green_F"; // carries 120, weighs 20
+_bagLarge = "B_Carryall_green_f"; // carries 320, weighs 40
+_bagdiver = "B_AssaultPack_rgr"; // used by divers
+_baguav = "O_UAV_01_backpack_F"; // used by UAV operator
+_baghmgg = "I_HMG_01_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_HMG_01_support_F"; // used by Heavy MG assistant gunner
+_baghatg = "I_AT_01_weapon_F"; // used by Heavy AT gunner
+_baghatag = "I_HMG_01_support_F"; // used by Heavy AT assistant gunner
+_bagmtrg = "I_Mortar_01_weapon_F"; // used by Mortar gunner
+_bagmtrag = "I_Mortar_01_support_F"; // used by Mortar assistant gunner
+_baghsamg = "I_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "I_HMG_01_support_F"; // used by Heavy SAM assistant gunner
+_bagRadio = "B_RadioBag_01_black_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
+
+// ====================================================================================
+
+// UNIQUE, ROLE-SPECIFIC EQUIPMENT
+
+// Automatic Rifleman
+//_AR = selectRandom ["arifle_RPK12_arid_F","arifle_RPK12_F"]; // Arid alternative
+_AR = selectRandom ["arifle_RPK12_lush_F","arifle_RPK12_F"];
+_ARmag = "75rnd_762x39_AK12_Mag_F";
+_ARmag_tr = "75rnd_762x39_AK12_Mag_Tracer_F";
+
+// Medium MG
+_MMG = "LMG_Zafir_F";
+_MMGmag = "150Rnd_762x54_Box";
+_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
+
+// Marksman rifle
+_DMrifle = "srifle_DMR_04_F";
+_DMriflemag = "10Rnd_127x54_Mag";
+_DMriflemag_tr = "10Rnd_127x54_Mag";
+
+// Rifleman AT
+_RAT = "launch_RPG32_green_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
+
+// Medium AT
+_MAT = "launch_RPG32_green_F";
+_MATmag1 = "RPG32_F";
+_MATmag2 = "RPG32_HE_F";
+
+// Surface Air
+_SAM = "launch_O_Titan_F";
+_SAMmag = "Titan_AA";
+
+// Heavy AT
+_HAT = "launch_O_Vorona_green_F";
+_HATmag1 = "Vorona_HEAT";
+_HATmag2 = "Vorona_HE";
+
+// Sniper
+_SNrifle = "srifle_GM6_F";
+_SNrifleMag = "5Rnd_127x108_Mag";
+
+// Engineer items
+_ATmine = "ATMine_Range_Mag";
+_satchel = "SatchelCharge_Remote_Mag";
+_democharge = "DemoCharge_Remote_Mag";
+_APmine1 = "APERSBoundingMine_Range_Mag";
+_APmine2 = "APERSMine_Range_Mag";
+
+// ====================================================================================
+
+// CLOTHES AND UNIFORMS
+
+// Define classes. This defines which gear class gets which uniform
+// "medium" vests are used for all classes if they are not assigned a specific uniform
+
+_diver = ["div"];
+_pilot = ["pp","pcc","pc"];
+_crew = ["vc","vg","vd"];
+_ghillie = ["sn","sp"];
+_specOp = [];
+_jet = ["jp"];
+_vip = [];
+
+// Basic clothing
+// The outfit-piece is randomly selected from the array for each unit
+
+// Green
+_baseUniform = ["U_O_R_Gorka_01_F","U_O_R_Gorka_01_camo_F"];
+_baseHelmet = ["H_HelmetAggressor_F","H_HelmetAggressor_cover_F","H_HelmetAggressor_cover_taiga_F"];
+_baseGlasses = ["G_Balaclava_blk","G_Balaclava_lowprofile","G_Balaclava_oli"];
+
+// Tan
+//_baseUniform = ["U_O_R_Gorka_01_brown_F"];
+//_baseHelmet = ["H_HelmetAggressor_F","H_HelmetAggressor_cover_F"];
+
+// Vests
+_lightRig = ["V_SmershVest_01_F"];
+_standardRig = ["V_SmershVest_01_F"];
+_radioRig = "V_SmershVest_01_radio_F";
+
+// Urban Vests
+// _lightRig = ["V_HarnessO_gry"];
+// _standardRig = ["V_HarnessO_gry"];
+
+// Diver
+_diverUniform = ["U_O_Wetsuit"];
+_diverHelmet = [];
+_diverRig = ["V_RebreatherIR"];
+_diverGlasses = ["G_Diving"];
+
+// Pilot
+_pilotUniform = ["U_O_PilotCoveralls"];
+_pilotHelmet = ["H_PilotHelmetHeli_O"];
+_pilotRig = ["V_HarnessO_brn"];
+_pilotGlasses = [];
+
+// Jet Pilot
+_jetUniform = ["U_O_PilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_O"];
+_jetRig = [];
+_jetGlasses = [];
+
+// Crewman
+_crewUniform = ["U_O_R_Gorka_01_F"];
+_crewHelmet = ["H_Tank_black_F"];
+_crewRig = ["V_Chestrig_rgr"];
+_crewGlasses = [];
+
+// Ghillie
+_ghillieUniform = ["U_O_T_Sniper_F"]; //DLC alternatives: ["U_O_FullGhillie_lsh","U_O_FullGhillie_ard","U_O_FullGhillie_sard"];
+_ghillieHelmet = [];
+_ghillieRig = ["V_Chestrig_rgr"];
+_ghillieGlasses = [];
+
+// Spec Op (Read: Spetsnaz)
+//_sfuniform = _baseUniform;
+//_sfhelmet = _baseHelmet;
+//_sfRig = _standardRig;
+//_sfGlasses = [];
+
+// VIP/Officer
+_vipUniform = ["U_O_R_Gorka_01_camo_F"];
+_vipHelmet = ["H_MilCap_taiga"];
+_vipRig = ["V_SmershVest_01_radio_F"];
+_vipGlasses = ["G_Aviator"];
+
+// ====================================================================================
+
+// This block needs only to be run on an infantry unit
+if (_isMan) then {
+
+ // PREPARE UNIT FOR GEAR ADDITION
+ // The following code removes all existing weapons, items, magazines and backpacks
+
+ removeBackpack _unit;
+ removeAllWeapons _unit;
+ removeAllItemsWithMagazines _unit;
+ removeAllAssignedItems _unit;
+
+ // ====================================================================================
+
+ // HANDLE CLOTHES
+ // Handle clothes and helmets and such using the include file called next.
+
+ #include "f_assignGear_clothes.sqf";
+
+ // ====================================================================================
+
+ // ADD UNIVERSAL ITEMS
+ // Add items universal to all units of this faction
+
+ _unit linkItem _nvg; // Add and equip the faction's nvg
+ _unit addItem _firstaid; // Add a single first aid kit (FAK)
+ _unit linkItem "ItemMap"; // Add and equip the map
+ _unit linkItem "ItemCompass"; // Add and equip a compass
+ _unit linkItem "ItemRadio"; // Add and equip A3's default radio
+ _unit linkItem "ItemWatch"; // Add and equip a watch
+ _unit linkItem "ItemGPS"; // Add and equip a GPS
+
+};
+
+// ====================================================================================
+
+// SELECT LOADOUT
+// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
+
+// _loadout = f_param_loadouts;
+
+// Light Loadout
+// if (_loadout == 0) then {
+// #include "f_assignGear_spetsnaz_light.sqf"
+// };
+
+// Standard Loadout
+// if (_loadout == 1) then {
+#include "f_assignGear_spetsnaz_standard.sqf";
+// };
+
+// ====================================================================================
diff --git a/f/assignGear/f_assignGear_syndikat_light.sqf b/f/assignGear/f_assignGear_spetsnaz_standard.sqf
similarity index 54%
rename from f/assignGear/f_assignGear_syndikat_light.sqf
rename to f/assignGear/f_assignGear_spetsnaz_standard.sqf
index f395ec904..101bb5c43 100644
--- a/f/assignGear/f_assignGear_syndikat_light.sqf
+++ b/f/assignGear/f_assignGear_spetsnaz_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - Spetsnaz - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,10 +18,10 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_ARmag, 3];
+ _unit addmagazines [_ARmag_tr, 2];
_unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 5];
};
// Rifleman (AT) Loadout:
case "rat":
@@ -29,15 +29,15 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_RATmag, 2];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
@@ -46,88 +46,126 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_ARmag, 2];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
{
+ _unit addVest _radioRig;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glsmokewhite, 3];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
- _unit addWeapon "Rangefinder";
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
+ _unit addVest _radioRig;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_pistolmag, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
+ _unit addVest _radioRig;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
+ _unit addVest _radioRig;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
+ _unit addmagazines [_pistolmag, 1];
+ _unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
};
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -135,9 +173,10 @@ switch (_typeofUnit) do
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_DMriflemag, 4];
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -147,24 +186,38 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_MMGmag, 1];
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
};
-// Medium MG Team Leader Loadout:
+// Medium MG Assistant Loadout:
case "mmgag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Team Leader Loadout:
+ case "mmgl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MMGmag, 2];
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -173,10 +226,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
@@ -185,11 +237,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
@@ -200,53 +252,81 @@ switch (_typeofUnit) do
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 1];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_MATmag1, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -255,10 +335,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Mortar Team Leader Loadout:
case "mtrag":
@@ -267,11 +346,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -282,24 +361,36 @@ switch (_typeofUnit) do
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_SAMmag, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -308,23 +399,22 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -335,9 +425,9 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_SNrifleMag, 3];
- _unit addmagazines [_pistolmag, 3];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_SNrifleMag, 6];
+ _unit addmagazines [_pistolmag, 5];
};
// Spotter Loadout:
case "sp":
@@ -345,12 +435,36 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 6];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
@@ -358,10 +472,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -369,9 +482,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
};
// Vehicle Driver Loadout:
case "vd":
@@ -381,75 +493,64 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 5];
- };
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
- _unit addmagazines [_satchel, 1];
+ _unit addmagazines [_satchel, 2];
};
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
@@ -462,10 +563,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 5];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -475,8 +575,8 @@ switch (_typeofUnit) do
_unit addmagazines [_diverMag1, 1];
_unit addweapon _diverWep;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_diverMag1, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_diverMag1, 4];
_unit addmagazines [_diverMag2, 2];
_unit addmagazines [_diverMag3, 3];
_unit addmagazines [_grenade, 3];
@@ -487,11 +587,10 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_riflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Carbineer Loadout:
case "car":
@@ -499,11 +598,10 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Submachinegunner Loadout:
case "smg":
@@ -511,10 +609,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 5];
};
// Grenadier Loadout:
case "gren":
@@ -523,17 +620,19 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_glriflemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 5];
};
// Include the loadouts for vehicles and crates:
-#include "f_assignGear_syndikat_v.sqf";
+#include "f_assignGear_spetsnaz_v.sqf";
+
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_spetsnaz_v.sqf b/f/assignGear/f_assignGear_spetsnaz_v.sqf
new file mode 100644
index 000000000..85075c979
--- /dev/null
+++ b/f/assignGear/f_assignGear_spetsnaz_v.sqf
@@ -0,0 +1,243 @@
+// Vehicle & Box LOADOUTS - Spetsnaz
+
+// CARGO: CAR - room for 10 weapons and 50 cargo items
+ case "v_car":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 8];
+ _unit addMagazineCargoGlobal [_glriflemag, 8];
+ _unit addMagazineCargoGlobal [_carbinemag, 10];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
+ _unit addMagazineCargoGlobal [_grenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenade, 4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 4];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addItemCargoGlobal [_firstaid,4];
+ };
+
+// CARGO: TRUCK - room for 50 weapons and 200 cargo items
+ case "v_tr":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade, 12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
+ _unit addMagazineCargoGlobal [_glmag, 12];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,8];
+ };
+
+// CARGO: IFV - room for 10 weapons and 100 cargo items
+ case "v_ifv":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
+ _unit addMagazineCargoGlobal [_armag, 8];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addmagazineCargoGlobal [_mgrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addMagazineCargoGlobal [_glmag, 8];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,6];
+ };
+
+//CARGO: TANK
+ case "v_tank":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Light
+ case "v_helo_l":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 2];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Medium
+ case "v_helo_m":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
+ _unit addMagazineCargoGlobal [_riflemag,10];
+ _unit addMagazineCargoGlobal [_glriflemag,10];
+ _unit addMagazineCargoGlobal [_carbinemag,10];
+ _unit addMagazineCargoGlobal [_armag,6];
+ _unit addMagazineCargoGlobal [_grenade,4];
+ _unit addmagazineCargoGlobal [_mgrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenade,8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
+ _unit addItemCargoGlobal [_firstaid,4];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Transport Heavy
+ case "v_helo_h":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag,20];
+ _unit addMagazineCargoGlobal [_glriflemag,20];
+ _unit addMagazineCargoGlobal [_carbinemag,20];
+ _unit addMagazineCargoGlobal [_armag,12];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
+ _unit addMagazineCargoGlobal [_grenade,12];
+ _unit addmagazineCargoGlobal [_mgrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenade,12];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,4];
+ _unit addMagazineCargoGlobal [_glmag,12];
+ _unit addMagazineCargoGlobal [_glsmokewhite,12];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,4];
+ _unit addItemCargoGlobal [_firstaid,6];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+//CARGO: Rotary Attack
+ case "v_helo_a":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,4];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,2];
+ _unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addItemCargoGlobal [_firstaid,2];
+ };
+
+//CARGO: Jet
+ case "v_jet":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_smokegrenade,2];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen,1];
+ _unit addMagazineCargoGlobal [_chemgreen,2];
+ _unit addItemCargoGlobal [_firstaid,1];
+ _unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
+ };
+
+// CRATE: Small, ammo for 1 fireteam
+ case "crate_small":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 5];
+ _unit addMagazineCargoGlobal [_glriflemag, 5];
+ _unit addMagazineCargoGlobal [_armag, 5];
+ _unit addMagazineCargoGlobal [_carbinemag, 5];
+ _unit addMagazineCargoGlobal [_glmag, 5];
+ _unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
+ _unit addMagazineCargoGlobal [_grenade, 8];
+ _unit addMagazineCargoGlobal [_mgrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenade, 8];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
+ _unit addItemCargoGlobal [_firstaid, 6];
+ };
+
+// CRATE: Medium, ammo for 1 squad
+ case "crate_med":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 15];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 15];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_glmag, 20];
+ _unit addMagazineCargoGlobal [_glsmokewhite,16];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
+ _unit addMagazineCargoGlobal [_grenade, 25];
+ _unit addMagazineCargoGlobal [_mgrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenade, 25];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 6];
+ _unit addItemCargoGlobal [_firstaid, 25];
+ };
+
+// CRATE: Large, ammo for 1 platoon
+ case "crate_large":
+ {
+ clearWeaponCargoGlobal _unit;
+ clearMagazineCargoGlobal _unit;
+ clearItemCargoGlobal _unit;
+ clearBackpackCargoGlobal _unit;
+ _unit addMagazineCargoGlobal [_riflemag, 45];
+ _unit addMagazineCargoGlobal [_glriflemag, 60];
+ _unit addMagazineCargoGlobal [_armag, 45];
+ _unit addMagazineCargoGlobal [_carbinemag, 60];
+ _unit addMagazineCargoGlobal [_glmag, 60];
+ _unit addMagazineCargoGlobal [_glsmokewhite,50];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
+ _unit addMagazineCargoGlobal [_grenade, 75];
+ _unit addMagazineCargoGlobal [_mgrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenade, 75];
+ _unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
+ _unit addItemCargoGlobal [_firstaid, 75];
+ };
diff --git a/f/assignGear/f_assignGear_syndikat.sqf b/f/assignGear/f_assignGear_syndikat.sqf
index b66c986ae..703880dbc 100644
--- a/f/assignGear/f_assignGear_syndikat.sqf
+++ b/f/assignGear/f_assignGear_syndikat.sqf
@@ -1,5 +1,5 @@
// F3 - Folk ARPS Assign Gear Script - SYNDIKAT
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE EQUIPMENT TABLES
@@ -9,33 +9,39 @@
// co - commander
// dc - deputy commander / squad leader
// m - medic
+// cls - combat life saver
// ftl - fire team leader
// ar - automatic rifleman
// aar - assistant automatic rifleman
// rat - rifleman (AT)
// dm - designated marksman
+// mmgl - medium mg team leader
// mmgg - medium mg gunner
// mmgag - medium mg assistant
+// matl - medium AT team leader
// matg - medium AT gunner
// matag - medium AT assistant
// hmgg - heavy mg gunner (deployable)
// hmgag - heavy mg assistant (deployable)
-// hatg - heavy AT gunner (deployable)
-// hatag - heavy AT assistant (deployable)
+// hatl - heavy AT team leader
+// hatg - heavy AT gunner
+// hatag - heavy AT assistant
// mtrg - mortar gunner (deployable)
// mtrag - mortar assistant (deployable)
+// msaml - medium SAM team leader
// msamg - medium SAM gunner
// msamag - medium SAM assistant gunner
// hsamg - heavy SAM gunner (deployable)
// hsamag - heavy SAM assistant gunner (deployable)
// sn - sniper
// sp - spotter (for sniper)
+// lvc - light vehicle crew
+// lvd - light vehicle driver (repair)
// vc - vehicle commander
// vg - vehicle gunner
// vd - vehicle driver (repair)
-// pp - air vehicle pilot / co-pilot (repair)
-// pcc - air vehicle co-pilot (repair) / crew chief (repair)
// pc - air vehicle crew
+// jp - jet pilot
// eng - engineer (demo)
// engm - engineer (mines)
// uav - UAV operator
@@ -49,6 +55,12 @@
// v_car - car/4x4
// v_tr - truck
// v_ifv - ifv
+// v_tank - tank
+// v_helo_l - Rotary Transport Light
+// v_helo_m - Rotary Transport Medium
+// v_helo_h - Rotary Transport Heavy
+// v_helo_a - Rotary Attack
+// v_jet - Jet
//
// crate_small - small ammocrate
// crate_med - medium ammocrate
@@ -59,7 +71,7 @@
// GENERAL EQUIPMENT USED BY MULTIPLE CLASSES
// ATTACHMENTS - PRIMARY
-_attach1 = "acc_pointer_IR"; // IR Laser
+_attach1 = ""; // IR Laser
_attach2 = "acc_flashlight"; // Flashlight
_silencer1 = "mmuzzle_snds_B"; // 7.62 suppressor
@@ -85,22 +97,29 @@ _attachments = [_scope1]; // The default attachment set for most units, overwrit
// ATTACHMENTS - HANDGUN
_hg_silencer1 = ""; // No suppressor for Zubr
-_hg_scope1 = "optic_mrd"; // MRD
+_hg_scope1 = "optic_MRD"; // MRD
// Default setup
_hg_attachments= []; // The default attachment set for handguns, overwritten in the individual unitType
// ====================================================================================
+// ATTACHMENTS - LAUNCHER
+_lau_attach1 = ""; // Empty by default, could be a scope in GM or a laser pointer for Titans
+
+_lau_attachments = []; // The default attachment set for launchers, overwritten in the individual unitType
+
+// ====================================================================================
+
// WEAPON SELECTION
// Standard Riflemen ( MMG Assistant Gunner, Assistant Automatic Rifleman, MAT Assistant Gunner, MTR Assistant Gunner, Rifleman)
-_rifle = "arifle_AK12_F"; // Slight randomization, biased towards TRG
-_riflemag = "30Rnd_762x39_Mag_F";
-_riflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+_rifle = "arifle_AK12_F";
+_riflemag = "30Rnd_762x39_AK12_Mag_F";
+_riflemag_tr = "30Rnd_762x39_AK12_Mag_Tracer_F";
// Standard Carabineer (Medic, Rifleman (AT), MAT Gunner, MTR Gunner, Carabineer)
-_carbine = "arifle_AKS_F"; // Slight randomization, biased towards TRG
+_carbine = "arifle_AKS_F";
_carbinemag = "30Rnd_545x39_Mag_F";
_carbinemag_tr = "30Rnd_545x39_Mag_Tracer_F";
@@ -115,9 +134,9 @@ _diverMag2 = "30Rnd_556x45_Stanag_Tracer_Yellow";
_diverMag3 = "20Rnd_556x45_UW_mag";
// Rifle with GL and HE grenades (CO, DC, FTLs)
-_glrifle = "arifle_AK12_GL_F"; // Slight randomization, biased towards TRG
-_glriflemag = "30Rnd_762x39_Mag_F";
-_glriflemag_tr = "30Rnd_762x39_Mag_Tracer_F";
+_glrifle = "arifle_AK12_GL_F";
+_glriflemag = "30Rnd_762x39_AK12_Mag_F";
+_glriflemag_tr = "30Rnd_762x39_AK12_Mag_Tracer_F";
_glmag = "1Rnd_HE_Grenade_shell";
// Smoke for FTLs, Squad Leaders, etc
@@ -149,6 +168,10 @@ _medkit = "Medikit";
// Night Vision Goggles
_nvg = "NVGoggles_INDEP";
+_nvgPilot = "NVGoggles_INDEP"; // Integrated_NVG_F for fullscreen NV
+
+// Binoculars
+_binoculars = "Rangefinder";
// Laserdesignator
_laserdesignator = "Laserdesignator_01_khk_F";
@@ -164,15 +187,17 @@ _chemblue = "Chemlight_blue";
// Backpacks
_bag = "B_AssaultPack_rgr"; // carries 160, weighs 20
-_baglarge = "B_Carryall_cbr"; // carries 320, weighs 60
+_bagLarge = "B_Carryall_cbr"; // carries 320, weighs 60
_bagdiver = "B_AssaultPack_blk"; // used by divers
_baguav = "I_UAV_01_backpack_F"; // used by UAV operator
-_baghmgg = "B_HMG_01_weapon_F"; // used by Heavy MG gunner
-_baghmgag = "B_HMG_01_support_F"; // used by Heavy MG assistant gunner
+_baghmgg = "I_C_HMG_02_weapon_F"; // used by Heavy MG gunner
+_baghmgag = "I_C_HMG_02_support_F"; // used by Heavy MG assistant gunner
_baghatg = "B_AssaultPack_rgr"; // Used by Heavy AT Gunner
_bagmtrg = "B_Mortar_01_weapon_F"; // used by Mortar gunner
_bagmtrag = "B_Mortar_01_support_F"; // used by Mortar assistant gunner
_baghsamg = "B_AA_01_weapon_F"; // used by Heavy SAM gunner
+_baghsamag = "B_HMG_01_support_F"; // used by Heavy SAM assistant gunner **
+_bagRadio = "B_RadioBag_01_black_F"; // cosmetic, used by COs, DCs, and anybody who might possibly use CC in session.
// ====================================================================================
@@ -186,27 +211,32 @@ _ARmag_tr = "200Rnd_556x45_Box_Tracer_F";
// Medium MG
_MMG = "LMG_Zafir_F";
_MMGmag = "150Rnd_762x54_Box";
+_MMGmag_tr = "150Rnd_762x54_Box_Tracer";
// Marksman rifle
_DMrifle = "srifle_DMR_03_F";
_DMriflemag = "20Rnd_762x51_Mag";
+_DMriflemag_tr = "20Rnd_762x51_Mag";
// Rifleman AT
-_RAT = "launch_RPG32_F";
-_RATmag = "RPG32_F";
+_RAT = "launch_RPG32_ghex_F";
+_RATmag1 = "RPG32_F";
+_RATmag2 = "RPG32_HE_F";
// Medium AT
-_MAT = "launch_NLAW_F";
-_MATmag1 = "NLAW_F";
-
-// Heavy AT
-_HAT = "launch_I_Titan_short_F";
-_HATmag1 = "Titan_AT";
+_MAT = "launch_RPG32_ghex_F";
+_MATmag1 = "RPG32_F";
+_MATmag2 = "RPG32_HE_F";
// Surface Air
_SAM = "launch_Titan_F";
_SAMmag = "Titan_AA";
+// Heavy AT
+_HAT = "launch_O_Vorona_green_F";
+_HATmag1 = "Vorona_HEAT";
+_HATmag2 = "Vorona_HE";
+
// Sniper
_SNrifle = "srifle_LRR_F";
_SNrifleMag = "7Rnd_408_Mag";
@@ -225,13 +255,13 @@ _APmine2 = "APERSMine_Range_Mag";
// Define classes. This defines which gear class gets which uniform
// "medium" vests are used for all classes if they are not assigned a specific uniform
-_light = [];
-_heavy = ["eng","engm"];
_diver = ["div"];
_pilot = ["pp","pcc","pc"];
_crew = ["vc","vg","vd"];
_ghillie = ["sn","sp"];
_specOp = [];
+_jet = ["jp"];
+_vip = [];
// Basic clothing
// The outfit-piece is randomly selected from the array for each unit
@@ -241,7 +271,7 @@ _baseHelmet = ["H_Beret_blk"];
_baseGlasses = ["G_Bandanna_blk","G_Bandanna_khk","G_Bandanna_oli"];
// Vests
-_lightRig = ["V_Chestrig_blk","V_Chestrig_rgr"];
+_lightRig = ["V_TacVestIR_blk"];
_standardRig = ["V_TacVestIR_blk"];
// Diver
@@ -256,6 +286,12 @@ _pilotHelmet = _baseHelmet;
_pilotRig = ["V_Chestrig_blk"];
_pilotGlasses = [];
+// Jet Pilot
+_jetUniform = ["U_I_pilotCoveralls"];
+_jetHelmet = ["H_PilotHelmetFighter_I"];
+_jetRig = [];
+_jetGlasses = [];
+
// Crewman
_crewUniform = _baseUniform;
_crewHelmet = _baseHelmet;
@@ -263,7 +299,7 @@ _crewRig = ["V_Chestrig_blk"];
_crewGlasses = [];
// Ghillie
-_ghillieUniform = ["U_B_GhillieSuit"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"];
+_ghillieUniform = ["U_B_T_Sniper_F"]; //DLC alternatives: ["U_B_FullGhillie_lsh","U_B_FullGhillie_ard","U_B_FullGhillie_sard"]; CSAT option: ["U_O_T_Sniper_F"];, ["U_O_T_FullGhillie_tna_F"];
_ghillieHelmet = [];
_ghillieRig = ["V_Chestrig_rgr"];
_ghillieGlasses = [];
@@ -274,15 +310,11 @@ _sfhelmet = _baseHelmet;
_sfRig = _standardRig;
_sfGlasses = [];
-
-// ====================================================================================
-
-// INTERPRET PASSED VARIABLES
-// The following interprets what has been passed to this script element
-
-_typeofUnit = toLower (_this select 0); // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
-_unit = _this select 1; // expecting name of unit; originally passed by using 'this' in unit init
-_isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+// VIP/Officer
+_vipUniform = ["U_I_C_Soldier_Camo_F"];
+_vipHelmet = [];
+_vipRig = ["V_TacVestIR_blk"];
+_vipGlasses = ["G_Aviator"];
// ====================================================================================
@@ -323,30 +355,18 @@ if (_isMan) then {
// SELECT LOADOUT
// Pick the appropriate loadout depending on the parameter
+// To use an alternate loadout parameter, you must uncomment this block, uncomment the relevant block in description.ext, and add an assignGear loadout file as named below.
-_loadout = f_param_loadouts;
+// _loadout = f_param_loadouts;
// Light Loadout
-if (_loadout == 0) then {
- #include "f_assignGear_syndikat_light.sqf"
-};
+// if (_loadout == 0) then {
+// #include "f_assignGear_syndikat_light.sqf"
+// };
// Standard Loadout
-if (_loadout == 1) then {
- #include "f_assignGear_syndikat_standard.sqf"
-};
+// if (_loadout == 1) then {
+ #include "f_assignGear_syndikat_standard.sqf";
+// };
// ====================================================================================
-
-// If this isn't run on an infantry unit we can exit
-if !(_isMan) exitWith {};
-
-// ====================================================================================
-
-// Handle weapon attachments
-#include "f_assignGear_attachments.sqf";
-
-// ====================================================================================
-
-// ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
-_unit selectweapon primaryweapon _unit;
diff --git a/f/assignGear/f_assignGear_syndikat_standard.sqf b/f/assignGear/f_assignGear_syndikat_standard.sqf
index 7533920e5..464a69db6 100644
--- a/f/assignGear/f_assignGear_syndikat_standard.sqf
+++ b/f/assignGear/f_assignGear_syndikat_standard.sqf
@@ -1,5 +1,5 @@
-// F3 - Folk ARPS Assign Gear Script - AAF - Light Loadout
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// F3 - Folk ARPS Assign Gear Script - Syndikat - Standard Loadout
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DEFINE UNIT TYPE LOADOUTS
@@ -18,11 +18,10 @@ switch (_typeofUnit) do
_unit addweapon _AR;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_ARmag, 1];
_unit addmagazines [_ARmag_tr, 1];
_unit addmagazines [_grenade, 1];
- _unit addmagazines [_smokegrenade, 4];
};
// Rifleman (AT) Loadout:
case "rat":
@@ -30,15 +29,15 @@ switch (_typeofUnit) do
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
- _unit addmagazines [_RATmag, 1];
+ _unit addmagazines [_RATmag1, 1];
_unit addweapon _RAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_RATmag, 3];
+ _unit addmagazines [_RATmag1, 1];
+ _unit addmagazines [_RATmag2, 1];
};
// Assistant Autorifleman Loadout:
case "aar":
@@ -47,12 +46,12 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_ARmag, 1];
+ _unit addmagazines [_RATmag1, 1];
};
// Fire Team Leader Loadout:
case "ftl":
@@ -61,81 +60,108 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_glsmokewhite, 3];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_smokegrenadegreen, 2];
- _unit addWeapon "Rangefinder";
};
// Squad Leader / DC Loadout:
case "dc":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
_unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
_unit addmagazines [_pistolmag, 2];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
};
// Platoon CO Loadout:
case "co":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokewhite, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokewhite, 5];
- _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokewhite, 4];
+ _unit addmagazines [_glsmokered, 2];
+ _unit addmagazines [_glsmokegreen, 2];
_unit addmagazines [_pistolmag, 4];
- _unit addmagazines [_smokegrenadepurple, 2];
- _unit addWeapon "Rangefinder";
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
+ _unit addmagazines [_smokegrenadepurple, 3];
};
// JTAC Loadout:
case "jtac":
{
+ _unit addBackpack _bagRadio;
_unit addmagazines [_glriflemag, 1];
_unit addmagazines [_glsmokered, 1];
_unit addweapon _glrifle;
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
- _unit addmagazines [_glsmokered, 8];
- _unit addmagazines [_pistolmag, 3];
+ _unit addmagazines [_glsmokewhite, 3];
+ _unit addmagazines [_glsmokered, 3];
+ _unit addmagazines [_glsmokegreen, 2];
+ _unit addmagazines [_pistolmag, 4];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
_unit addmagazines ["Laserbatteries", 1];
_unit addWeapon _laserdesignator;
};
// Medic Loadout:
case "m":
{
+ _unit setUnitTrait ["medic",true]; // Can use medkit
_unit addBackpack _bag;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem _medkit;
_unit addItem _firstaid;
};
+// Combat Life Saver Loadout:
+ case "cls":
+ {
+ _unit setUnitTrait ["f3_cls",true,true]; // Used in F3 CLS Event Handler
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ for "_i" from 1 to 6 do {
+ _unit addItem _firstaid;
+ };
+ _unit addmagazines [_grenade, 2];
+ };
// Designated Marksman Loadout:
case "dm":
{
@@ -143,9 +169,10 @@ switch (_typeofUnit) do
_unit addweapon _DMrifle;
_attachments = [_bipod1,_scope2]; // Overwrites default attachments to add a bipod and scope 2
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_DMriflemag, 6];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_DMriflemag, 4];
+ _unit addmagazines [_DMriflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
};
// Medium MG Gunner Loadout:
case "mmgg":
@@ -155,24 +182,38 @@ switch (_typeofUnit) do
_unit addweapon _MMG;
_attachments pushback (_bipod1); // Adds the bipod
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_MMGmag_tr, 1];
+ };
+// Medium MG Assistant Loadout:
+ case "mmgag":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_MMGmag_tr, 1];
};
// Medium MG Team Leader Loadout:
- case "mmgag":
+ case "mmgl":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MMGmag, 1];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_MMGmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_MMGmag_tr, 1];
+ _unit addWeapon _binoculars;
};
// Heavy MG Gunner Loadout:
case "hmgg":
@@ -181,10 +222,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Heavy MG Team Leader Loadout:
case "hmgag":
@@ -193,11 +233,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium AT Gunner Loadout:
case "matg":
@@ -208,54 +248,81 @@ switch (_typeofUnit) do
_unit addmagazines [_MATmag1, 1];
_unit addweapon _MAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MATmag1, 1];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
};
-// Medium AT Team Leader Loadout:
+// Medium AT Assistant Loadout:
case "matag":
{
_unit addBackpack _bag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ };
+// Medium AT Team Leader Loadout:
+ case "matl":
+ {
+ _unit addBackpack _bag;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addmagazines [_MATmag1, 1];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_MATmag1, 2];
+ _unit addmagazines [_MATmag2, 1];
+ _unit addWeapon _binoculars;
};
// Heavy AT Gunner Loadout:
case "hatg":
{
- _unit addBackpack _baghatg;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addmagazines [_HATmag1, 1];
_unit addweapon _HAT;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addmagazines [_HATmag1, 1];
};
-// Heavy AT Team Leader Loadout:
+// Heavy AT Assistant Loadout:
case "hatag":
{
- _unit addBackpack _baghatag;
+ _unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_HATmag1, 2];
- _unit addWeapon "Rangefinder";
+ };
+// Heavy AT Team Leader Loadout:
+ case "hatl":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_HATmag1, 2];
+ _unit addWeapon _binoculars;
};
// Mortar Gunner Loadout:
case "mtrg":
@@ -264,10 +331,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 2];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Mortar Team Leader Loadout:
case "mtrag":
@@ -276,11 +342,11 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Medium SAM Gunner Loadout:
case "msamg":
@@ -291,24 +357,36 @@ switch (_typeofUnit) do
_unit addmagazines [_SAMmag, 1];
_unit addweapon _SAM;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
-// Medium SAM Team Leader Loadout:
+// Medium SAM Assistant Loadout:
case "msamag":
{
_unit addBackpack _bagLarge;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_riflemag, 4];
+ _unit addmagazines [_riflemag_tr, 2];
+ _unit addmagazines [_grenade, 2];
+ _unit addmagazines [_SAMmag, 2];
+ };
+// Medium SAM Team Leader Loadout:
+ case "msaml":
+ {
+ _unit addBackpack _bagLarge;
+ _unit addmagazines [_riflemag, 1];
+ _unit addweapon _rifle;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
+ _unit addmagazines [_grenade, 2];
_unit addmagazines [_SAMmag, 2];
- _unit addWeapon "Rangefinder";
+ _unit addWeapon _binoculars;
};
// Heavy SAM Gunner Loadout:
case "hsamg":
@@ -317,23 +395,22 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_carbinemag, 2];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Heavy SAM Team Leader Loadout:
case "hsamag":
{
- _unit addBackpack _baghmgag;
+ _unit addBackpack _baghsamag;
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
- _unit addWeapon "Rangefinder";
+ _unit addmagazines [_grenade, 2];
+ _unit addWeapon _binoculars;
};
// Sniper Loadout:
case "sn":
@@ -344,8 +421,8 @@ switch (_typeofUnit) do
_unit addmagazines [_pistolmag, 1];
_unit addweapon _pistol;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
- _unit addmagazines [_SNrifleMag, 3];
+ _unit addmagazines [_smokegrenade, 3];
+ _unit addmagazines [_SNrifleMag, 6];
_unit addmagazines [_pistolmag, 5];
};
// Spotter Loadout:
@@ -354,12 +431,36 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 5];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
+ _attachments pushback (_attach1); // Adds laser pointer, keeps default scope
+ _unit addWeapon _binoculars;
_unit addmagazines [_SNrifleMag, 3];
- _unit addWeapon "Rangefinder";
+ };
+// Light Vehicle Crew Loadout:
+ case "lvc":
+ {
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addweapon _binoculars;
+ };
+// Light Vehicle Driver Loadout:
+ case "lvd":
+ {
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit addBackpack _bag;
+ _unit addmagazines [_carbinemag, 1];
+ _unit addweapon _carbine;
+ _unit addItem _firstaid;
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_carbinemag, 4];
+ _unit addItem "ToolKit";
+ _unit addweapon _binoculars;
};
// Vehicle Commander Loadout:
case "vc":
@@ -367,10 +468,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addweapon "Rangefinder";
+ _unit addweapon _binoculars;
};
// Vehicle Gunner Loadout:
case "vg":
@@ -378,9 +478,8 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
};
// Vehicle Driver Loadout:
case "vd":
@@ -390,59 +489,47 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Pilot Loadout:
- case "pp":
+// Jet Pilot Loadout:
+ case "jp":
{
_unit setUnitTrait ["engineer",true]; // Can repair
- _unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- _unit addItem "ToolKit";
+ _unit addmagazines [_smokegrenadeblue, 3];
+ _unit addmagazines [_smgmag, 3];
};
-// Heli Crew Chief Loadout:
- case "pcc":
+// Helicopter Crew Loadout:
+ case "pp";
+ case "pcc";
+ case "pc":
{
_unit setUnitTrait ["engineer",true]; // Can repair
_unit addBackpack _bag;
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenadeblue, 3];
_unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
_unit addItem "ToolKit";
};
-// Heli Crew Loadout:
- case "pc":
- {
- _unit addmagazines [_smgmag, 1];
- _unit addweapon _smg;
- _unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
- _unit addmagazines [_smgmag, 4];
- _unit addmagazines [_smokegrenadeblue, 4];
- };
// Engineer (Demo) Loadout:
case "eng":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_satchel, 2];
@@ -450,15 +537,16 @@ switch (_typeofUnit) do
// Engineer (Mines) Loadout:
case "engm":
{
+ _unit setUnitTrait ["engineer",true]; // Can repair
+ _unit setUnitTrait ["explosiveSpecialist",true]; // Can defuse explosives
_unit addBackpack _bagLarge;
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit addItem "ToolKit";
_unit addItem "MineDetector";
_unit addmagazines [_APmine2, 4];
@@ -471,10 +559,9 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
- _unit addmagazines [_smokegrenade, 4];
_unit linkItem _uavterminal;
};
// Diver Loadout:
@@ -496,11 +583,10 @@ switch (_typeofUnit) do
_unit addmagazines [_riflemag, 1];
_unit addweapon _rifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_riflemag, 4];
_unit addmagazines [_riflemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Carbineer Loadout:
case "car":
@@ -508,11 +594,10 @@ switch (_typeofUnit) do
_unit addmagazines [_carbinemag, 1];
_unit addweapon _carbine;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_carbinemag, 4];
_unit addmagazines [_carbinemag_tr, 2];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Submachinegunner Loadout:
case "smg":
@@ -520,10 +605,9 @@ switch (_typeofUnit) do
_unit addmagazines [_smgmag, 1];
_unit addweapon _smg;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_smgmag, 6];
_unit addmagazines [_grenade, 2];
- _unit addmagazines [_smokegrenade, 4];
};
// Grenadier Loadout:
case "gren":
@@ -532,17 +616,19 @@ switch (_typeofUnit) do
_unit addmagazines [_glmag, 1];
_unit addweapon _glrifle;
_unit addItem _firstaid;
- _unit addmagazines [_smokegrenade, 1];
+ _unit addmagazines [_smokegrenade, 3];
_unit addmagazines [_glriflemag, 4];
_unit addmagazines [_glriflemag_tr, 2];
_unit addmagazines [_glmag, 5];
- _unit addmagazines [_smokegrenade, 4];
};
// Include the loadouts for vehicles and crates:
#include "f_assignGear_syndikat_v.sqf";
+// Include the default case for error handling
+#include "f_assignGear_default.sqf";
+
// ====================================================================================
// END SWITCH FOR DEFINE UNIT TYPE LOADOUTS
-};
\ No newline at end of file
+};
diff --git a/f/assignGear/f_assignGear_syndikat_v.sqf b/f/assignGear/f_assignGear_syndikat_v.sqf
index a871aee3b..6260e4e0e 100644
--- a/f/assignGear/f_assignGear_syndikat_v.sqf
+++ b/f/assignGear/f_assignGear_syndikat_v.sqf
@@ -7,12 +7,12 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag, 8];
_unit addMagazineCargoGlobal [_glriflemag, 8];
_unit addMagazineCargoGlobal [_carbinemag, 10];
_unit addMagazineCargoGlobal [_armag, 5];
- _unit addMagazineCargoGlobal [_ratmag, 1];
+ _unit addMagazineCargoGlobal [_RATmag1, 1];
_unit addMagazineCargoGlobal [_grenade, 4];
_unit addMagazineCargoGlobal [_smokegrenade, 4];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
@@ -28,18 +28,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 10];
- _unit addMagazineCargoGlobal [_riflemag, 40];
- _unit addMagazineCargoGlobal [_glriflemag, 40];
- _unit addMagazineCargoGlobal [_carbinemag, 40];
- _unit addMagazineCargoGlobal [_armag, 22];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],4];
+ _unit addMagazineCargoGlobal [_riflemag, 20];
+ _unit addMagazineCargoGlobal [_glriflemag, 20];
+ _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addMagazineCargoGlobal [_armag, 10];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade, 12];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 4];
_unit addMagazineCargoGlobal [_glmag, 12];
_unit addMagazineCargoGlobal [_glsmokewhite, 12];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,8];
};
@@ -50,18 +51,19 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine, 4];
- _unit addMagazineCargoGlobal [_riflemag, 20];
- _unit addMagazineCargoGlobal [_glriflemag, 20];
- _unit addMagazineCargoGlobal [_carbinemag, 20];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addMagazineCargoGlobal [_riflemag, 10];
+ _unit addMagazineCargoGlobal [_glriflemag, 10];
+ _unit addMagazineCargoGlobal [_carbinemag, 12];
_unit addMagazineCargoGlobal [_armag, 8];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addmagazineCargoGlobal [_mgrenade,8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 2];
_unit addMagazineCargoGlobal [_glmag, 8];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,6];
};
@@ -75,6 +77,7 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,2];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -93,9 +96,8 @@
_unit addMagazineCargoGlobal [_smokegrenade,4];
_unit addMagazineCargoGlobal [_smokegrenadegreen,2];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addItemCargoGlobal [_firstaid,2];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
- _unit addItemCargoGlobal ["Toolkit",1];
+ _unit addItemCargoGlobal [_firstaid,2];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
//CARGO: Rotary Transport Medium
@@ -105,22 +107,20 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,2];
- _unit addWeaponCargoGlobal [_rat,1];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],1];
_unit addMagazineCargoGlobal [_riflemag,10];
_unit addMagazineCargoGlobal [_glriflemag,10];
_unit addMagazineCargoGlobal [_carbinemag,10];
_unit addMagazineCargoGlobal [_armag,6];
- _unit addMagazineCargoGlobal [_ratmag,1];
_unit addMagazineCargoGlobal [_grenade,4];
_unit addmagazineCargoGlobal [_mgrenade,4];
_unit addMagazineCargoGlobal [_smokegrenade,8];
_unit addMagazineCargoGlobal [_smokegrenadegreen,4];
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,2];
+ _unit addBackpackCargoGlobal [_bag,2];
_unit addItemCargoGlobal [_firstaid,4];
- _unit addBackpackCargoGlobal ["B_Parachute",2];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -131,13 +131,13 @@
clearMagazineCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearBackpackCargoGlobal _unit;
- _unit addWeaponCargoGlobal [_carbine,8];
- _unit addWeaponCargoGlobal [_rat,2];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_carbine,"","","",[_carbinemag,500],[],""],8];
+ _unit addWeaponWithAttachmentsCargoGlobal [[_rat,"","","",[_RATmag1,500],[],""],2];
_unit addMagazineCargoGlobal [_riflemag,20];
_unit addMagazineCargoGlobal [_glriflemag,20];
_unit addMagazineCargoGlobal [_carbinemag,20];
_unit addMagazineCargoGlobal [_armag,12];
- _unit addMagazineCargoGlobal [_ratmag,6];
+ _unit addMagazineCargoGlobal [_RATmag1,4];
_unit addMagazineCargoGlobal [_grenade,12];
_unit addmagazineCargoGlobal [_mgrenade,12];
_unit addMagazineCargoGlobal [_smokegrenade,12];
@@ -145,9 +145,8 @@
_unit addMagazineCargoGlobal [_glmag,12];
_unit addMagazineCargoGlobal [_glsmokewhite,12];
_unit addMagazineCargoGlobal [_chemgreen,4];
- _unit addBackpackCargoGlobal [_bagmedium,4];
+ _unit addBackpackCargoGlobal [_bag,4];
_unit addItemCargoGlobal [_firstaid,6];
- _unit addBackpackCargoGlobal ["B_Parachute",4];
_unit addItemCargoGlobal ["Toolkit",1];
};
@@ -176,6 +175,8 @@
_unit addMagazineCargoGlobal [_chemgreen,2];
_unit addItemCargoGlobal [_firstaid,1];
_unit addBackpackCargoGlobal ["B_Parachute",1];
+ _unit addBackpackCargoGlobal [_bag,1];
+ _unit addItemCargoGlobal ["Toolkit",1];
};
// CRATE: Small, ammo for 1 fireteam
@@ -191,7 +192,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 5];
_unit addMagazineCargoGlobal [_glmag, 5];
_unit addMagazineCargoGlobal [_glsmokewhite, 4];
- _unit addMagazineCargoGlobal [_ratmag, 2];
+ _unit addMagazineCargoGlobal [_RATmag1, 2];
_unit addMagazineCargoGlobal [_grenade, 8];
_unit addMagazineCargoGlobal [_mgrenade, 8];
_unit addMagazineCargoGlobal [_smokegrenade, 8];
@@ -212,7 +213,7 @@
_unit addMagazineCargoGlobal [_carbinemag, 20];
_unit addMagazineCargoGlobal [_glmag, 20];
_unit addMagazineCargoGlobal [_glsmokewhite,16];
- _unit addMagazineCargoGlobal [_ratmag, 6];
+ _unit addMagazineCargoGlobal [_RATmag1, 6];
_unit addMagazineCargoGlobal [_grenade, 25];
_unit addMagazineCargoGlobal [_mgrenade, 25];
_unit addMagazineCargoGlobal [_smokegrenade, 25];
@@ -233,10 +234,10 @@
_unit addMagazineCargoGlobal [_carbinemag, 60];
_unit addMagazineCargoGlobal [_glmag, 60];
_unit addMagazineCargoGlobal [_glsmokewhite,50];
- _unit addMagazineCargoGlobal [_ratmag, 20];
+ _unit addMagazineCargoGlobal [_RATmag1, 20];
_unit addMagazineCargoGlobal [_grenade, 75];
_unit addMagazineCargoGlobal [_mgrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenade, 75];
_unit addMagazineCargoGlobal [_smokegrenadegreen, 20];
_unit addItemCargoGlobal [_firstaid, 75];
- };
\ No newline at end of file
+ };
diff --git a/f/assignGear/fn_assignGear.sqf b/f/assignGear/fn_assignGear.sqf
index ab61da4fd..4d1f4ed56 100644
--- a/f/assignGear/fn_assignGear.sqf
+++ b/f/assignGear/fn_assignGear.sqf
@@ -1,9 +1,16 @@
// F3 - Folk ARPS Assign Gear Script (Server-side)
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-// DECLARE VARIABLES AND FUNCTIONS
+// INTERPRET PASSED VARIABLES
+// The following interprets what has been passed to this script
+params[
+ ["_typeofUnit", "", [""]],
+ ["_unit", objNull, [objNull]]
+];
+private _isMan = _unit isKindOf "CAManBase"; // We check if we're dealing with a soldier or a vehicle
+_typeofUnit = toLower _typeofUnit; // Tidy input for SWITCH/CASE statements, expecting something like : r = Rifleman, co = Commanding Officer, rat = Rifleman (AT)
// ====================================================================================
@@ -11,12 +18,7 @@
// The following code detects what faction the unit's slot belongs to, and stores
// it in the private variable _faction. It can also be passed as an optional parameter.
-
-params["_typeofUnit","_unit"];
-private _faction = toLower (faction _unit);
-
-_typeofUnit = toLower _typeofUnit;
-_faction = toLower (param[2, (faction _unit)]);
+private _faction = toLower (param[2, ([_unit] call f_fnc_virtualFaction)]);
// ====================================================================================
@@ -31,9 +33,7 @@ _insignia_style_NATO = "Altis"; // Options: "Altis" | "Tanoa"
_insignia_style_CSAT = "Altis"; // Options: "Altis" | "Tanoa" | "Urban"
_insignia_styles = [_insignia_style_NATO,_insignia_style_CSAT];
-[_unit,_typeofUnit,_insignia_styles] spawn {
- #include "f_assignInsignia.sqf"
-};
+[_unit,_typeofUnit,_insignia_styles] spawn f_fnc_assignInsignia;
// ====================================================================================
@@ -54,7 +54,7 @@ _unit setVariable ["f_var_assignGear",_typeofUnit,true];
// DECLARE VARIABLES AND FUNCTIONS 2
// Used by the faction-specific scripts
-private ["_attach1","_attach2","_silencer1","_silencer2","_scope1","_scope2","_scope3","_bipod1","_bipod2","_attachments","_silencer","_hg_silencer1","_hg_scope1","_hg_attachments","_rifle","_riflemag","_riflemag_tr","_carbine","_carbinemag","_carbinemag_tr","_smg","_smgmag","_smgmag_tr","_diverWep","_diverMag1","_diverMag2","_glrifle","_glriflemag","_glriflemag_tr","_glmag","_glsmokewhite","_glsmokegreen","_glsmokered","_glflarewhite","_glflarered","_glflareyellow","_glflaregreen","_pistol","_pistolmag","_grenade","_Mgrenade","_smokegrenade","_smokegrenadegreen","_firstaid","_medkit","_nvg","_uavterminal","_chemgreen","_chemred","_chemyellow","_chemblue","_bagsmall","_bagmedium","_baglarge","_bagmediumdiver","_baguav","_baghmgg","_baghmgag","_baghatg","_baghatag","_bagmtrg","_bagmtrag","_baghsamg","_baghsamag","_AR","_ARmag","_ARmag_tr","_MMG","_MMGmag","_MMGmag_tr","_Tracer","_DMrifle","_DMriflemag","_RAT","_RATmag","_MAT","_MATmag1","_MATmag2","_SAM","_SAMmag","_HAT","_HATmag1","_HATmag2","_SNrifle","_SNrifleMag","_ATmine","_satchel","_APmine1","_APmine2","_light","_heavy","_diver","_pilot","_crew","_ghillie","_specOp","_baseUniform","_baseHelmet","_baseGlasses","_lightRig","_mediumRig","_heavyRig","_diverUniform","_diverHelmet","_diverRig","_diverGlasses","_pilotUniform","_pilotHelmet","_pilotRig","_pilotGlasses","_crewUniform","_crewHelmet","_crewRig","_crewGlasses","_ghillieUniform","_ghillieHelmet","_ghillieRig","_ghillieGlasses","_sfuniform","_sfhelmet","_sfRig","_sfGlasses","_typeofUnit","_unit","_isMan","_backpack","_typeofBackPack","_loadout","_COrifle","_mgrenade","_DC","_SLrifle","_JTACrifle","_ftlrifle","_grenrifle","_typeofunit"];
+private ["_binoculars","_lau_attach1","_lau_attachments","_attach1","_attach2","_silencer1","_silencer2","_scope1","_scope2","_scope3","_bipod1","_bipod2","_attachments","_silencer","_hg_silencer1","_hg_scope1","_hg_attachments","_rifle","_riflemag","_riflemag_tr","_carbine","_carbinemag","_carbinemag_tr","_shotgun","_shotgunmag1","_shotgunmag2","_smg","_smgmag","_smgmag_tr","_diverWep","_diverMag1","_diverMag2","_glrifle","_glriflemag","_glriflemag_tr","_glmag","_glsmokewhite","_glsmokegreen","_glsmokered","_glflarewhite","_glflarered","_glflareyellow","_glflaregreen","_pistol","_pistolmag","_grenade","_Mgrenade","_smokegrenade","_smokegrenadegreen","_smokegrenadeblue","_smokegrenadepurple","_firstaid","_medkit","_nvg","_nvgPilot","_uavterminal","_chemgreen","_chemred","_chemyellow","_chemblue","_bag","_bagLarge","_bagmediumdiver","_baguav","_baghmgg","_baghmgag","_baghatg","_baghatag","_bagmtrg","_bagmtrag","_baghsamg","_baghsamag","_bagRadio","_AR","_ARmag","_ARmag_tr","_MMG","_MMGmag","_MMGmag_tr","_Tracer","_DMrifle","_DMriflemag","_RAT","_RATmag1","_RATmag2","_MAT","_MATmag1","_MATmag2","_SAM","_SAMmag","_HAT","_HATmag1","_HATmag2","_SNrifle","_SNrifleMag","_ATmine","_satchel","_APmine1","_APmine2","_diver","_pilot","_crew","_ghillie","_specOp","_baseUniform","_baseHelmet","_baseGlasses","_lightRig","_mediumRig","_heavyRig","_diverUniform","_diverHelmet","_diverRig","_diverGlasses","_pilotUniform","_pilotHelmet","_pilotRig","_pilotGlasses","_crewUniform","_crewHelmet","_crewRig","_crewGlasses","_ghillieUniform","_ghillieHelmet","_ghillieRig","_ghillieGlasses","_sfuniform","_sfhelmet","_sfRig","_sfGlasses","_backpack","_typeofBackPack","_loadout","_COrifle","_mgrenade","_DC","_SLrifle","_JTACrifle","_ftlrifle","_grenrifle","_typeofunit","_jet","_jetUniform","_jetHelmet","_jetRig","_jetGlasses","_vip","_vipUniform","_vipHelmet","_vipRig","_vipGlasses"];
// ====================================================================================
@@ -77,9 +77,20 @@ if (f_param_debugMode == 1) then
// The following block of code executes only if the unit belongs to the NATO faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["blu_f","nato"]) then {
- #include "f_assignGear_nato.sqf"
- // #include "f_assignGear_natoPacific.sqf" // Use NATO Pacific loadouts on NATO non-Pacific units (e.g. Folk ARPS Platoons)
+if (_faction in (["blu_f","nato"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_nato.sqf")
+ #include "f_assignGear_nato.sqf"
+ #endif
+
+ // Use NATO Pacific loadouts on NATO non-Pacific units (e.g. Folk ARPS Platoons)
+ // #if __has_include("f_assignGear_natoPacific.sqf")
+ // #include "f_assignGear_natoPacific.sqf"
+ // #endif
+
+ // Use NATO Woodland loadouts on NATO non-Woodland units (e.g. Folk ARPS Platoons)
+ // #if __has_include("f_assignGear_natoWoodland.sqf")
+ // #include "f_assignGear_natoWoodland.sqf"
+ // #endif
};
// ====================================================================================
@@ -88,8 +99,22 @@ if (_faction in ["blu_f","nato"]) then {
// The following block of code executes only if the unit belongs to the NATO (Pacific) faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["blu_t_f","natopacific"]) then {
- #include "f_assignGear_natoPacific.sqf"
+if (_faction in (["blu_t_f","natopacific"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_natoPacific.sqf")
+ #include "f_assignGear_natoPacific.sqf"
+ #endif
+};
+
+// ====================================================================================
+
+// GEAR: BLUFOR > NATO (Woodland)
+// The following block of code executes only if the unit belongs to the NATO (Woodland) faction; it
+// automatically includes a file which contains the appropriate equipment data.
+
+if (_faction in (["blu_w_f","natowoodland"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_natoWoodland.sqf")
+ #include "f_assignGear_natoWoodland.sqf"
+ #endif
};
// ====================================================================================
@@ -98,8 +123,10 @@ if (_faction in ["blu_t_f","natopacific"]) then {
// The following block of code executes only if the unit belongs to the gendarmerie faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["blu_gen_f"]) then {
- #include "f_assignGear_gendarmerie.sqf"
+if (_faction in (["blu_gen_f"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_gendarmerie.sqf")
+ #include "f_assignGear_gendarmerie.sqf"
+ #endif
};
// ====================================================================================
@@ -108,9 +135,15 @@ if (_faction in ["blu_gen_f"]) then {
// The following block of code executes only if the unit belongs to the CSAT faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["opf_f","csat"]) then {
- #include "f_assignGear_csat.sqf"
- // #include "f_assignGear_csatPacific.sqf" // Use CSAT Pacific loadouts on CSAT non-Pacific units (e.g. Folk ARPS Platoons)
+if (_faction in (["opf_f","csat"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_csat.sqf")
+ #include "f_assignGear_csat.sqf"
+ #endif
+
+ // Use CSAT Pacific loadouts on CSAT non-Pacific units (e.g. Folk ARPS Platoons)
+ // #if __has_include("f_assignGear_csatPacific.sqf")
+ // #include "f_assignGear_csatPacific.sqf"
+ // #endif
};
// ====================================================================================
@@ -119,18 +152,34 @@ if (_faction in ["opf_f","csat"]) then {
// The following block of code executes only if the unit belongs to the CSAT (Pacific) faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["opf_t_f","csatpacific"]) then {
- #include "f_assignGear_csatPacific.sqf"
+if (_faction in (["opf_t_f","csatpacific"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_csatPacific.sqf")
+ #include "f_assignGear_csatPacific.sqf"
+ #endif
};
// ====================================================================================
-// GEAR: INDEPEDENT > AAF
+// GEAR: OPFOR > Spetsnaz
+// The following block of code executes only if the unit belongs to the Spetsnaz faction; it
+// automatically includes a file which contains the appropriate equipment data.
+
+if (_faction in (["opf_r_f","spetsnaz"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_spetsnaz.sqf")
+ #include "f_assignGear_spetsnaz.sqf"
+ #endif
+};
+
+// ====================================================================================
+
+// GEAR: INDEPENDENT > AAF
// The following block of code executes only if the unit belongs to the AAF faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["ind_f","aaf"]) then {
- #include "f_assignGear_aaf.sqf"
+if (_faction in (["ind_f","aaf"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_aaf.sqf")
+ #include "f_assignGear_aaf.sqf"
+ #endif
};
// ====================================================================================
@@ -139,9 +188,10 @@ if (_faction in ["ind_f","aaf"]) then {
// The following block of code executes only if the unit belongs to the FIA slot (any side); it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["blu_g_f","opf_g_f","ind_g_f","fia"]) then {
- #include "f_assignGear_fia.sqf"
- //#include "f_assignGear_fiaAK.sqf" // Alternative FIA loadouts using AKs and RPG-7s
+if (_faction in (["blu_g_f","opf_g_f","ind_g_f","fia"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_fia.sqf")
+ #include "f_assignGear_fia.sqf"
+ #endif
};
// ====================================================================================
@@ -150,30 +200,91 @@ if (_faction in ["blu_g_f","opf_g_f","ind_g_f","fia"]) then {
// The following block of code executes only if the unit belongs to the CTRG faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["blu_ctrg_f","ctrg"]) then {
- #include "f_assignGear_ctrg.sqf"
+if (_faction in (["blu_ctrg_f","ctrg"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_ctrg.sqf")
+ #include "f_assignGear_ctrg.sqf"
+ #endif
};
// ====================================================================================
-// GEAR: INDEPEDENT > SYNDIKAT
+// GEAR: INDEPENDENT > SYNDIKAT
// The following block of code executes only if the unit is manually assigned the Syndikat faction; it
// automatically includes a file which contains the appropriate equipment data.
-if (_faction in ["ind_c_f","syndikat"]) then {
- #include "f_assignGear_syndikat.sqf"
+if (_faction in (["ind_c_f","syndikat"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_syndikat.sqf")
+ #include "f_assignGear_syndikat.sqf"
+ #endif
};
// ====================================================================================
-// This variable simply tracks the progress of the gear assignation process, for other
-// scripts to reference.
+// GEAR: INDEPENDENT > LDF
+// The following block of code executes only if the unit belongs to the LDF faction; it
+// automatically includes a file which contains the appropriate equipment data.
-_unit setVariable ["f_var_assignGear_done",true,true];
+if (_faction in (["ind_e_f","ldf"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_ldf.sqf")
+ #include "f_assignGear_ldf.sqf"
+ #endif
+};
// ====================================================================================
-// DEBUG
+// GEAR: INDEPENDENT > NPR
+// The following block of code executes only if the unit belongs to the NPR faction; it
+// automatically includes a file which contains the appropriate equipment data.
+
+if (_faction in (["ind_l_f","npr"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_npr.sqf")
+ #include "f_assignGear_npr.sqf"
+ #endif
+};
+
+// ====================================================================================
+
+// VIRTUAL FACTIONS
+
+// GEAR: 3IFB
+// The following block of code executes only if the unit is assigned to the 3IFB virtual faction
+// with f_fnc_setVirtualFaction; it automatically includes a file which contains the appropriate
+// equipment data.
+if (_faction in (["3ifb"] apply {toLower _x})) then {
+ #if __has_include("f_assignGear_3IFB.sqf")
+ #include "f_assignGear_3IFB.sqf"
+ #endif
+};
+
+// ====================================================================================
+
+// Handle weapon switching, weapon attachments, etc
+
+// This block needs only to be run on an infantry unit
+if (_isMan) then {
+
+ // Add extra FAKs,
+ // because the assignGear files were made when the sws was still existing.
+ private _numExtraFAK = 2;
+ for "_i" from 1 to _numExtraFAK do {
+ _unit addItem _firstaid;
+ };
+
+ // Handle weapon attachments
+ #include "f_assignGear_attachments.sqf";
+
+ // ENSURE UNIT HAS CORRECT WEAPON SELECTED ON SPAWNING
+ _unit selectweapon primaryweapon _unit;
+
+};
+
+
+// ====================================================================================
+
+// This variable simply tracks the progress of the gear assignation process, for other
+// scripts to reference.
+
+_unit setVariable ["f_var_assignGear_done",true,true];
// ====================================================================================
@@ -184,7 +295,7 @@ if (isNil "_carbine") then { //_carbine should exist unless no faction has been
player globalchat format ["DEBUG (assignGear.sqf): Faction %1 is not defined.",_faction];
} else {
if (f_param_debugMode == 1) then {
- player sideChat format ["DEBUG (assignGear.sqf): Gear for %1: %1 slot selected.",_unit,_faction,_typeofUnit];
+ player sideChat format ["DEBUG (assignGear.sqf): Gear for %1: faction %2, role %3",_unit,_faction,_typeofUnit];
};
};
diff --git a/f/assignGear/f_assignInsignia.sqf b/f/assignGear/fn_assignInsignia.sqf
similarity index 68%
rename from f/assignGear/f_assignInsignia.sqf
rename to f/assignGear/fn_assignInsignia.sqf
index 2bcc26f34..0b5ca2000 100644
--- a/f/assignGear/f_assignInsignia.sqf
+++ b/f/assignGear/fn_assignInsignia.sqf
@@ -1,10 +1,10 @@
// F3 - Assign Insignia
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
private _badge = "";
params ["_unit", "_typeOfUnit","_insignia_styles"];
-private _faction = toLower (faction _unit);
+private _faction = toLower ([_unit] call f_fnc_virtualFaction);
// Note all badges must be defined in description.ext or be included your modpack.
// See: https://community.bistudio.com/wiki/Arma_3_Unit_Insignia
@@ -16,23 +16,21 @@ private _faction = toLower (faction _unit);
// The following block of code determines which NATO and CSAT insignia variants will be used:
-_insignia_style_NATO = _insignia_styles select 0;
-_insignia_style_CSAT = _insignia_styles select 1;
+_insignia_styles params [
+ ["_insignia_style_NATO", "Altis", [""]],
+ ["_insignia_style_CSAT", "Altis", [""]]
+];
-_NATO_Medic_Badge = "NATO_Medic_Badge";
-_CSAT_Medic_Badge = "CSAT_Medic_Badge";
-
-if (_insignia_style_NATO == "Tanoa") then {_NATO_Medic_Badge = "NATO_Pacific_Medic_Badge"};
-
-switch (_insignia_style_CSAT) do
- {
- case "Tanoa" : {_CSAT_Medic_Badge = "CSAT_Pacific_Medic_Badge";};
- case "Altis" : {_CSAT_Medic_Badge = "CSAT_Medic_Badge";};
- case "Urban" : {_CSAT_Medic_Badge = "CSAT_Urban_Medic_Badge";};
- };
-
-// Treat CTRG like BLUFOR
-if (_faction == "blu_ctrg_f") then {_faction = "blu_f"};
+private _NATO_Medic_Badge = switch (_insignia_style_NATO) do {
+ case "Tanoa" : {"NATO_Pacific_Medic_Badge"};
+ default {"NATO_Medic_Badge"};
+};
+private _CSAT_Medic_Badge = switch (_insignia_style_CSAT) do {
+ case "Tanoa" : {"CSAT_Pacific_Medic_Badge"};
+ case "Altis" : {"CSAT_Medic_Badge"};
+ case "Urban" : {"CSAT_Urban_Medic_Badge"};
+ default {"CSAT_Medic_Badge"};
+};
// ===================================================================================
@@ -44,11 +42,15 @@ private _roleBadge = switch (_typeofUnit) do
// INSIGNIA: MEDIC
case "m":
{
- switch (_faction) do
+ switch (true) do
{
- case "blu_f" : {_NATO_Medic_Badge};
- case "opf_f" : {_CSAT_Medic_Badge};
- case "ind_f" : {"AAF_Medic_Badge"};
+ case (_faction in ["blu_f","nato"]) : {_NATO_Medic_Badge};
+ case (_faction in ["blu_t_f","blu_w_f","natopacific","natowoodland"]) : {"NATO_Pacific_Medic_Badge"};
+ case (_faction in ["opf_f","csat"]) : {_CSAT_Medic_Badge};
+ case (_faction in ["opf_t_f","csatpacific"]) : {"CSAT_Pacific_Medic_Badge"};
+ case (_faction in ["ind_f","ind_e_f","aaf","ldf"]) : {"AAF_Medic_Badge"};
+ case (_faction in ["opf_r_f","spetsnaz"]) : {"CSAT_Pacific_Medic_Badge"};
+ case (_faction in ["blu_ctrg_f","ctrg"]) : {_NATO_Medic_Badge};
default {"NATO_Medic_Badge"};
};
};
@@ -62,9 +64,9 @@ private _roleBadge = switch (_typeofUnit) do
private _groupBadges = [];
-switch (_faction) do
+switch (true) do
{
- case "blu_f" : {
+ case (_faction in ["blu_f","nato"]) : {
if (_insignia_style_NATO == "Tanoa") then {
_groupBadges = [
["GrpNATO_ASL","NATO_Pacific_ASL_Badge"],
@@ -101,7 +103,7 @@ switch (_faction) do
];
};
};
- case "blu_t_f": {
+ case (_faction in ["blu_t_f","blu_w_f","natopacific","natowoodland"]): {
_groupBadges = [
["GrpNATO_ASL","NATO_Pacific_ASL_Badge"],
["GrpNATO_A1","NATO_Pacific_A1_Badge"],
@@ -119,7 +121,8 @@ switch (_faction) do
["GrpNATO_DC","NATO_Pacific_DC_Badge"]
];
};
- case "opf_f": {
+
+ case (_faction in ["opf_f","csat"]): {
switch (_insignia_style_CSAT) do
{
case "Tanoa" : {
@@ -178,7 +181,7 @@ switch (_faction) do
};
};
};
- case "opf_t_f": {
+ case (_faction in ["opf_t_f","csatPacific"]): {
_groupBadges = [
["GrpCSAT_ASL","CSAT_Pacific_ASL_Badge"],
["GrpCSAT_A1","CSAT_Pacific_A1_Badge"],
@@ -196,7 +199,25 @@ switch (_faction) do
["GrpCSAT_DC","CSAT_Pacific_DC_Badge"]
];
};
- case "ind_f": {
+ case (_faction in ["opf_r_f","spetsnaz"]): {
+ _groupBadges = [
+ ["GrpSpetsnaz_ASL","CSAT_Pacific_ASL_Badge"],
+ ["GrpSpetsnaz_A1","CSAT_Pacific_A1_Badge"],
+ ["GrpSpetsnaz_A2","CSAT_Pacific_A2_Badge"],
+ ["GrpSpetsnaz_A3","CSAT_Pacific_A3_Badge"],
+ ["GrpSpetsnaz_BSL","CSAT_Pacific_BSL_Badge"],
+ ["GrpSpetsnaz_B1","CSAT_Pacific_B1_Badge"],
+ ["GrpSpetsnaz_B2","CSAT_Pacific_B2_Badge"],
+ ["GrpSpetsnaz_B3","CSAT_Pacific_B3_Badge"],
+ ["GrpSpetsnaz_CSL","CSAT_Pacific_CSL_Badge"],
+ ["GrpSpetsnaz_C1","CSAT_Pacific_C1_Badge"],
+ ["GrpSpetsnaz_C2","CSAT_Pacific_C2_Badge"],
+ ["GrpSpetsnaz_C3","CSAT_Pacific_C3_Badge"],
+ ["GrpSpetsnaz_CO","CSAT_Pacific_CO_Badge"],
+ ["GrpSpetsnaz_DC","CSAT_Pacific_DC_Badge"]
+ ];
+ };
+ case (_faction in ["ind_f","aaf"]): {
_groupBadges = [
["GrpAAF_ASL","AAF_ASL_Badge"],
["GrpAAF_A1","AAF_A1_Badge"],
@@ -214,7 +235,43 @@ switch (_faction) do
["GrpAAF_DC","AAF_DC_Badge"]
];
};
- case "blu_g_f" : {
+ case (_faction in ["ind_e_f","ldf"]): {
+ _groupBadges = [
+ ["GrpLDF_ASL","AAF_ASL_Badge"],
+ ["GrpLDF_A1","AAF_A1_Badge"],
+ ["GrpLDF_A2","AAF_A2_Badge"],
+ ["GrpLDF_A3","AAF_A3_Badge"],
+ ["GrpLDF_BSL","AAF_BSL_Badge"],
+ ["GrpLDF_B1","AAF_B1_Badge"],
+ ["GrpLDF_B2","AAF_B2_Badge"],
+ ["GrpLDF_B3","AAF_B3_Badge"],
+ ["GrpLDF_CSL","AAF_CSL_Badge"],
+ ["GrpLDF_C1","AAF_C1_Badge"],
+ ["GrpLDF_C2","AAF_C2_Badge"],
+ ["GrpLDF_C3","AAF_C3_Badge"],
+ ["GrpLDF_CO","AAF_CO_Badge"],
+ ["GrpLDF_DC","AAF_DC_Badge"]
+ ];
+ };
+ case (_faction in ["blu_ctrg_f","ctrg"]): {
+ _groupBadges = [
+ ["GrpCTRG_ASL","NATO_ASL_Badge"],
+ ["GrpCTRG_A1","NATO_A1_Badge"],
+ ["GrpCTRG_A2","NATO_A2_Badge"],
+ ["GrpCTRG_A3","NATO_A3_Badge"],
+ ["GrpCTRG_BSL","NATO_BSL_Badge"],
+ ["GrpCTRG_B1","NATO_B1_Badge"],
+ ["GrpCTRG_B2","NATO_B2_Badge"],
+ ["GrpCTRG_B3","NATO_B3_Badge"],
+ ["GrpCTRG_CSL","NATO_CSL_Badge"],
+ ["GrpCTRG_C1","NATO_C1_Badge"],
+ ["GrpCTRG_C2","NATO_C2_Badge"],
+ ["GrpCTRG_C3","NATO_C3_Badge"],
+ ["GrpCTRG_CO","NATO_CO_Badge"],
+ ["GrpCTRG_DC","NATO_DC_Badge"]
+ ];
+ };
+ case (_faction in ["blu_g_f","opf_g_f","ind_g_f","fia"]) : {
_groupBadges = [
["GrpFIA_ASL","NATO_ASL_Badge"],
["GrpFIA_A1","NATO_A1_Badge"],
@@ -229,11 +286,8 @@ switch (_faction) do
["GrpFIA_C2","NATO_C2_Badge"],
["GrpFIA_C3","NATO_C3_Badge"],
["GrpFIA_CO","NATO_CO_Badge"],
- ["GrpFIA_DC","NATO_DC_Badge"]
- ];
- };
- case "opf_g_f" :{
- _groupBadges = [
+ ["GrpFIA_DC","NATO_DC_Badge"],
+
["GrpOFIA_ASL","NATO_ASL_Badge"],
["GrpOFIA_A1","NATO_A1_Badge"],
["GrpOFIA_A2","NATO_A2_Badge"],
@@ -247,11 +301,8 @@ switch (_faction) do
["GrpOFIA_C2","NATO_C2_Badge"],
["GrpOFIA_C3","NATO_C3_Badge"],
["GrpOFIA_CO","NATO_CO_Badge"],
- ["GrpOFIA_DC","NATO_DC_Badge"]
- ];
- };
- case "ind_g_f" :{
- _groupBadges = [
+ ["GrpOFIA_DC","NATO_DC_Badge"],
+
["GrpIFIA_ASL","NATO_ASL_Badge"],
["GrpIFIA_A1","NATO_A1_Badge"],
["GrpIFIA_A2","NATO_A2_Badge"],
@@ -268,7 +319,7 @@ switch (_faction) do
["GrpIFIA_DC","NATO_DC_Badge"]
];
};
- case "ind_c_f" :{
+ case (_faction in ["ind_c_f","syndikat"]) :{
_groupBadges = [
["GrpSyndikat_ASL","NATO_ASL_Badge"],
["GrpSyndikat_A1","NATO_A1_Badge"],
@@ -286,6 +337,42 @@ switch (_faction) do
["GrpSyndikat_DC","NATO_DC_Badge"]
];
};
+ case (_faction in ["ind_l_f","npr"]) :{
+ _groupBadges = [
+ ["GrpNPR_ASL","NATO_ASL_Badge"],
+ ["GrpNPR_A1","NATO_A1_Badge"],
+ ["GrpNPR_A2","NATO_A2_Badge"],
+ ["GrpNPR_A3","NATO_A3_Badge"],
+ ["GrpNPR_BSL","NATO_BSL_Badge"],
+ ["GrpNPR_B1","NATO_B1_Badge"],
+ ["GrpNPR_B2","NATO_B2_Badge"],
+ ["GrpNPR_B3","NATO_B3_Badge"],
+ ["GrpNPR_CSL","NATO_CSL_Badge"],
+ ["GrpNPR_C1","NATO_C1_Badge"],
+ ["GrpNPR_C2","NATO_C2_Badge"],
+ ["GrpNPR_C3","NATO_C3_Badge"],
+ ["GrpNPR_CO","NATO_CO_Badge"],
+ ["GrpNPR_DC","NATO_DC_Badge"]
+ ];
+ };
+ case (_faction in ["3ifb"]) :{
+ _groupBadges = [
+ ["Grp3IFB_ASL","NATO_ASL_Badge"],
+ ["Grp3IFB_A1","NATO_A1_Badge"],
+ ["Grp3IFB_A2","NATO_A2_Badge"],
+ ["Grp3IFB_A3","NATO_A3_Badge"],
+ ["Grp3IFB_BSL","NATO_BSL_Badge"],
+ ["Grp3IFB_B1","NATO_B1_Badge"],
+ ["Grp3IFB_B2","NATO_B2_Badge"],
+ ["Grp3IFB_B3","NATO_B3_Badge"],
+ ["Grp3IFB_CSL","NATO_CSL_Badge"],
+ ["Grp3IFB_C1","NATO_C1_Badge"],
+ ["Grp3IFB_C2","NATO_C2_Badge"],
+ ["Grp3IFB_C3","NATO_C3_Badge"],
+ ["Grp3IFB_CO","NATO_CO_Badge"],
+ ["Grp3IFB_DC","NATO_DC_Badge"]
+ ];
+ };
};
// ====================================================================================
@@ -331,4 +418,4 @@ if (_badge != "") then {
_unit setvariable ["bis_fnc_setUnitInsignia_class",_badge,false];
_unit setobjecttexture [_index,_texture];
};
-};
\ No newline at end of file
+};
diff --git a/f/authorisedCrew/fn_authorisedCrewCheck.sqf b/f/authorisedCrew/fn_authorisedCrewCheck.sqf
index 3a302b233..7ad75f204 100644
--- a/f/authorisedCrew/fn_authorisedCrewCheck.sqf
+++ b/f/authorisedCrew/fn_authorisedCrewCheck.sqf
@@ -1,23 +1,27 @@
// F3 - Authorised Crew Check
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_fromEH","_vehicle","_vehicleRole","_unitToCheck","_restrictedCrew","_warningMsg","_restrictcargo"];
+private ["_warningMsg","_restrictedTypes","_restrictedUnits"];
// ====================================================================================
// SET KEY VARIABLES
// Using the arguments passed to the script, we first define some local variables.
-_fromEH = _this select 0;
-_restrictedList= _this select 1;
-_restrictcargo = if (count _this > 2) then {_this select 2} else {false};
+params [
+ ["_fromEH", [], [[]]],
+ ["_restrictedList", [], [[]]],
+ ["_restrictcargo", false, [false]]
+];
-_vehicle = _fromEH select 0;
-_vehicleRole = _fromEH select 1;
-_unitToCheck = _fromEH select 2;
+_fromEH params [
+ ["_vehicle", objNull, [objNull]],
+ ["_vehicleRole", "", [""]],
+ ["_unitToCheck", objNull, [objNull]]
+];
_warningMsg = localize "STR_f_UnauthorisedCrew_Warning";
@@ -28,7 +32,6 @@ if (f_param_debugMode == 1) then
player sideChat format ["DEBUG (f\authorisedCrew\f_isAuthorisedCrew.sqf): _vehicle = %1",_vehicle];
player sideChat format ["DEBUG (f\authorisedCrew\f_isAuthorisedCrew.sqf): _vehicleRole = %1",_vehicleRole];
player sideChat format ["DEBUG (f\authorisedCrew\f_isAuthorisedCrew.sqf): _unitToCheck = %1",_unitToCheck];
- player sideChat format ["DEBUG (f\authorisedCrew\f_isAuthorisedCrew.sqf): _restrictedCrew = %1",_restrictedCrew];
player sideChat format ["DEBUG (f\authorisedCrew\f_isAuthorisedCrew.sqf): _warningMsg = %1",_warningMsg];
};
@@ -47,12 +50,8 @@ if (_vehicleRole == "CARGO" && !_restrictcargo) exitWith {};
// INTERPRET RESTRICTED ARRAY
// Loop through the array containing the allowed classes and units and split them into two
-_restrictedTypes = [];
-_restrictedUnits = [];
-{
- if (typeName _x == typeName "") then {_restrictedTypes set [count _restrictedListTypes,_x]};
- if (typeName _x == typeName objNull) then {_restrictedUnits set [count _restrictedListTypes,_x]};
-} forEach _restrictedList;
+_restrictedTypes = _restrictedList select {_x isEqualType ""};
+_restrictedUnits = _restrictedList select {_x isEqualType objNull};
// ====================================================================================
@@ -62,4 +61,4 @@ _restrictedUnits = [];
if (_unitToCheck in _restrictedUnits || ({_unitToCheck isKindOf _x} count _restrictedTypes == 1)) exitWith {};
["UnauthorisedCrew",[_warningMsg]] call BIS_fnc_showNotification;
-_unitToCheck action ["getout",_vehicle];
\ No newline at end of file
+_unitToCheck action ["getout",_vehicle];
diff --git a/f/brakeOverride/fn_brakeOverride.sqf b/f/brakeOverride/fn_brakeOverride.sqf
new file mode 100644
index 000000000..b0868b6ab
--- /dev/null
+++ b/f/brakeOverride/fn_brakeOverride.sqf
@@ -0,0 +1,37 @@
+// F3 - Driver's Brake Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+/*
+This component allows players to disable the automatic brakes of any ground vehicle they're driving. It is enabled by default in init.sqf.
+*/
+
+// Don't add the action if it's already got one
+if (player getVariable ["f_var_hasDriverAction",false]) exitWith { diag_log "brakeOverride: tried to add driver action on something that already has it"};
+
+// Add the action
+player addAction [
+ "Disable automatic brakes (brake to re-engage)",
+ {
+ params ["_target", "_caller", "_actionId", "_arguments"];
+ [vehicle _target,true] remoteExec ["disableBrakes",vehicle _target];
+ },
+ "",
+ 10,
+ false,
+ true,
+ "",
+ "(driver (vehicle _this) == _this) && {(!brakesDisabled vehicle _this) && ((vehicle _this) isKindOf 'LandVehicle') && !((vehicle _this) isKindOf 'StaticWeapon')}"
+];
+
+// Add the variable to prove it's already done
+player setVariable ["f_var_hasDriverAction",true];
+
+// Add an event handler to the server that can catch JIP/reslots
+if isServer then {
+ addMissionEventHandler ["PlayerConnected",
+ {
+ params ["_id", "_uid", "_name", "_jip", "_owner", "_idstr"];
+ if (_jip) then {
+ [] remoteExec ["f_fnc_brakeOverride",_owner];
+ };
+ }];
+};
\ No newline at end of file
diff --git a/f/briefing/f_briefing_3ifb.sqf b/f/briefing/f_briefing_3ifb.sqf
new file mode 100644
index 000000000..1ba0d3a74
--- /dev/null
+++ b/f/briefing/f_briefing_3ifb.sqf
@@ -0,0 +1,69 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// VIRTUAL FACTION: 3IFB
+
+// ====================================================================================
+
+// NOTES: ADMINISTRATION
+// The code below creates the administration sub-section of notes.
+
+_adm = player createDiaryRecord ["diary", ["Administration","
+
+*** Insert information on administration and logistics here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: EXECUTION
+// The code below creates the execution sub-section of notes.
+
+_exe = player createDiaryRecord ["diary", ["Execution","
+
+COMMANDER'S INTENT
+
+*** Insert very short summary of plan here. ***
+
+MOVEMENT PLAN
+
+*** Insert movement instructions here. ***
+
+FIRE SUPPORT PLAN
+
+*** Insert fire support instructions here. ***
+
+SPECIAL TASKS
+
+*** Insert instructions for specific units here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: MISSION
+// The code below creates the mission sub-section of notes.
+
+_mis = player createDiaryRecord ["diary", ["Mission","
+
+*** Insert the mission here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: SITUATION
+// The code below creates the situation sub-section of notes.
+
+_sit = player createDiaryRecord ["diary", ["Situation","
+
+*** Insert general information about the situation here.***
+
+ENEMY FORCES
+
+*** Insert information about enemy forces here.***
+
+FRIENDLY FORCES
+
+*** Insert information about friendly forces here.***
+"]];
+
+// ====================================================================================
diff --git a/f/briefing/f_briefing_aaf.sqf b/f/briefing/f_briefing_aaf.sqf
index f5f807479..8906205ac 100644
--- a/f/briefing/f_briefing_aaf.sqf
+++ b/f/briefing/f_briefing_aaf.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: AAF
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_admin.sqf b/f/briefing/f_briefing_admin.sqf
index 24962a718..e1569c294 100644
--- a/f/briefing/f_briefing_admin.sqf
+++ b/f/briefing/f_briefing_admin.sqf
@@ -1,5 +1,5 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// ADD MISSION MAKER NOTES SECTIONS
@@ -56,9 +56,8 @@ These endings are available. To trigger an ending click on its link.
";
{
- _end = _this select 0;
_briefing = _briefing + format [
- "'end%1' - %2:
+ "'end%1' - %2:
%3
"
,_x select 0,_x select 1,_x select 2];
} forEach _endings;
@@ -69,27 +68,24 @@ These endings are available. To trigger an ending click on its link.
_briefing = _briefing + "
SAFE START CONTROL
-|-
-Increase Safe Start timer by 1 minute
+|-
+Increase Safe Start timer by 30 seconds
-|-
-Decrease Safe Start timer by 1 minute
+|-
+Decrease Safe Start timer by 30 seconds
-|-
+|-
Begin Safe Start timer
|-
End Safe Start timer
-|-
Force safety on for all players
-|-
Force safety off for all players
";
@@ -102,25 +98,25 @@ _briefing = _briefing + "
ZEUS SUPPORT
Assign ZEUS to host.
|- Add players and playable units to ZEUS object list.
+if (isNull (getAssignedCuratorLogic player)) then {hintsilent 'Assign ZEUS first!'} else {[player, allUnits] remoteExec ['f_fnc_zeusAddObjects', 2]; hintsilent 'Added all units.'};"">Add all units to ZEUS object list.
|-
+ [player,true,true] remoteExec ['f_fnc_zeusAddObjects', 2]; hintsilent 'Assigned control over all group leaders and empty vehicles.'};"">
Add all group leaders and empty vehicles.
|- Add all mission objects (POSSIBLE DESYNC).
+if (isNull (getAssignedCuratorLogic player)) then {hintsilent 'Assign ZEUS first!'} else {[player,true] remoteExec ['f_fnc_zeusAddObjects', 2]; hintsilent 'Add all units.'};"">Add all mission objects (POSSIBLE DESYNC).
|- Remove all dead units from ZEUS.
|- Remove all powers and objects from ZEUS.
+if (isNull (getAssignedCuratorLogic player)) then {hintsilent 'Assign ZEUS first!'} else {[player,false] remoteExec ['f_fnc_zeusAddObjects', 2]; [player,false] remoteExec ['f_fnc_zeusAddAddons', 2]; hintsilent 'Removed powers and units.'};"">Remove all powers and objects from ZEUS.
";
@@ -130,4 +126,4 @@ if (isNull (getAssignedCuratorLogic player)) then {hintsilent 'Assign ZEUS first
player createDiaryRecord ["diary", ["F3 Admin Menu",_briefing]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_civ.sqf b/f/briefing/f_briefing_civ.sqf
index f8fb836c2..6ac06635f 100644
--- a/f/briefing/f_briefing_civ.sqf
+++ b/f/briefing/f_briefing_civ.sqf
@@ -1,20 +1,8 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-// FACTION: CIVILIAN
-
-// ====================================================================================
-
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
+// FACTIONS: CIVILIAN, IDAP
// ====================================================================================
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_credits.sqf b/f/briefing/f_briefing_credits.sqf
new file mode 100644
index 000000000..5ceb7373f
--- /dev/null
+++ b/f/briefing/f_briefing_credits.sqf
@@ -0,0 +1,17 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// NOTES: CREDITS
+// The code below creates the Credits sub-section of notes.
+
+// Note:
+// If you (missionmaker) do not want to use the editor author name, you can
+// simply replace %1 here with your name or change "_str_made_by" entirely.
+private _str_made_by = "Created by %1.";
+
+private _text = format["%1
", briefingName];
+_text = _text + format[_str_made_by, getMissionConfigValue ["Author", ""]];
+_text = _text + format["
Made with FA3 version %1", getMissionConfigValue ["fa3_version", [0,0,0]] joinString "."];
+
+player createDiaryRecord ["diary", ["Credits", _text]];
diff --git a/f/briefing/f_briefing_csat.sqf b/f/briefing/f_briefing_csat.sqf
index 2e8719996..b81703949 100644
--- a/f/briefing/f_briefing_csat.sqf
+++ b/f/briefing/f_briefing_csat.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: CSAT
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
diff --git a/f/briefing/f_briefing_ctrg.sqf b/f/briefing/f_briefing_ctrg.sqf
index 142597f7f..7bc125a71 100644
--- a/f/briefing/f_briefing_ctrg.sqf
+++ b/f/briefing/f_briefing_ctrg.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: CTRG
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_fia.sqf b/f/briefing/f_briefing_fia.sqf
index 410106fef..ee45bcb50 100644
--- a/f/briefing/f_briefing_fia.sqf
+++ b/f/briefing/f_briefing_fia.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: FIA
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_gendarmerie.sqf b/f/briefing/f_briefing_gendarmerie.sqf
index 30a48d71f..cc9abc70e 100644
--- a/f/briefing/f_briefing_gendarmerie.sqf
+++ b/f/briefing/f_briefing_gendarmerie.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: GENDARMERIE
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_ldf.sqf b/f/briefing/f_briefing_ldf.sqf
new file mode 100644
index 000000000..f51dec916
--- /dev/null
+++ b/f/briefing/f_briefing_ldf.sqf
@@ -0,0 +1,69 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// FACTION: LDF
+
+// ====================================================================================
+
+// NOTES: ADMINISTRATION
+// The code below creates the administration sub-section of notes.
+
+_adm = player createDiaryRecord ["diary", ["Administration","
+
+*** Insert information on administration and logistics here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: EXECUTION
+// The code below creates the execution sub-section of notes.
+
+_exe = player createDiaryRecord ["diary", ["Execution","
+
+COMMANDER'S INTENT
+
+*** Insert very short summary of plan here. ***
+
+MOVEMENT PLAN
+
+*** Insert movement instructions here. ***
+
+FIRE SUPPORT PLAN
+
+*** Insert fire support instructions here. ***
+
+SPECIAL TASKS
+
+*** Insert instructions for specific units here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: MISSION
+// The code below creates the mission sub-section of notes.
+
+_mis = player createDiaryRecord ["diary", ["Mission","
+
+*** Insert the mission here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: SITUATION
+// The code below creates the situation sub-section of notes.
+
+_sit = player createDiaryRecord ["diary", ["Situation","
+
+*** Insert general information about the situation here.***
+
+ENEMY FORCES
+
+*** Insert information about enemy forces here.***
+
+FRIENDLY FORCES
+
+*** Insert information about friendly forces here.***
+"]];
+
+// ====================================================================================
diff --git a/f/briefing/f_briefing_nato.sqf b/f/briefing/f_briefing_nato.sqf
index 1cfdd91e3..ff4bcd893 100644
--- a/f/briefing/f_briefing_nato.sqf
+++ b/f/briefing/f_briefing_nato.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: NATO
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_npr.sqf b/f/briefing/f_briefing_npr.sqf
new file mode 100644
index 000000000..03a573d69
--- /dev/null
+++ b/f/briefing/f_briefing_npr.sqf
@@ -0,0 +1,69 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// FACTION: NPR
+
+// ====================================================================================
+
+// NOTES: ADMINISTRATION
+// The code below creates the administration sub-section of notes.
+
+_adm = player createDiaryRecord ["diary", ["Administration","
+
+*** Insert information on administration and logistics here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: EXECUTION
+// The code below creates the execution sub-section of notes.
+
+_exe = player createDiaryRecord ["diary", ["Execution","
+
+COMMANDER'S INTENT
+
+*** Insert very short summary of plan here. ***
+
+MOVEMENT PLAN
+
+*** Insert movement instructions here. ***
+
+FIRE SUPPORT PLAN
+
+*** Insert fire support instructions here. ***
+
+SPECIAL TASKS
+
+*** Insert instructions for specific units here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: MISSION
+// The code below creates the mission sub-section of notes.
+
+_mis = player createDiaryRecord ["diary", ["Mission","
+
+*** Insert the mission here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: SITUATION
+// The code below creates the situation sub-section of notes.
+
+_sit = player createDiaryRecord ["diary", ["Situation","
+
+*** Insert general information about the situation here.***
+
+ENEMY FORCES
+
+*** Insert information about enemy forces here.***
+
+FRIENDLY FORCES
+
+*** Insert information about friendly forces here.***
+"]];
+
+// ====================================================================================
diff --git a/f/briefing/f_briefing_spetsnaz.sqf b/f/briefing/f_briefing_spetsnaz.sqf
new file mode 100644
index 000000000..a2175fe80
--- /dev/null
+++ b/f/briefing/f_briefing_spetsnaz.sqf
@@ -0,0 +1,69 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// FACTION: Spetsnaz
+
+// ====================================================================================
+
+// NOTES: ADMINISTRATION
+// The code below creates the administration sub-section of notes.
+
+_adm = player createDiaryRecord ["diary", ["Administration","
+
+*** Insert information on administration and logistics here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: EXECUTION
+// The code below creates the execution sub-section of notes.
+
+_exe = player createDiaryRecord ["diary", ["Execution","
+
+COMMANDER'S INTENT
+
+*** Insert very short summary of plan here. ***
+
+MOVEMENT PLAN
+
+*** Insert movement instructions here. ***
+
+FIRE SUPPORT PLAN
+
+*** Insert fire support instructions here. ***
+
+SPECIAL TASKS
+
+*** Insert instructions for specific units here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: MISSION
+// The code below creates the mission sub-section of notes.
+
+_mis = player createDiaryRecord ["diary", ["Mission","
+
+*** Insert the mission here. ***
+"]];
+
+// ====================================================================================
+
+// NOTES: SITUATION
+// The code below creates the situation sub-section of notes.
+
+_sit = player createDiaryRecord ["diary", ["Situation","
+
+*** Insert general information about the situation here.***
+
+ENEMY FORCES
+
+*** Insert information about enemy forces here.***
+
+FRIENDLY FORCES
+
+*** Insert information about friendly forces here.***
+"]];
+
+// ====================================================================================
diff --git a/f/briefing/f_briefing_syndikat.sqf b/f/briefing/f_briefing_syndikat.sqf
index 33a423ccb..e6ff25f99 100644
--- a/f/briefing/f_briefing_syndikat.sqf
+++ b/f/briefing/f_briefing_syndikat.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: SYNDIKAT
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_briefing_zeus.sqf b/f/briefing/f_briefing_zeus.sqf
index bed2e8a72..375125120 100644
--- a/f/briefing/f_briefing_zeus.sqf
+++ b/f/briefing/f_briefing_zeus.sqf
@@ -1,23 +1,11 @@
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// FACTION: ZEUS
// ====================================================================================
-// NOTES: CREDITS
-// The code below creates the administration sub-section of notes.
-
-_cre = player createDiaryRecord ["diary", ["Credits","
-
-*** Insert mission credits here. ***
-
-Made with F3 (http://www.ferstaberinde.com/f3/en/)
-"]];
-
-// ====================================================================================
-
// NOTES: ADMINISTRATION
// The code below creates the administration sub-section of notes.
@@ -78,4 +66,4 @@ _sit = player createDiaryRecord ["diary", ["Situation","
*** Insert information about friendly forces here.***
"]];
-// ====================================================================================
\ No newline at end of file
+// ====================================================================================
diff --git a/f/briefing/f_loadoutNotes.sqf b/f/briefing/f_loadoutNotes.sqf
index cc298f381..b59bd0669 100644
--- a/f/briefing/f_loadoutNotes.sqf
+++ b/f/briefing/f_loadoutNotes.sqf
@@ -1,155 +1,267 @@
// F3 - Loadout Notes
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-if (!hasInterface) exitWith {}; //Exit if not a player.
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_text","_stuff","_weps","_items","_fnc_wepMags","_wepMags","_magArr","_s","_mags","_bp","_maxload"];
+if (!hasInterface || (side player == sideLogic)) exitWith {}; //Exit if not a player.
// Local function to set the proper magazine count.
-_fnc_wepMags = {
- private ["_w","_magarr"];
- _w = _this select 0;
-
- //Get possible magazines for weapon
- _wepMags = getArray (configFile >> "CfgWeapons" >> _w >> "magazines");
-
- // Compare weapon magazines with player magazines
- _magArr = [];
- {
- // findInPairs returns the first index that matches the checked for magazine
- _s = [_mags,_x] call BIS_fnc_findInPairs;
+private _fnc_wepMags = {
+ params [
+ ["_weapon", "", [""]],
+ ["_mags", [], [[]]]
+ ];
- //If we have a match
- if (_s != -1) then {
- // Add the number of magazines to the list
- _magArr set [count _magArr,([_mags,[_s, 1]] call BIS_fnc_returnNestedElement)];
+ //Get possible magazines for weapon
+ private _wepMags = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines");
- // Remove the entry
- _mags = [_mags, _s] call BIS_fnc_removeIndex;
+ // Compare weapon magazines with player magazines
+ private _magArr = [];
+ {
+ // findInPairs returns the first index that matches the checked for magazine
+ private _index = [_mags,_x] call BIS_fnc_findInPairs;
- };
- } forEach _wepMags;
+ //If we have a match
+ if (_index != -1) then {
+ // Add the number of magazines to the list
+ _magArr pushBack ([_mags,[_index, 1]] call BIS_fnc_returnNestedElement);
- if (count _magArr > 0) then {
- _text = _text + " [";
+ // Remove the entry
+ _mags deleteAt _index;
- {
- _text = _text + format ["%1",_x];
- if (count _magarr > (_forEachIndex + 1)) then {_text = _text + "+";}
- } forEach _magArr;
+ };
+ } forEach _wepMags;
- _text = _text + "]";
- };
+ _magArr
};
+// Local function to get the name and picture of a weapon/item
+private _fnc_name = {
+ params [
+ ["_name", "", [""]],
+ ["_type", "CfgWeapons", [""]],
+ ["_prefix", "", [""]],
+ ["_short", false, [false]]
+ ];
+
+ private _picture = getText (configFile >> _type >> _name >> "picture");
+ if ! (_picture isEqualTo "") then {
+ if (_picture find ".paa" == -1) then {
+ _picture = _picture + ".paa"
+ };
+ _picture = format ["
", _picture];
+ };
+
+ format[
+ ["%1%2%3 ", "%1%2 "] select _short,
+ _prefix,
+ _picture,
+ getText (configFile >> _type >> _name >> "displayname")
+ ]
+};
+private _fnc_nameShort = {
+ params [
+ ["_name", "", [""]],
+ ["_type", "CfgWeapons", [""]],
+ ["_prefix", "", [""]]
+ ];
+ [_name, _type, _prefix, true] call _fnc_name
+};
-// ====================================================================================
-
-// SET UP KEY VARIABLES
-
-_text = "
NOTE: The loadout shown below is only accurate at mission start.
-
";
-_stuff = [];
+// Local function to format the text for magazine counts
+private _fnc_magArrText = {
+ params [["_magArr", [], [[]]]];
+ if (count _magArr > 0) exitWith {
+ format ["[%1]", _magArr joinString "+"]
+ };
+ ""
+};
-// All weapons minus the field glasses
-_weps = weapons player - ["Rangefinder","Binocular","Laserdesignator"];
+private _fnc_loadoutDataToText = {
+ params [
+ ["_full", true, [true]],
+ ["_wepItems", [], [[]]],
+ ["_mags", [], [[]]],
+ ["_items", [], [[]]],
+ ["_items_assigned", [], [[]]],
+ ["_bp", "", [""]],
+ ["_bpLoad", 0, [0]],
+ ["_weps", [], [[]]]
+ ];
+
+ private _arrow = "
";
+ private _classesBlacklist = ["HandGrenade", "1Rnd_HE_Grenade_shell", "FirstAidKit"];
+
+ //Generate the loadout text from the previously defined variables.
+ private _textLong = "";
+ private _textShrt = "";
+
+ // WEAPONS
+ if (count _weps > 0) then {
+ _textLong = _textLong + "WEAPONS [#MAGAZINES]:";
+ {
+ _x params [
+ ["_weapon", "", [""]],
+ ["_magArr", [], [[]]],
+ ["_ugls", [], [[]]],
+ ["_attachments", [], [[]]]
+ ];
+
+ // Weapon name and picture
+ _textLong = _textLong + "
" + ([_weapon] call _fnc_name);
+ _textShrt = _textShrt + ([_weapon] call _fnc_name);
+
+ // Weapon magazines
+ _textLong = _textLong + ([_magArr] call _fnc_magArrText);
+ _textShrt = _textShrt + ([_magArr] call _fnc_magArrText);
+
+ // Underslung grenade launcher
+ {
+ //private _picture = "
";
+ private _picture = "
";
+ _textLong = _textLong + "
" + _arrow + _picture + "UGL" + ([_x] call _fnc_magArrText);
+ _textShrt = _textShrt + " + " + _picture + ([_x] call _fnc_magArrText);
+ } forEach _ugls;
+
+ // Weapon attachments
+ {
+ _textLong = _textLong + "
" + ([_x, "CfgWeapons", _arrow] call _fnc_name);
+ _textShrt = _textShrt + ([_x, "CfgWeapons", " + "] call _fnc_nameShort);
+ } forEach _attachments;
+
+ _textLong = _textLong + "
";
+ _textShrt = _textShrt + "
";
+ } forEach _weps;
+ };
+
+ // BACKPACK
+ // Add lines for all other items
+ if (_bp != "") then {
+ _textLong = _textLong + "
BACKPACK [%FULL]:
";
+ private _bpText = ([_bp, "CfgVehicles"] call _fnc_name);
+ if (getContainerMaxLoad _bp > 0) then {
+ _bpText = _bpText + format["[%1%2]",round _bpLoad,"%"];
+ } else {
+ //For the short version: only show special non-cargo backpacks
+ _textShrt = _textShrt + _bpText + "
";
+ };
+ _textLong = _textLong + _bpText + "
";
+ };
-// Get a nested array containing all attached weapon items
-_wepItems = weaponsItems player;
+ // OTHER
+ if (! _full) then {
+ _mags = _mags select {private _class = _x select 0; {_class isKindOf [_x, configfile >> "CfgMagazines"]} count _classesBlacklist == 0 };
+ _items = _items select {private _class = _x select 0; {_class isKindOf [_x, configfile >> "CfgWeapons" ]} count _classesBlacklist == 0 };
+ };
+ if (count _mags > 0 || count _items > 0 || count _items_assigned > 0) then {
+ _textLong = _textLong + "
OTHER [#]:";
-// Get a nested array containing all unique magazines and their count
-_mags = (magazines player) call BIS_fnc_consolidateArray;
+ {
+ _x params [
+ ["_className", "", [""]],
+ ["_num", 0, [0]]
+ ];
+ _textLong = _textLong + "
" + ([_className, "CfgMagazines"] call _fnc_name) + format[" [%1]", _num];
+ _textShrt = _textShrt + ([_className, "CfgMagazines"] call _fnc_nameShort) + format[" [%1]", _num];
+ } forEach _mags;
-// Get a nested array containing all non-equipped items and their count
-_items = (items player) call BIS_fnc_consolidateArray;
+ {
+ _x params [
+ ["_className", "", [""]],
+ ["_num", 0, [0]]
+ ];
+ _textLong = _textLong + "
" + ([_className, "CfgWeapons"] call _fnc_name) + format[" [%1]",_num];
+ _textShrt = _textShrt + ([_className, "CfgWeapons"] call _fnc_nameShort) + format[" [%1]", _num];
+ } forEach _items;
+
+ if (count _mags > 0 || count _items > 0) then {
+ _textLong = _textLong + "
";
+ _textShrt = _textShrt + "
";
+ };
-// ====================================================================================
+ {
+ _textLong = _textLong + "
" + ([_x, "CfgWeapons"] call _fnc_name);
+ } forEach _items_assigned;
+
+ };
-// WEAPONS
-// Add lines for all carried weapons and corresponding magazines
-if (count _weps > 0) then {
- _text = _text + "WEAPONS [#MAGAZINES]:";
- {
- _text = _text + format["
%1",getText (configFile >> "CfgWeapons" >> _x >> "displayname")];
+ //return value
+ if (_full) exitWith {_textLong};
- //Add magazines for weapon
- [_x] call _fnc_wepMags;
+ _textShrt
+};
- // Check if weapon has an underslung grenade launcher
- if ({_x in ["GL_3GL_F","EGLM","UGL_F"]} count (getArray (configFile >> "CfgWeapons" >> _x >> "muzzles")) > 0) then {
- _text = _text + "
|- UGL";
- ["UGL_F"] call _fnc_wepMags;
- };
+private _fnc_getLoadout = {
+ params [
+ ["_unit", player, [objNull]],
+ ["_full", true, [true]]
+ ];
+
+ // Get a nested array containing all attached weapon items
+ private _wepItems = weaponsItems _unit;
+
+ // Get a nested array containing all unique magazines and their count
+ private _mags = (magazines _unit) call BIS_fnc_consolidateArray;
+
+ // Get a nested array containing all non-equipped items and their count
+ private _items = (items _unit) call BIS_fnc_consolidateArray;
+ private _items_assigned = assignedItems _unit;
+
+ // Backpack and backpack-load in percent
+ private _bp = backpack _unit;
+ private _bpLoad = 100 * loadBackpack _unit;
+
+ // All weapons minus the field glasses
+ private _weps = (weapons _unit);
+ _weps = _weps select {(toLower (getText(configFile >> "CfgWeapons" >> _x >> "simulation"))) != "binocular"};
+ _weps = _weps apply {
+ // Magazines
+ private _magArr = [_x, _mags] call _fnc_wepMags;
+
+ // Check if weapon has an underslung grenade launcher
+ private _muzzles = getArray(configFile >> "CfgWeapons" >> _x >> "muzzles") apply {toLower _x};
+ private _ugls = [configFile >> "CfgWeapons" >> _x,0,true] call BIS_fnc_returnChildren;
+ _ugls = _ugls select {"GrenadeLauncher" in ([_x,true] call BIS_fnc_returnParents)};
+ _ugls = _ugls apply {configName _x};
+ _ugls = _ugls select {(toLower _x) in _muzzles};
+ _ugls = _ugls apply {["UGL_F", _mags] call _fnc_wepMags};
// List weapon attachments
// Get attached items
- _attachments = _wepItems select (([_wepItems,_x] call BIS_fnc_findNestedElement) select 0);
- _attachments = [_attachments,0] call BIS_fnc_removeIndex; // Remove the first element as it points to the weapon itself
-
- {
- if (typeName _x != typeName [] && {_x != ""}) then {
- _text = _text + format["
|- %1",getText (configFile >> "CfgWeapons" >> _x >> "displayname")];
- };
- } forEach _attachments;
+ private _attachments = _wepItems select (([_wepItems,_x] call BIS_fnc_findNestedElement) select 0);
+ _attachments deleteAt 0; // Remove the first element as it points to the weapon itself
+ _attachments = _attachments select { !(_x isEqualType []) && {_x != ""} };
- } forEach _weps;
- _text = _text + "
";
-};
-
-// ====================================================================================
-
-// OTHER MAGAZINES
-// Add lines for all magazines not tied to any carried weapon (grenades etc.)
+ //return value:
+ [_x, _magArr, _ugls, _attachments]
+ };
-if (count _mags > 0) then {
- _text = _text + "
OTHER [#]:
";
+ //Note: At this point "_mags" only consists of magazine types that are
+ // not compatible with the unit's weapons.
- {
- _text = _text + format["%1 [%2]
",getText (configFile >> "CfgMagazines" >> _x select 0 >> "displayname"),_x select 1];
- } forEach _mags;
+ [_full, _wepItems, _mags, _items, _items_assigned, _bp, _bpLoad, _weps] call _fnc_loadoutDataToText
};
-// ====================================================================================
-
-// BACKPACK
-// Add lines for all other items
-
-if !(backpack player == "") then {
- _text = _text + "
BACKPACK [%FULL]:
";
-
- _bp = backpack player;
- _text = _text + format["%1 [%2",getText (configFile >> "CfgVehicles" >> _bp >> "displayname"), 100*loadBackpack player]+"%]
";
- //_maxload = getNumber(configFile >> "CfgVehicles" >> _bp >> "maximumload");
- //_text = _text + format["%1 [%2/%3]
",getText (configFile >> "CfgVehicles" >> _bp >> "displayname"), _maxload*loadBackpack player,_maxload];
-};
+private _text_notice = "NOTE: The loadout shown below is only accurate at mission start.
";
// ====================================================================================
-
-// ITEMS
-// Add lines for all other items
-
-if (count _items > 0) then {
- _text = _text + "
ITEMS [#]:
";
-
- {
- _text = _text + format["%1 [%2]
",getText (configFile >> "CfgWeapons" >> _x select 0 >> "displayname"),_x select 1];
- } forEach _items;
-
- {
- _text = _text + format["*%1
",getText (configFile >> "CfgWeapons" >> _x >> "displayname")];
- } forEach assignedItems player;
-
- _text = _text + "
*Indicates an equipped item.";
-};
+// Wait for the briefing script to finish, so that the loadout appears at the top.
+waitUntil {scriptDone f_script_briefing};
// ====================================================================================
-
-// ADD DIARY SECTION
-// Wait for the briefing script to finish, then add the created text
-
-waitUntil {scriptDone f_script_briefing};
-player createDiaryRecord ["diary", ["Loadout", _text]];
\ No newline at end of file
+// Normal loadout for the player:
+private _text = _text_notice + ([player] call _fnc_getLoadout);
+// ====================================================================================
+// Loadout page for group members
+private _units = (units (group player));
+private _text_group = "" + _text_notice;
+{
+ private _text_loadout = [_x, false] call _fnc_getLoadout;
+ private _unit_name = format ["%1 (%2):
", name _x, roleDescription _x];
+ _text_group = _text_group + format ["%1", _unit_name] + _text_loadout + "
";
+} forEach _units;
+// ====================================================================================
+// Create Loadout pages
+player createDiaryRecord ["diary", ["Loadout Team", _text_group]];
+player createDiaryRecord ["diary", ["Loadout", _text]];
+// ====================================================================================
diff --git a/f/briefing/f_orbatNotes.sqf b/f/briefing/f_orbatNotes.sqf
index d0d24067f..eade4592b 100644
--- a/f/briefing/f_orbatNotes.sqf
+++ b/f/briefing/f_orbatNotes.sqf
@@ -1,35 +1,67 @@
// F3 - ORBAT Notes
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-if (!hasInterface) exitWith {}; //Exit if not a player.
+if (!hasInterface || (side player == sideLogic)) exitWith {}; //Exit if not a player.
// Group IDs need to be set before the ORBAT listing can be created
-// waitUntil {scriptDone f_script_setGroupIDs};
+waitUntil {scriptDone f_script_setGroupIDs};
// Define needed variables
-private ["_orbatText", "_groups", "_precompileGroups","_maxSlots","_freeSlots"];
-_orbatText = "
NOTE: The ORBAT below is only accurate at mission start.
+private _orbatText = "NOTE: The ORBAT below is only accurate at mission start.
-GROUP LEADERS + MEDICS
";
-_groups = [];
-_hiddenGroups = [];
+GROUP LEADERS + NOTABLE
";
-{
- // Add to ORBAT if side matches, group isn't already listed, and group has players
- if ((side _x == side group player) && !(_x in _groups) && ({_x in playableUnits} count units _x) > 0) then {
- //if ((side _x == side group player) && !(_x in _groups)) then {
- _groups pushBack _x;
- };
-} forEach allGroups;
+private _hiddenGroups = [];
+
+private _icon_arrow = "
";
+// Add groups to ORBAT if side matches, group isn't already listed, and group has players
+private _playableUnits = if (isMultiplayer) then {playableUnits} else {switchableUnits};
+private _groups = allGroups select {(side _x == side group player) && ({_x in _playableUnits} count units _x) > 0};
+//Only allow unique groups:
+_groups = _groups arrayIntersect _groups;
// Remove groups we don't want to show
_groups = _groups - _hiddenGroups;
-// Loop through the group, print out group ID, leader name and medics if present
+//Get all units from these groups, so that we can take their specialist marker from _groupData
+private _units = []; {_units append units _x} forEach _groups;
+
+// Use the groupData,
+// change the variable name (the first field) to the variable itself,
+// then filter out any non-groups, and groups we don't want to show.
+private _groupData = f_var_groupData_all apply {
+ [
+ missionNamespace getVariable [_x select 0,grpNull],
+ getText (configfile >> "CfgMarkers" >> (_x select 1) >> "icon"),
+ ((configfile >> "CfgMarkerColors" >> (_x select 3) >> "color") call BIS_fnc_colorConfigToRGBA) call BIS_fnc_colorRGBAtoHTML
+ ]
+} select { ! isNull (_x select 0) && {(_x select 0) in (_groups + _units)}};
+
+//Helper function to get marker from _groupData
+private _fnc_getMarker = {
+ params [
+ ["_unitOrGroup", objNull, [grpNull, objNull]],
+ ["_groupFallback", false, [false]] //fall back to group if the unit doesn't have a marker
+ ];
+ private _unitData = _groupData select {_x select 0 isEqualTo _unitOrGroup};
+ private _icon = if (count _unitData > 0) then {
+ _unitData select 0 params ["", "_mIcon", "_mColor"];
+ format ["
", _mColor, _mIcon]
+ } else {
+ if (_groupFallback && _unitOrGroup isEqualType objNull) then {
+ [group _unitOrGroup] call _fnc_getMarker
+ } else {
+ ""
+ }
+ };
+ _icon
+};
+
+// Loop through the group, print out group ID, leader name and special units if present
{
// Highlight the player's group with a different color (based on the player's side)
- _color = "#FFFFFF";
+ private _color = "#FFFFFF";
if (_x == group player) then {
_color = switch (side player) do {
case west: {"#0080FF"};
@@ -39,44 +71,47 @@ _groups = _groups - _hiddenGroups;
};
};
- _orbatText = _orbatText + format ["%1 %2", _x, name leader _x,_color] + "
";
+ private _icon = [_x] call _fnc_getMarker;
+ _orbatText = _orbatText + format ["%1%2 %3", _icon, groupId _x, name leader _x,_color] + "
";
{
- if (_x getVariable ["f_var_assignGear",""] == "m" && {_x != leader group _x}) then {
- _orbatText = _orbatText + format["|- %1 [M]",name _x] + "
";
+ private _unit = _x;
+ private _icon = [_unit] call _fnc_getMarker;
+ //Note: FAC is a specialised JTAC. so additional differentiation is needed
+ private _type = switch [_unit getVariable ["f_var_assignGear",""], (roleDescription _unit) find "FAC" != -1] do {
+ case ["m", false]: { "[M]" };
+ case ["jtac", false]: { "[JTAC]" };
+ case ["jtac", true ]: { "[FAC]" };
+ default { "" };
+ };
+ if (count _type > 0 || {count _icon > 0}) then {
+ _orbatText = _orbatText + format["%1%2 %3 %4
", _icon_arrow, _icon, name _unit, _type];
};
- } forEach units _x;
+ } forEach (units _x - [leader _x]);
} forEach _groups;
-_veharray = [];
+// Get all player vehicles
+private _veharray = [];
{
-
- if ({vehicle _x != _x} count units _x > 0 ) then {
- {
- if (vehicle _x != _x && {!(vehicle _x in _veharray)}) then {
- _veharray set [count _veharray,vehicle _x];
- };
- } forEach units _x;
- };
-
-} forEach _groups;
+ _veharray pushBackUnique (vehicle _x);
+} forEach (_units select {vehicle _x != _x});
if (count _veharray > 0) then {
-_orbatText = _orbatText + "
VEHICLE CREWS + PASSENGERS
";
+ _orbatText = _orbatText + "
VEHICLE CREWS + PASSENGERS
";
{
// Filter all characters which might break the diary entry (such as the & in Orca Black & White)
- _vehName = [getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "displayname"),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_- "] call BIS_fnc_filterString;
+ private _vehName = [getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "displayname"),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_- "] call BIS_fnc_filterString;
- _orbatText = _orbatText + "
" + format["%1 ",_vehName];
+ _orbatText = _orbatText + "
" + _vehName;
// Workaround for http://feedback.arma3.com/view.php?id=21602
- _maxSlots = getNumber(configfile >> "CfgVehicles" >> typeof _x >> "transportSoldier") + (count allTurrets [_x, true] - count allTurrets _x);
- _freeSlots = _x emptyPositions "cargo";
+ private _maxSlots = getNumber(configfile >> "CfgVehicles" >> typeof _x >> "transportSoldier") + (count allTurrets [_x, true] - count allTurrets _x);
+ private _freeSlots = _x emptyPositions "cargo";
if (_maxSlots > 0) then {
- _orbatText = _orbatText + format ["[%1/%2]",(_maxSlots-_freeSlots),_maxSlots];
+ _orbatText = _orbatText + format [" [%1/%2]",(_maxSlots-_freeSlots),_maxSlots];
};
_orbatText = _orbatText + "
";
@@ -84,8 +119,8 @@ _orbatText = _orbatText + "
VEHICLE CREWS + PASSENGERS
";
{
if ((assignedVehicleRole _x select 0) != "CARGO") then {
- _veh = vehicle _x;
- _crewrole = switch (true) do {
+ private _veh = vehicle _x;
+ private _crewrole = switch (true) do {
case (driver _veh == _x && !((vehicle _x isKindOf "helicopter") || (vehicle _x isKindOf "plane"))):{" [D]"};
case (driver _veh == _x && ((vehicle _x isKindOf "helicopter") || (vehicle _x isKindOf "plane"))):{" [P]"};
case (commander _veh == _x):{" [CO]"};
@@ -94,23 +129,22 @@ _orbatText = _orbatText + "
VEHICLE CREWS + PASSENGERS
";
default {" [C]"};
};
- _orbatText = _orbatText + format["|- %1",name _x] + _crewrole + "
";
+ private _icon = [_x, true] call _fnc_getMarker;
+ _orbatText = _orbatText + format["%1%2 %3", _icon_arrow, _icon, name _x] + _crewrole + "
";
};
} forEach crew _x;
- _groupList = [];
-
+ // Print groups in cargo
+ private _groupList = [];
{
- if (!(group _x in _groupList) && {(assignedVehicleRole _x select 0) == "CARGO"} count (units group _x) > 0) then {
- _groupList set [count _groupList,group _x];
+ if ({(assignedVehicleRole _x select 0) == "CARGO"} count (units group _x) > 0) then {
+ _groupList pushBackUnique (group _x);
};
} forEach crew _x;
-
- if (count _groupList > 0) then {
- {
- _orbatText =_orbatText + format["|- %1", _x] + " [CARGO]
";
- } forEach _groupList;
- };
+ {
+ private _icon = [_x] call _fnc_getMarker;
+ _orbatText =_orbatText + format["%1%2 %3", _icon_arrow, _icon, groupId _x] + " [CARGO]
";
+ } forEach _groupList;
} forEach _veharray;
@@ -118,4 +152,4 @@ _orbatText = _orbatText + "
VEHICLE CREWS + PASSENGERS
";
// Insert final result into subsection ORBAT of section Notes
waitUntil {scriptDone f_script_briefing};
-player createDiaryRecord ["diary", ["ORBAT", _orbatText]];
\ No newline at end of file
+player createDiaryRecord ["diary", ["ORBAT", _orbatText]];
diff --git a/f/briefing/fn_createBriefing.sqf b/f/briefing/fn_createBriefing.sqf
new file mode 100644
index 000000000..e1d9ea927
--- /dev/null
+++ b/f/briefing/fn_createBriefing.sqf
@@ -0,0 +1,169 @@
+// F3 - Briefing
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+if (!hasInterface) exitWith {}; //Exit if not a player.
+
+// MAKE SURE THE PLAYER INITIALIZES PROPERLY
+
+if (!isDedicated && (isNull player)) then
+{
+ waitUntil {sleep 0.1; !isNull player};
+};
+
+// DEBUG HELPER FUNCTION
+private _fnc_debug = {
+ params [["_faction", "", [""]]];
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (fn_createBriefing.sqf): Briefing for %1 selected.",_faction];
+ };
+};
+
+// ====================================================================================
+
+// DETECT PLAYER FACTION (use faction from group leader)
+private _unitfaction = toLower ([leader group player] call f_fnc_virtualFaction);
+
+// DEBUG
+if (f_param_debugMode == 1) then
+{
+ player sideChat format ["DEBUG (fn_createBriefing.sqf): Player faction: %1",_unitfaction];
+};
+
+// ====================================================================================
+
+// BRIEFING: CREDITS
+#if __has_include("f_briefing_credits.sqf")
+ #include "f_briefing_credits.sqf"
+#endif
+
+// ====================================================================================
+
+// BRIEFING: ADMIN
+#if __has_include("f_briefing_admin.sqf")
+ if (serverCommandAvailable "#kick" || !isMultiplayer) then {
+ #include "f_briefing_admin.sqf"
+ ["host"] call _fnc_debug;
+ };
+#endif
+
+// ====================================================================================
+// BRIEFING: FACTION SPECIFIC
+// The following code blocks include faction-specific briefing files.
+
+// BLUFOR > NATO
+#if __has_include("f_briefing_nato.sqf")
+ if (_unitfaction in (["blu_f","blu_t_f","blu_w_f","nato","natowoodland","natopacific"] apply {toLower _x})) exitwith {
+ #include "f_briefing_nato.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// FIA
+#if __has_include("f_briefing_fia.sqf")
+ if (_unitfaction in (["blu_g_f","ind_g_f","opf_g_f","fia"] apply {toLower _x})) exitwith {
+ #include "f_briefing_fia.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// BLUFOR > GENDARMERIE
+#if __has_include("f_briefing_gendarmerie.sqf")
+ if (_unitfaction in (["blu_gen_f"] apply {toLower _x})) exitwith {
+ #include "f_briefing_gendarmerie.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// OPFOR > CSAT
+#if __has_include("f_briefing_csat.sqf")
+ if (_unitfaction in (["opf_f","opf_t_f","csat","csatpacific"] apply {toLower _x})) exitwith {
+ #include "f_briefing_csat.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// OPFOR > Spetsnaz
+#if __has_include("f_briefing_spetsnaz.sqf")
+ if (_unitfaction in (["opf_r_f","spetsnaz"] apply {toLower _x})) exitwith {
+ #include "f_briefing_spetsnaz.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// INDEPENDENT > AAF
+#if __has_include("f_briefing_aaf.sqf")
+ if (_unitfaction in (["ind_f","aaf"] apply {toLower _x})) exitwith {
+ #include "f_briefing_aaf.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// INDEPENDENT > LDF
+#if __has_include("f_briefing_ldf.sqf")
+ if (_unitfaction in (["ind_e_f","ldf"] apply {toLower _x})) exitwith {
+ #include "f_briefing_ldf.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// INDEPENDENT > SYNDIKAT
+#if __has_include("f_briefing_syndikat.sqf")
+ if (_unitfaction in (["ind_c_f","syndikat"] apply {toLower _x})) exitwith {
+ #include "f_briefing_syndikat.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// INDEPENDENT > NPR (Looters)
+#if __has_include("f_briefing_npr.sqf")
+ if (_unitfaction in (["ind_l_f","npr"] apply {toLower _x})) exitwith {
+ #include "f_briefing_npr.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+
+// BLUFOR > CTRG
+#if __has_include("f_briefing_ctrg.sqf")
+ if (_unitfaction in (["blu_ctrg_f","ctrg"] apply {toLower _x})) exitwith {
+ #include "f_briefing_ctrg.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// CIVILIAN and IDAP
+#if __has_include("f_briefing_civ.sqf")
+ if (_unitfaction in (["civ_f", "civ_idap_f"] apply {toLower _x})) exitwith {
+ #include "f_briefing_civ.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// VIRTUAL FACTION > 3IFB
+#if __has_include("f_briefing_3ifb.sqf")
+ if (_unitfaction in (["3ifb"] apply {toLower _x})) exitwith {
+ #include "f_briefing_3ifb.sqf"
+ [_unitfaction] call _fnc_debug;
+ };
+#endif
+
+// ZEUS
+#if __has_include("f_briefing_zeus.sqf")
+ if (_unitfaction == "" && ! (typeOf player isEqualTo "VirtualSpectator_F")) exitwith {
+ #include "f_briefing_zeus.sqf"
+ ["zeus"] call _fnc_debug;
+ };
+#endif
+
+// Virtual Spectator
+if (typeOf player isEqualTo "VirtualSpectator_F") exitwith {
+};
+
+// ====================================================================================
+
+// ERROR CHECKING
+// If the faction of the unit cannot be defined, the script exits with an error.
+
+player globalchat format ["DEBUG (fn_createBriefing.sqf): Faction %1 is not defined.",_unitfaction];
diff --git a/f/cache/fn_cInit.sqf b/f/cache/fn_cInit.sqf
index 3248b2de3..6ea2405c3 100644
--- a/f/cache/fn_cInit.sqf
+++ b/f/cache/fn_cInit.sqf
@@ -1,5 +1,5 @@
// F3 - Caching Script Init
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// Check whether the paramater is defined (or caching switched off)) - if not, just exit
@@ -7,17 +7,26 @@ if (isNil "f_param_caching" || {f_param_caching == 0}) exitWith {};
// ====================================================================================
+// DECLARE VARIABLES AND FUNCTIONS
+private ["_range", "_str1"];
+
+params [
+ ["_sleep", 0, [0]]
+];
+
+// ====================================================================================
+
// Wait for the mission to have launched before starting to cache.
sleep 0.1;
// Wait up to the desired time into the mission to give AI and players time to settle
-waitUntil {time > (_this select 0)};
+waitUntil {sleep 0.1; time > _sleep};
// ====================================================================================
// Player and the headless client's (if present) groups are always excluded from being cached
if (!isDedicated && !(group player getVariable ["f_cacheExcl", false])) then {
- (group player) setVariable ["f_cacheExcl", true, true];
+ (group player) setVariable ["f_cacheExcl", true, true];
};
// ====================================================================================
@@ -55,16 +64,16 @@ if (f_param_debugMode == 1) then {
sleep (f_var_cacheSleep * 1.1);
while {f_var_cacheRun} do {
- _str1 = "f_fnc_cache DBG:
";
- _str2 = format["Total groups: %1
",count allGroups];
- _str3 = format ["Cached groups:%1
",{_x getvariable "f_cached"} count allGroups];
- _str4 = format ["Activated groups:%1
",{!(_x getvariable "f_cached")} count allGroups];
- _str5 = format ["Excluded groups:%1
",{(_x getvariable "f_cacheExcl")} count allGroups];
+ _str1 = "f_fnc_cache DBG:
"
+ + format ["Total groups: %1
",count allGroups]
+ + format ["Cached groups:%1
",{_x getvariable "f_cached"} count allGroups]
+ + format ["Activated groups:%1
",{!(_x getvariable "f_cached")} count allGroups]
+ + format ["Excluded groups:%1
",{(_x getvariable "f_cacheExcl")} count allGroups];
- hintsilent parseText (_str1+_str2+_str3+_str4+_str5);
- diag_log (_str1+_str2+_str3+_str4+_str5);
+ hintsilent parseText (_str1);
+ diag_log (_str1);
sleep f_var_cacheSleep;
};
};
-};
\ No newline at end of file
+};
diff --git a/f/cache/fn_cTracker.sqf b/f/cache/fn_cTracker.sqf
index bef845651..3a9bf1902 100644
--- a/f/cache/fn_cTracker.sqf
+++ b/f/cache/fn_cTracker.sqf
@@ -1,68 +1,60 @@
// F3 - Caching Script Tracker
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-// DECLARE VARIABLES AND FUNCTIONS
-private ["_range","_groups","_debug"];
+// DECLARE VARIABLES AND PARAMETERS
+private ["_groups","_debug","_exclude","_cached"];
-_range = _this select 0;
-_groups = allGroups;
+params [
+ ["_range", 0, [0]]
+];
_debug = if (f_param_debugMode == 1) then [{true},{false}];
// ====================================================================================
// BEGIN THE TRACKING LOOP
-While {f_var_cacheRun} do {
- {
- _groups = allGroups;
+while {f_var_cacheRun} do {
+ _groups = allGroups select { ! isNull _x };
+ if (_debug) then{player globalchat format ["f_fnc_cache DBG: Tracking %1 groups",count _groups]};
+ {
+ _exclude = _x getvariable ["f_cacheExcl",false];
+ _cached = _x getvariable ["f_cached", false];
- if (_debug) then{player globalchat format ["f_fnc_cache DBG: Tracking %1 groups",count _groups]};
+ if (!_exclude) then {
+ if (_cached) then {
- if (isnull _x) then {
- _groups = _groups - [_x];
+ if (_debug) then {player globalchat format ["f_fnc_cache DBG: Checking group: %1",_x]};
- if (_debug) then{player globalchat format ["f_fnc_cache DBG: Group is null, deleting: %1",_x,count _groups]};
+ if ([leader _x, _range] call f_fnc_nearPlayer) then {
- } else {
- _exclude = _x getvariable ["f_cacheExcl",false];
- _cached = _x getvariable ["f_cached", false];
+ if (_debug) then {player globalchat format ["f_fnc_cache DBG: Decaching: %1",_x]};
- if (!_exclude) then {
- if (_cached) then {
+ _x setvariable ["f_cached", false];
+ _x spawn f_fnc_gUncache;
- if (_debug) then {player globalchat format ["f_fnc_cache DBG: Checking group: %1",_x]};
+ };
+ } else {
+ if !([leader _x, _range * 1.1] call f_fnc_nearPlayer) then {
- if ([leader _x, _range] call f_fnc_nearPlayer) then {
+ if (_debug) then {player globalchat format ["f_fnc_cache DBG: Caching: %1",_x]};
- if (_debug) then {player globalchat format ["f_fnc_cache DBG: Decaching: %1",_x]};
+ _x setvariable ["f_cached", true];
+ [_x] spawn f_fnc_gCache;
+ };
+ };
+ } else {
+ if (_debug) then {player globalchat format ["f_fnc_cache DBG: Group is excluded: %1",_x]};
+ };
+ } foreach _groups;
- _x setvariable ["f_cached", false];
- _x spawn f_fnc_gUncache;
-
- };
- } else {
- if !([leader _x, _range * 1.1] call f_fnc_nearPlayer) then {
-
- if (_debug) then {player globalchat format ["f_fnc_cache DBG: Caching: %1",_x]};
-
- _x setvariable ["f_cached", true];
- [_x] spawn f_fnc_gCache;
- };
- };
-
- if (_debug) then {player globalchat format ["f_fnc_cache DBG: Group is excluded: %1",_x]};
- };
- };
- } foreach _groups;
-
- sleep f_var_cacheSleep;
+ sleep f_var_cacheSleep;
};
// If the caching loop is terminated, uncache all cached groups
{
- if (_x getvariable ["f_cached", false]) then {
- _x spawn f_fnc_gUncache;
- _x setvariable ["f_cached", false];
- };
-} forEach allGroups;
\ No newline at end of file
+ if (_x getvariable ["f_cached", false]) then {
+ _x spawn f_fnc_gUncache;
+ _x setvariable ["f_cached", false];
+ };
+} forEach allGroups;
diff --git a/f/cache/fn_gCache.sqf b/f/cache/fn_gCache.sqf
index fb2b2f28e..665cd68d8 100644
--- a/f/cache/fn_gCache.sqf
+++ b/f/cache/fn_gCache.sqf
@@ -1,44 +1,46 @@
// F3 - Caching Script Group Cacher
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// LOOP THROUGH THE PASSED UNITS
// We loop through the units of the passed group and disable Simulation for those that are not vehicle drivers and are standing still
-private ["_group","_aggressiveness"];
-
-_group = [_this,0,grpNull] call BIS_fnc_param;
-_aggressiveness = [_this,1,f_var_cachingAggressiveness] call BIS_fnc_param;
+params [
+ ["_group", grpNull, [grpNull]],
+ ["_aggressiveness", f_var_cachingAggressiveness, [0]]
+];
{
- // Disable simulation based on aggressiveness
- switch (_aggressiveness) do {
-
- case 1: {
- if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _group)) then {
- _x enableSimulationGlobal false;
- };
- };
- case 2: {
- if (count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) then {
- if ((_x != leader _group) || (_x == leader _group && speed _x == 0)) then {
- _x enableSimulationGlobal false;
- };
- };
- };
- case 3: {_x enableSimulationGlobal false;};
- default {systemchat format ["f_fnc_gCache DBG: f_var_cachingAggressiveness is not an accepted value: %1",f_var_cachingAggressiveness];};
- };
-
- // All unit's are hidden
- _x hideObjectGlobal true;
-
- if (_aggressiveness == 3) then {
- if (vehicle _x != _x) then {(vehicle _x) hideObjectGlobal true};
- };
-
-sleep 0.1;
+ // Disable simulation based on aggressiveness
+ switch (_aggressiveness) do {
+
+ case 1: {
+ if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _group)) then {
+ _x enableSimulationGlobal false;
+ };
+ };
+ case 2: {
+ if (count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) then {
+ if ((_x != leader _group) || (_x == leader _group && speed _x == 0)) then {
+ _x enableSimulationGlobal false;
+ };
+ };
+ };
+ case 3: {_x enableSimulationGlobal false;};
+ default {systemchat format ["f_fnc_gCache DBG: f_var_cachingAggressiveness is not an accepted value: %1",f_var_cachingAggressiveness];};
+ };
+
+ // All units are hidden
+ _x hideObjectGlobal true;
+
+ if (_aggressiveness == 3) then {
+ if (vehicle _x != _x) then {
+ (vehicle _x) hideObjectGlobal true;
+ };
+ };
+
+ sleep 0.1;
} forEach units _group;
-true
\ No newline at end of file
+true
diff --git a/f/cache/fn_gUncache.sqf b/f/cache/fn_gUncache.sqf
index 08a457e97..58a617e78 100644
--- a/f/cache/fn_gUncache.sqf
+++ b/f/cache/fn_gUncache.sqf
@@ -1,20 +1,19 @@
// F3 - Caching Script Group Uncacher
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
- {
- _x enableSimulationGlobal true;
- _x hideObjectGlobal false;
+{
+ _x enableSimulationGlobal true;
+ _x hideObjectGlobal false;
-
- // If the group leader is moving, set his group back next to him
- if (speed leader _this > 0 && vehicle _x == _x) then {
- _x setPosATL [(formationPosition _x) select 0, (formationPosition _x) select 1, 0];
+ // If the group leader is moving, set his group back next to him
+ if (speed leader _this > 0 && vehicle _x == _x) then {
+ _x setPosATL [(formationPosition _x) select 0, (formationPosition _x) select 1, 0];
};
if (vehicle _x != _x) then {(vehicle _x) hideObjectGlobal false};
-sleep 0.1;
+ sleep 0.1;
} forEach units _this;
-true
\ No newline at end of file
+true
diff --git a/f/casualtiesCap/f_CasualtiesCapCheck.sqf b/f/casualtiesCap/f_CasualtiesCapCheck.sqf
index 435f673cb..da9d21c14 100644
--- a/f/casualtiesCap/f_CasualtiesCapCheck.sqf
+++ b/f/casualtiesCap/f_CasualtiesCapCheck.sqf
@@ -1,5 +1,5 @@
// F3 - Casualties Cap
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SERVER CHECK
@@ -18,133 +18,127 @@ sleep 0.1;
// DECLARE PRIVATE VARIABLES
-private ["_grps","_pc","_end","_started","_remaining","_grpstemp","_alive","_faction","_temp_grp","_temp_grp2","_type","_onlyPlayers","_grpsno","_counter"];
+private ["_grps", "_side", "_factionsOnly", "_countAliveUnits", "_started", "_remaining"];
// ====================================================================================
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables.
// Up to 5 variables are passed to the script:
+// The last two variables are optional, and may not be passed to the script.
// 0: = Side (e.g. BLUFOR), or group name(s) as string array (e.g. ["mrGroup1","myGroup2"])
-// 1: = What % of units must be dead before the ending is triggered
+// 1: = What % of the initial *number* of units must be dead before the ending is triggered. Takes JIP players into account
// 2: = What ending will be executed. Can also be code.
+// 3: = If in side mode, only playable units will be included (default is true)
+// 4: = If in side mode, only units from these faction(s) will be included (e.g. ["blu_f"])
-_grpstemp = _this select 0; // either SIDE or array with group strings
-_pc = _this select 1;
-_end = _this select 2;
-
-// SET OPTIONAL VARIABLES
-// The last two variables are optional, and may not be passed to the script.
-// 3: = If only groups with a playable leader slot will be included (default is true)
-// 4: = What faction(s) to filter for if the first variable is a side (e.g. ["blu_f"])
-
-_onlyPlayers = if (count _this > 3) then {_this select 3} else {true};
-_faction = if (count _this > 4) then {_this select 4} else {[]};
+params [
+ ["_sideorgrps", sideUnknown, [sideUnknown,[]]],
+ ["_pc", 100, [0]],
+ ["_end", 1, [0,{}]],
+ ["_onlyPlayable", true, [true]],
+ ["_factions",[], [[]]]
+];
// ====================================================================================
-// COLLECT GROUPS TO CHECK
-// If a side variable was passed we collect all relevant groups
-
-_grps = [];
+// DEFINE LOCAL FUNCTIONS
+// Define local functions to count the current units based on the mode: 'side' if a side was passed as the first argument, 'group' if a static list of groups was passed
-if(typeName _grpstemp == "SIDE") then // if the variable is any of the side variables use it to consturct a list of groups in that faction.
+if(_sideorgrps isEqualType sideUnknown) then
{
+ // SIDE MODE
- {
- if(_onlyPlayers) then
+ _side = _sideorgrps;
+ _factionsOnly = count _factions > 0;
+ _countAliveUnits = {
+ private _eligibleUnits = if(_onlyPlayable) then {playableUnits} else {allUnits};
+ private _filteredUnits = if(_factionsOnly) then
{
- if((side _x == _grpstemp) && (leader _x in playableUnits)) then
- {
- _grps set [count _grps,_x]; // Add group to array
- };
+ _eligibleUnits select {(side _x == _side) && (([_x] call f_fnc_virtualFaction) in _factions)};
}
else
{
- if (side _x == _grpstemp) then
- {
- _grps set [count _grps,_x]; // Add group to array
- };
+ _eligibleUnits select {side _x == _side};
};
-
- } forEach allGroups;
-
- // Filter the created group array for the factions
-
- if(count _faction > 0) then
- {
- {
- if !(faction (leader _x) in _faction) then
- {
- _grps = _grps - [_x];
- };
- } forEach _grps;
+ {alive _x} count _filteredUnits;
};
+
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): CasCap operating in SIDE mode. _side = %1, _onlyPlayable = %2, _factionsOnly = %3, _factions = %4",_side,_onlyPlayable,_factionsOnly,_factions];
+ };
}
else
{
- sleep 1;
- {
- _Tgrp = call compile format ["%1",_x];
- if(!isnil "_Tgrp") then
- {
- _grps set [count _grps,_Tgrp];
- };
- } foreach _grpstemp;
-};
-
-// ====================================================================================
-
-// FAULT CHECK
-// 10 seconds into the mission we check if any groups were found. If not, exit with an error message
-
-sleep 10;
-
-if (count _grps == 0) exitWith {
- player GlobalChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): No groups found, _grpstemp = %1, _grps = %2",_grpstemp,_grps];
+ // GROUP MODE
+
+ // COLLECT GROUPS TO CHECK
+ // If a groups variable was passed we collect all relevant groups
+
+ _grps = [];
+
+ sleep 1;
+ {
+ private _Tgrp = call compile format ["%1",_x];
+ if(!isNil "_Tgrp") then
+ {
+ _grps pushBackUnique _Tgrp;
+ };
+ } forEach _sideorgrps;
+
+ // FAULT CHECK
+ // Check if any groups were found. If not, exit with an error message
+
+ if (count _grps == 0) exitWith {
+ systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): No groups found, _sideorgrps = %1, _grps = %2",_sideorgrps,_grps];
+ };
+
+ _countAliveUnits = {
+ {alive _x} count (flatten (_grps apply {units _x}));
+ };
+
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): CasCap operating in GROUP mode. _grps = %1",_grps];
+ };
};
// ====================================================================================
// CREATE STARTING VALUES
-// A count is made of units in the groups listed in _grps.
-
-_started = 0;
-{_started = _started + (count (units _x))} forEach _grps;
+// A initial count is made of units in the groups listed in _grps.
+_started = [] call _countAliveUnits;
// DEBUG
if (f_param_debugMode == 1) then
{
- player sideChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): _started = %1",_started];
+ systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): _started = %1",_started];
};
// ====================================================================================
// CHECK IF CASUALTIES CAP HAS BEEN REACHED OR EXCEEDED
// Every 6 seconds the server will check to see if the number of casualties sustained
-// within the group(s) has reached the percentage specificed in the variable _pc. If
+// has reached the percentage specificed in the variable _pc. If
// the cap has been reached, the loop will exit to trigger the ending.
while {true} do
{
- _remaining = 0;
-
- // Calculate how many units in the groups are still alive
- {
- _grp = _x;
- _alive = {alive _x} count (units _grp);
- _remaining = _remaining + _alive;
- } forEach _grps;
+ // Call the local function to determine how many units are still alive
+ _remaining = [] call _countAliveUnits;
-// DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): _remaining = %1",_remaining];
- };
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): _remaining = %1",_remaining];
+ };
- if (_remaining == 0 || ((_started - _remaining) / _started) >= (_pc / 100)) exitWith {};
+ if (_remaining == 0 || ((_started - _remaining) / _started) >= (_pc / 100)) exitWith {};
- sleep 6;
+ sleep 6;
};
// ====================================================================================
@@ -152,12 +146,12 @@ while {true} do
// END CASCAP
// Depending on input, either MPEnd or the parsed code itself is called
-if (typeName _end == typeName 0) exitWith {
- [_end] call f_fnc_mpEnd;
+if (_end isEqualType 0) exitWith {
+ [_end] call f_fnc_mpEnd;
};
-if (typeName _end == typeName {}) exitWith {
- [_end,"bis_fnc_spawn",true] call BIS_fnc_MP;
+if (_end isEqualType {}) exitWith {
+ _end remoteExec ["bis_fnc_spawn", 0];
};
-player GlobalChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): Ending didn't fire, should either be code or scalar. _end = %1, typeName _end: %2",_end,typeName _end];
\ No newline at end of file
+systemChat format ["DEBUG (f\casualtiesCap\f_CasualtiesCapCheck.sqf): Ending didn't fire, should either be code or scalar. _end = %1, typeName _end: %2",_end,typeName _end];
diff --git a/f/common/f_setLocalVars.sqf b/f/common/f_setLocalVars.sqf
index a4d31a0ac..018d3f3e2 100644
--- a/f/common/f_setLocalVars.sqf
+++ b/f/common/f_setLocalVars.sqf
@@ -1,15 +1,11 @@
// F3 - F3 Common Local Variables
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// ====================================================================================
// DEBUG DEFINES
-#define SLV_NAME "(f\common\f_setLocalVars.sqf)"
-#define DEBUG_OUTPUT player sidechat
-
-// DECLARE VARIABLES AND FUNCTIONS
-private ["_str_f_var_units","_str_f_var_units_BLU","_str_f_var_units_RES","_str_f_var_units_OPF","_str_f_var_units_CIV","_str_f_var_men","_str_f_var_men_BLU","_str_f_var_men_RES","_str_f_var_men_OPF","_str_f_var_men_CIV","_str_f_var_groups_BLU","_str_f_var_groups_RES","_str_f_var_groups_OPF","_str_f_var_groups_CIV","_str_f_var_groups","_str_f_var_vehicles","_str_f_var_vehicles_BLU","_str_f_var_vehicles_RES","_str_f_var_vehicles_OPF","_str_f_var_vehicles_CIV"];
+#define DEBUG_OUTPUT(ARG) if (f_param_debugMode == 1) then { systemChat format ["DEBUG (f\common\f_setLocalVars.sqf): %1 = %2", #ARG, ARG]; };
// ====================================================================================
@@ -18,227 +14,133 @@ private ["_str_f_var_units","_str_f_var_units_BLU","_str_f_var_units_RES","_str_
f_var_units = allUnits + vehicles;
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_units = str f_var_units;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_units = %1", _str_f_var_units, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_units);
// ====================================================================================
// COMMON VARIABLE: f_var_units_BLU
// Using f_var_units we will create an array containing all BLUFOR units.
-f_var_units_BLU = [];
-{if ((side _x) == west ) then {f_var_units_BLU = f_var_units_BLU + [_x]}} forEach f_var_units;
+f_var_units_BLU = f_var_units select { (side _x) == west };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_units_BLU = str f_var_units_BLU;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_units_BLU = %1",_str_f_var_units_BLU, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_units_BLU);
// ====================================================================================
// COMMON VARIABLE: f_var_units_RES
// Using f_var_units we will create an array containing all resistance units.
-f_var_units_RES = [];
-{if ((side _x) == resistance) then {f_var_units_RES = f_var_units_RES + [_x]}} forEach f_var_units;
+f_var_units_RES = f_var_units select { (side _x) == resistance };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_units_RES = str f_var_units_RES;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_units_RES = %1",_str_f_var_units_RES, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_units_RES);
// ====================================================================================
// COMMON VARIABLE: f_var_units_OPF
// Using f_var_units we will create an array containing all OPFOR units.
-f_var_units_OPF = [];
-{if ((side _x) == east) then {f_var_units_OPF = f_var_units_OPF + [_x]}} forEach f_var_units;
+f_var_units_OPF = f_var_units select { (side _x) == east };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_units_OPF = str f_var_units_OPF;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_units_OPF = %1",_str_f_var_units_OPF, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_units_OPF);
// ====================================================================================
// COMMON VARIABLE: f_var_units_CIV
// Using f_var_units we will create an array containing all civilian units.
-f_var_units_CIV = [];
-{if ((side _x) == civilian) then {f_var_units_CIV = f_var_units_CIV + [_x]}} forEach f_var_units;
+f_var_units_CIV = f_var_units select { (side _x) == civilian };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_units_CIV = str f_var_units_CIV;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_units_CIV = %1",_str_f_var_units_CIV, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_units_CIV);
// ====================================================================================
// COMMON VARIABLE: f_var_men
// Using the master trigger we will create an array containing all men.
-f_var_men = [];
-{
- if ((_x isKindOf "CAManBase")) then
- {
- f_var_men = f_var_men + [_x]
- };
-} forEach f_var_units;
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men = str f_var_men;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men = %1",_str_f_var_men, SLV_NAME];
-};
+f_var_men = f_var_units select { _x isKindOf "CAManBase" };
+
+DEBUG_OUTPUT(f_var_men);
// ====================================================================================
// COMMON VARIABLE: f_var_men_BLU
// Using f_var_men we will create an array containing all BLUFOR men.
-f_var_men_BLU = [];
-{if ((side _x) == west) then {f_var_men_BLU = f_var_men_BLU + [_x]}} forEach f_var_men;
+f_var_men_BLU = f_var_men select { (side _x) == west };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men_BLU = str f_var_men_BLU;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men_BLU = %1",_str_f_var_men_BLU, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_men_BLU);
// ====================================================================================
// COMMON VARIABLE: f_var_men_RES
// Using f_var_men we will create an array containing all resistance men.
-f_var_men_RES = [];
-{if ((side _x) == resistance) then {f_var_men_RES = f_var_men_RES + [_x]}} forEach f_var_men;
+f_var_men_RES = f_var_men select { (side _x) == resistance };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men_RES = str f_var_men_RES;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men_RES = %1",_str_f_var_men_RES, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_men_RES);
// ====================================================================================
// COMMON VARIABLE: f_var_men_OPF
// Using f_var_men we will create an array containing all OPFOR men.
-f_var_men_OPF = [];
-{if ((side _x) == east) then {f_var_men_OPF = f_var_men_OPF + [_x]}} forEach f_var_men;
+f_var_men_OPF = f_var_men select { (side _x) == east };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men_OPF = str f_var_men_OPF;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men_OPF = %1",_str_f_var_men_OPF, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_men_OPF);
// ====================================================================================
// COMMON VARIABLE: f_var_men_CIV
// Using f_var_men we will create an array containing all civilian men.
-f_var_men_CIV = [];
-{if ((side _x) == civilian) then {f_var_men_CIV = f_var_men_CIV + [_x]}} forEach f_var_men;
+f_var_men_CIV = f_var_men select { (side _x) == civilian };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men_CIV = str f_var_men_CIV;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men_CIV = %1",_str_f_var_men_CIV, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_men_CIV);
// ====================================================================================
// COMMON VARIABLE: f_var_men_players
// Using f_var_men we will create an array containing all players.
-f_var_men_players = [];
-{if (isPlayer _x) then {f_var_men_players = f_var_men_players + [_x]}} forEach f_var_men;
+f_var_men_players = f_var_men select { isPlayer _x };
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_men_players = str f_var_men_players;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_men_players = %1",_str_f_var_men_players, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_men_players);
// ====================================================================================
// COMMON VARIABLE: f_var_groups_BLU
-// Using f_var_units_BLU we will create an array containing all BLUFOR groups.
+// We will create an array containing all BLUFOR groups.
-f_var_groups_BLU = [];
-{if (!((group _x) in f_var_groups_BLU)) then {f_var_groups_BLU = f_var_groups_BLU + [group _x]}} forEach f_var_units_BLU;
+f_var_groups_BLU = allGroups select {side _x == west};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups_BLU = str f_var_groups_BLU;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups_BLU = %1",_str_f_var_groups_BLU, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_groups_BLU);
// ====================================================================================
// COMMON VARIABLE: f_var_groups_RES
-// Using f_var_units_RES we will create an array containing all resistance groups.
+// We will create an array containing all resistance groups.
-f_var_groups_RES = [];
-{if (!((group _x) in f_var_groups_RES)) then {f_var_groups_RES = f_var_groups_RES + [group _x]}} forEach f_var_units_RES;
+f_var_groups_RES = allGroups select {side _x == resistance};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups_RES = str f_var_groups_RES;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups_RES = %1",_str_f_var_groups_RES, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_groups_RES);
// ====================================================================================
// COMMON VARIABLE: f_var_groups_OPF
-// Using f_var_units_OPF we will create an array containing all OPFOR groups.
+// We will create an array containing all OPFOR groups.
-f_var_groups_OPF = [];
-{if (!((group _x) in f_var_groups_OPF)) then {f_var_groups_OPF = f_var_groups_OPF + [group _x]}} forEach f_var_units_OPF;
+f_var_groups_OPF = allGroups select {side _x == east};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups_OPF = str f_var_groups_OPF;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups_OPF = %1",_str_f_var_groups_OPF, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_groups_OPF);
// ====================================================================================
// COMMON VARIABLE: f_var_groups_CIV
-// Using f_var_units_CIV we will create an array containing all civilian groups.
+// We will create an array containing all civilian groups.
-f_var_groups_CIV = [];
-{if (!((group _x) in f_var_groups_CIV)) then {f_var_groups_CIV = f_var_groups_CIV + [group _x]}} forEach f_var_units_CIV;
+f_var_groups_CIV = allGroups select {side _x == civilian};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups_CIV = str f_var_groups_CIV;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups_CIV = %1",_str_f_var_groups_CIV, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_groups_CIV);
// ====================================================================================
@@ -247,33 +149,16 @@ if (f_param_debugMode == 1) then
f_var_groups = allGroups;
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups = str f_var_groups;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups = %1",_str_f_var_groups, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_groups);
// ====================================================================================
// COMMON VARIABLE: f_var_groups_players
// We will create an array containing all groups with at least one player.
-f_var_groups_players = [];
-{
- _units = units _x;
- if ({isPlayer _x} count _units >= 1) then {
- f_var_groups_players set [count f_var_groups_players,_x];
- };
-} forEach f_var_groups;
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_groups = str f_var_groups;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_groups = %1",_str_f_var_groups, SLV_NAME];
-};
+f_var_groups_players = f_var_groups select { {isPlayer _x} count units _x >= 1 };
+DEBUG_OUTPUT(f_var_groups_players);
// ====================================================================================
@@ -282,70 +167,40 @@ if (f_param_debugMode == 1) then
f_var_vehicles = vehicles;
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_vehicles = str f_var_vehicles;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_vehicles = %1",_str_f_var_vehicles, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_vehicles);
// ====================================================================================
// COMMON VARIABLE: f_var_vehicles_BLU
// Using f_var_vehicles we will create an array containing all BLUFOR vehicles.
-f_var_vehicles_BLU = [];
-{if ((side _x) == west) then {f_var_vehicles_BLU = f_var_vehicles_BLU + [_x]}} forEach f_var_vehicles;
+f_var_vehicles_BLU = f_var_vehicles select {side _x == west};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_vehicles_BLU = str f_var_vehicles_BLU;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_vehicles_BLU = %1",_str_f_var_vehicles_BLU, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_vehicles_BLU);
// ====================================================================================
// COMMON VARIABLE: f_var_vehicles_RES
// Using f_var_vehicles we will create an array containing all resistance vehicles.
-f_var_vehicles_RES = [];
-{if ((side _x) == resistance) then {f_var_vehicles_RES = f_var_vehicles_RES + [_x]}} forEach f_var_vehicles;
+f_var_vehicles_RES = f_var_vehicles select {side _x == resistance};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_vehicles_RES = str f_var_vehicles_RES;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_vehicles_RES = %1",_str_f_var_vehicles_RES, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_vehicles_RES);
// ====================================================================================
// COMMON VARIABLE: f_var_vehicles_OPF
// Using f_var_vehicles we will create an array containing all OPFOR vehicles.
-f_var_vehicles_OPF = [];
-{if ((side _x) == east) then {f_var_vehicles_OPF = f_var_vehicles_OPF + [_x]}} forEach f_var_vehicles;
+f_var_vehicles_OPF = f_var_vehicles select {side _x == east};
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_vehicles_OPF = str f_var_vehicles_OPF;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_vehicles_OPF = %1",_str_f_var_vehicles_OPF, SLV_NAME];
-};
+DEBUG_OUTPUT(f_var_vehicles_OPF);
// ====================================================================================
// COMMON VARIABLE: f_var_vehicles_CIV
// Using f_var_vehicles we will create an array containing all civilian vehicles.
-f_var_vehicles_CIV = [];
-{if ((side _x) == civilian) then {f_var_vehicles_CIV = f_var_vehicles_CIV + [_x]}} forEach f_var_vehicles;
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_f_var_vehicles_CIV = str f_var_vehicles_CIV;
- DEBUG_OUTPUT format ["DEBUG %2: f_var_vehicles_CIV = %1",_str_f_var_vehicles_CIV, SLV_NAME];
-};
+f_var_vehicles_CIV = f_var_vehicles select {side _x == civilian};
+DEBUG_OUTPUT(f_var_vehicles_CIV);
diff --git a/f/common/fn_nearPlayer.sqf b/f/common/fn_nearPlayer.sqf
index a17b1056c..ff57e71de 100644
--- a/f/common/fn_nearPlayer.sqf
+++ b/f/common/fn_nearPlayer.sqf
@@ -1,20 +1,21 @@
// F3 - Near Player Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_ent","_distance","_pos","_players"];
-_pos = getPosATL (_this select 0);
-_distance = _this select 1;
+private ["_pos","_players"];
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_distance", 0, [0]]
+];
+
+_pos = getPosATL _obj;
// ====================================================================================
// Create a list of all players
-_players = [];
-
-{
- if (isPlayer _x) then {_players pushBack _x};
-} forEach playableUnits;
+_players = playableUnits select {isPlayer _x};
// ====================================================================================
diff --git a/f/common/fn_processParamsArray.sqf b/f/common/fn_processParamsArray.sqf
index 9527a753a..44e9b1083 100644
--- a/f/common/fn_processParamsArray.sqf
+++ b/f/common/fn_processParamsArray.sqf
@@ -1,10 +1,12 @@
// F3 - Process ParamsArray
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
//Testing has shown that paramArrays only exists on the server during preInit
//The publicVariable will synchronize the value to the clients.
+private ["_paramName", "_paramValue"];
+
//PreInit
if (isServer) then {
if (isNil "f_paramsArray_complete") then {
diff --git a/f/common/fn_setVirtualFaction.sqf b/f/common/fn_setVirtualFaction.sqf
new file mode 100755
index 000000000..e1cd29181
--- /dev/null
+++ b/f/common/fn_setVirtualFaction.sqf
@@ -0,0 +1,26 @@
+// F3 - Set Virtual Faction Function
+// Scope: Argument Global, Effect Local
+// Credits: Please see the FA3 online manual (https://github.com/folkarps/F3/wiki)
+// ====================================================================================
+
+// DECLARE VARIABLES AND FUNCTIONS
+
+private ["_obj", "_virtualFactionName"];
+
+// SET KEY VARIABLES
+// Using the arguments passed to the script, we first define some local variables.
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_virtualFactionName", "", [""]]
+];
+
+// SPECIAL CASE: UNSET VIRTUAL FACTION
+// Unset the virtual faction name when the passed name if the empty string
+if (_virtualFactionName == "") exitWith {
+ _obj setVariable ["f_var_internal_virtualFactionName", nil];
+};
+
+// SET VIRTUAL FACTION
+// Set the case-insensitive virtual faction name variable of the object.
+_obj setVariable ["f_var_internal_virtualFactionName", toLower _virtualFactionName];
diff --git a/f/common/fn_virtualFaction.sqf b/f/common/fn_virtualFaction.sqf
new file mode 100755
index 000000000..8cec556d2
--- /dev/null
+++ b/f/common/fn_virtualFaction.sqf
@@ -0,0 +1,17 @@
+// F3 - Determine Virtual Faction Function
+// Scope: Argument Global, Effect Local
+// Credits: Please see the FA3 online manual (https://github.com/folkarps/F3/wiki)
+// ====================================================================================
+
+// DECLARE VARIABLES AND FUNCTIONS
+
+private ["_obj"];
+
+// SET KEY VARIABLES
+// Using the arguments passed to the script, we first define some local variables.
+
+params [["_obj", objNull, [objNull]]];
+
+// DETERMINE VIRTUAL FACTION
+// Get the virtual faction name variable of the object. If it is unset, return the output of `faction` instead
+_obj getVariable ["f_var_internal_virtualFactionName", faction _obj];
diff --git a/f/common/functions.hpp b/f/common/functions.hpp
deleted file mode 100644
index bbe2b7f23..000000000
--- a/f/common/functions.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-// F3 Functions
-
-class F // Defines the "owner"
-{
- class common // category
- {
- file = "f\common";
- class processParamsArray{preInit = 1; postInit=1;};
- class nearPlayer{};
- };
- class mpEnd
- {
- file = "f\mpEnd";
- class mpEnd{};
- class mpEndReceiver{};
- };
- class assignGear
- {
- file = "f\assignGear";
- class assignGear{};
- };
- class setGroupID
- {
- file = "f\setGroupID";
- class setGroupID{};
- };
- class missionConditions
- {
- file = "f\missionConditions";
- class SetTime{};
- class SetFog{};
- class SetWeather{};
- class SetWind{};
- };
- class cache
- {
- file = "f\cache";
- class cInit {};
- class cTracker {};
- class gCache {};
- class gUncache {};
- };
- class groupMarkers {
- file = "f\groupMarkers";
- class localGroupMarker{};
- class localSpecialistMarker{};
- };
- class authorisedCrew
- {
- file = "f\authorisedCrew";
- class authorisedCrewCheck {};
- };
- class FTMemberMarkers
- {
- file = "f\FTMemberMarkers";
- class SetLocalFTMemberMarkers{};
- class GetMarkerColor{};
- class LocalFTMarkerSync{};
- };
- class bodyRemoval
- {
- file = "f\removeBody";
- class removeBody{};
- };
- class setAISkill
- {
- file = "f\setAISKill";
- class setAISKill{};
- };
- class mapClickTeleport
- {
- file = "f\mapClickTeleport";
- class mapClickTeleportUnit{};
- class mapClickTeleportGroup{};
- };
- class nametag
- {
- file = "f\nametag";
- class drawNameTag{};
- };
- class preMount
- {
- file = "f\preMount";
- class mountGroups{};
- };
- class zeus
- {
- file = "f\zeus";
- class zeusInit{};
- class zeusAddAddons{};
- class zeusAddObjects{};
- };
- class tfr
- {
- file = "f\radios\tfr";
- class tfr_removeRadios{};
- class tfr_addRadios{};
- class tfr_setRadioFrequencies{};
- class tfr_configureSpectatorChat{};
- };
- class safeStart
- {
- file = "f\safeStart";
- class safety{};
- };
- class woundingsystem
- {
- file = "f\simplewoundingsystem";
- class SetDowned {};
- class WoundedEffect{};
- class HasWounded{};
- class EjectWounded{};
- class OnDrag{};
- class LifeTick {};
- class OnDeath {};
- class OnHeal {};
- class OnDamage{};
- class SetBleeding{};
- class GetAnimation{};
- };
- class fspectator
- {
- file = "f\spect";
- class CamInit{};
- class OnUnload{};
- class DrawTags{};
- class EventHandler{};
- class FreeCam{};
- class GetPlayers{};
- class ReloadModes{};
- class UpdateValues{};
- class HandleCamera{};
- class ToggleGUI{};
- class OnMapClick{};
- class DrawMarkers{};
- class ForceExit{};
- class HandleMenu{};
- class showMenu{};
- };
-};
\ No newline at end of file
diff --git a/f/disableThermals/fn_disableThermals.sqf b/f/disableThermals/fn_disableThermals.sqf
new file mode 100644
index 000000000..8209d4912
--- /dev/null
+++ b/f/disableThermals/fn_disableThermals.sqf
@@ -0,0 +1,56 @@
+// F3 - Disable Thermals
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// DECLARE VARIABLES AND FUNCTIONS
+
+private ["_allowedList", "_allowedTypes", "_allowedUnits"];
+
+// SET KEY VARIABLES
+// Using the arguments passed to the script, we first define some local variables.
+
+params [["_allowedList", [], [[]]]];
+
+f_var_disableThermals_enabled = true;
+
+// INTERPRET RESTRICTED ARRAY
+// Loop through the array containing the allowed classes and units and split them into two
+
+_allowedTypes = [];
+_allowedUnits = [];
+{
+ if (_x isEqualType "") then {_allowedTypes pushBack _x};
+ if (_x isEqualType objNull) then {_allowedUnits pushBack _x};
+} forEach _allowedList;
+
+// PERFORM CHECKS
+// Check if any vehicle is one of the allowed vehicles or in the allowed types, if not, disable their thermals.
+if (isServer) then {
+ {
+ private _vehicleToCheck = _x;
+
+ if (_vehicleToCheck in _allowedUnits || {{_vehicleToCheck isKindOf _x} count _allowedTypes > 0}) then {
+ // This is an allowed vehicle, ignore it
+ } else {
+ _vehicleToCheck disableTIEquipment true;
+ _vehicleToCheck setVariable ["f_var_TIDisabled",true,true];
+ }
+ } foreach vehicles;
+};
+
+// HANDLE ASSEMBLED VEHICLES
+// Create event handler to disable thermals on assembled vehicles (e.g. UAV) unless that type is allowed to have thermals
+
+// Need to export _allowedTypes so that the event handler can access it
+f_var_disableThermals_allowedTypes = _allowedTypes;
+
+if (hasinterface && isNil "f_eh_disableThermals") then {
+ f_eh_disableThermals = player addEventHandler ["WeaponAssembled", {
+ params ["", ["_assembled", objNull, [objNull]]];
+
+ if ({_assembled isKindOf _x} count f_var_disableThermals_allowedTypes == 0) then {
+ _assembled disableTIEquipment true;
+ _vehicleToCheck setVariable ["f_var_TIDisabled",true,true];
+ }
+ }];
+};
diff --git a/f/dynamicViewDistance/f_setViewDistanceInit.sqf b/f/dynamicViewDistance/f_setViewDistanceInit.sqf
new file mode 100644
index 000000000..172582d02
--- /dev/null
+++ b/f/dynamicViewDistance/f_setViewDistanceInit.sqf
@@ -0,0 +1,28 @@
+// FA3 - Dynamic View Distance
+// ====================================================================================
+
+if (!hasInterface) exitWith {};
+
+if (!isDedicated && (isNull player)) then
+{
+ waitUntil {sleep 0.1; !isNull player};
+};
+
+//Set view distance in case the player starts in vehicle
+[player, objNull, vehicle player] spawn f_fnc_ehSetViewDistance;
+
+// Add event handlers:
+// Note: Using PlayerViewChanged instead of GetInMan and GetOutMan to cover UAVs as well.
+// Note: GetInMan is still needed due to a bug where PlayerViewChanged doesn't fire for
+// non-server players when they enter a vehicle they haven't entered before.
+// Because of this, when entering a vehicle the code is sometimes run twice.
+f_ehIndex_dynamicViewDistance_0 = addMissionEventHandler ['PlayerViewChanged', f_fnc_ehSetViewDistance];
+f_ehIndex_dynamicViewDistance_1 = player addEventHandler ['SeatSwitchedMan', f_fnc_ehSetViewDistance];
+f_ehIndex_dynamicViewDistance_2 = player addEventHandler ['GetInMan', f_fnc_ehSetViewDistance];
+
+if (f_param_debugMode == 1) then
+{
+ player sideChat format ["DEBUG (f\dynamicViewDistance\f_setViewDistanceInit.sqf): Added Event Handler PlayerViewChanged ID: %1", f_ehIndex_dynamicViewDistance_0];
+ player sideChat format ["DEBUG (f\dynamicViewDistance\f_setViewDistanceInit.sqf): Added Event Handler SeatSwitchedMan ID: %1", f_ehIndex_dynamicViewDistance_1];
+ player sideChat format ["DEBUG (f\dynamicViewDistance\f_setViewDistanceInit.sqf): Added Event Handler GetInMan ID: %1", f_ehIndex_dynamicViewDistance_2];
+};
diff --git a/f/dynamicViewDistance/f_setViewDistanceLoop.sqf b/f/dynamicViewDistance/f_setViewDistanceLoop.sqf
deleted file mode 100644
index abb522d6c..000000000
--- a/f/dynamicViewDistance/f_setViewDistanceLoop.sqf
+++ /dev/null
@@ -1,70 +0,0 @@
-// F3 - Dynamic View Distance
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// PLAYER-ONLY COMPONENT
-// No need to run this on the server
-
-if (isDedicated) exitWith {};
-
-// ====================================================================================
-
-// MAKE SURE THE PLAYER INITIALIZES PROPERLY
-
-if (!isDedicated && (isNull player)) then
-{
- waitUntil {sleep 0.1; !isNull player};
-};
-
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_veh","_vd","_seat","_sleep"];
-
-// ====================================================================================
-
-// SETUP KEY VARIABLES
-// The sleep governs how often the scripts checks if the player has changed the vehicle
-
-_sleep = 3;
-
-// ====================================================================================
-
-// SET VIEW DISTANCE
-// If the player is in a cargo position, the default view distance is set. If the
-// player is in a non-cargo position within an actual vehicle, the appropriate view
-// distance is set.
-
-while {!isNull player} do {
- _veh = vehicle player;
- _seat = "";
- _vd = f_var_viewDistance_default;
-
- if (_veh != player) then {
- if (_veh isKindOf "Car") then {_vd = f_var_viewDistance_car;};
- if (_veh isKindOf "Tank") then {_vd = f_var_viewDistance_tank;};
- if (_veh isKindOf "Helicopter_Base_F") then {_vd = f_var_viewDistance_rotaryWing;};
- if (_veh isKindOf "Plane") then {_vd = f_var_viewDistance_fixedWing;};
-
- _seat = (assignedVehicleRole player select 0);
- if (_seat == "CARGO" && f_var_viewDistance_crewOnly) then {_vd = f_var_viewDistance_default;};
- };
-
- setViewDistance _vd;
-
- // DEBUG
- if (f_param_debugMode == 1) then
- {
- player sideChat format ["DEBUG (f\setViewDistance\f_addSetViewDistanceEHs.sqf): Viewdistance set to: = %1",_vd];
- };
-
- // Wait until player changes the vehicle or changes seats. Sleep 1s between every check.
- while {_veh == vehicle player} do {
-
- // Check if the player has changed seats.
- if (_veh != player && {_seat != (assignedVehicleRole player select 0)}) exitWith {};
-
- sleep _sleep;
- };
-};
diff --git a/f/dynamicViewDistance/fn_ehSetViewDistance.sqf b/f/dynamicViewDistance/fn_ehSetViewDistance.sqf
new file mode 100644
index 000000000..174dec0b1
--- /dev/null
+++ b/f/dynamicViewDistance/fn_ehSetViewDistance.sqf
@@ -0,0 +1,51 @@
+// FA3 - Dynamic View Distance
+// ====================================================================================
+
+// Parameters
+// Note: _oldCameraOn, _newCameraOn, and _uav are only used for the PlayerViewChanged event.
+params [
+ ["_unit", player, [objNull]],
+ ["_unit2_or_position", nil],
+ ["_veh", vehicle player, [objNull]],
+ ["_oldCameraOn", nil],
+ ["_newCameraOn", nil],
+ ["_uav", objNull, [objNull]]
+];
+
+private _vd = f_var_viewDistance_default;
+
+private _isInCargo = _unit in assignedCargo _veh;
+
+if (!(f_var_viewDistance_crewOnly && _isInCargo) && vehicle player != player) then
+{
+ if (_veh isKindOf "Car") then {_vd = f_var_viewDistance_car;};
+ if (_veh isKindOf "Tank") then {_vd = f_var_viewDistance_tank;};
+ if (_veh isKindOf "Helicopter_Base_F") then {_vd = f_var_viewDistance_rotaryWing;};
+ if (_veh isKindOf "Plane") then {_vd = f_var_viewDistance_fixedWing;};
+};
+if (!(isNull _uav) && {unitIsUAV _uav }) then
+{
+ //Note: Helicopter_Base_F includes quadcopters/hexacopters as well as the bigger Falcon
+ if (_uav isKindof "Land") then {_vd = f_var_viewDistance_car;};
+ if (_uav isKindOf "Tank") then {_vd = f_var_viewDistance_tank;};
+ if (_uav isKindOf "Helicopter_Base_F") then {_vd = f_var_viewDistance_rotaryWing;};
+ if (_uav isKindOf "Plane") then {_vd = f_var_viewDistance_fixedWing;};
+};
+
+// if new viewDistance is different from the one in previous seat, change it, otherwise do nothing.
+if (_vd != viewDistance) then
+{
+ setViewDistance _vd;
+
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f\dynamicViewDistance\fn_ehSetViewDistance.sqf): Viewdistance set to %1",_vd];
+ };
+}
+else
+{
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat "DEBUG (f\dynamicViewDistance\fn_ehSetViewDistance.sqf): No Viewdistance change required";
+ };
+};
diff --git a/f/fcs/fn_fcsBriefing.sqf b/f/fcs/fn_fcsBriefing.sqf
new file mode 100644
index 000000000..c26d926bb
--- /dev/null
+++ b/f/fcs/fn_fcsBriefing.sqf
@@ -0,0 +1,28 @@
+// F3 - FCS Component Briefing Generator
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+/*
+This function generates a briefing tab describing the operation of the F3 FCS. It is called from f_fnc_fcsInit, if the tab has not already been generated by a previous call.
+*/
+// ====================================================================================
+
+if (!hasInterface) exitWith {}; // Exit if not a player.
+
+_fcs = player createDiaryRecord ["diary", ["F3 Enhanced FCS","
+
+Some vehicles in this mission are fitted with enhanced fire control systems. This adds some extra functionality relating to gunnery and targeting.
+
+COMMANDER'S OVERRIDE
+
+The enhanced FCS allows the commander to automatically point the main gun at a target of their choosing. When the commander selects the Commander's Override from the action menu, the main gun will automatically traverse and elevate until it is pointing at the centre of the targeted object.
+
+The commander must be aiming directly at an object to activate the override. Open ground or sky won't work. There must also be a gunner present for the override to work. The override will engage for a maximum of 4 seconds before releasing control.
+
+FCS DAMAGE
+
+When the vehicle is struck by high-calibre weapons, there's a chance the FCS will suffer damage. If the FCS is damaged, the Commander's Override will be disabled, as well as the gun zeroing and auto-leading functions and all night vision equipment.
+
+The FCS can be repaired by a player with engineering training (for example, an F3 vehicle driver) when they are in the gunner's seat.
+"]];
+
+// Set a variable so this won't be generated again by subsequent inits
+f_var_fcs_briefingDone = true;
\ No newline at end of file
diff --git a/f/fcs/fn_fcsCommanderOverride.sqf b/f/fcs/fn_fcsCommanderOverride.sqf
new file mode 100644
index 000000000..c63a23a26
--- /dev/null
+++ b/f/fcs/fn_fcsCommanderOverride.sqf
@@ -0,0 +1,24 @@
+// F3 - FCS/Commander's Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Originally from: https://github.com/NikkoJT/njt_fcs (integrated with permission)
+
+// This function is called when the commander issues a TC override from the action defined in fcs_init
+
+params ["_vehicle","_caller"];
+
+// If there's no valid target under the commander's crosshair, tell them and do nothing else
+if (isNull cursorObject) then {
+ ["NO TARGET",1] remoteExec ["f_fnc_fcsLocalWarning",commander _vehicle];
+} else {
+ // Get the position of the centre of the targeted object at the time of the override
+ _overrideTarget = (cursorObject modelToWorldWorld (boundingCenter cursorObject));
+ // Order the gunner to aim their camera at the target position
+ [_vehicle,[_overrideTarget,_vehicle unitTurret (gunner _vehicle),true]] remoteExec ["lockCameraTo",gunner _vehicle];
+ // Display a HUD indicator for the gunner
+ ["TC OVERRIDE",2] remoteExec ["f_fnc_fcsLocalWarning",gunner _vehicle];
+ // Handle cooldown on override
+ _vehicle setVariable ["f_var_fcsCommanderOverride_cooldown",true,true];
+ sleep 4;
+ [_vehicle,[objNull,_vehicle unitTurret (gunner _vehicle),true]] remoteExec ["lockCameraTo",gunner _vehicle];
+ _vehicle setVariable ["f_var_fcsCommanderOverride_cooldown",false,true];
+};
\ No newline at end of file
diff --git a/f/fcs/fn_fcsFailure.sqf b/f/fcs/fn_fcsFailure.sqf
new file mode 100644
index 000000000..8d96ff74d
--- /dev/null
+++ b/f/fcs/fn_fcsFailure.sqf
@@ -0,0 +1,43 @@
+// F3 - FCS/Commander's Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Originally from: https://github.com/NikkoJT/njt_fcs (integrated with permission)
+
+// This function is used in the Hit EH defined in fcs_init. It determines whether a given hit causes an FCS failure.
+
+params ["_target","_projectile","_isDirect"];
+
+ private _projectileClass = "";
+ private _warheadType = "";
+ private _randomNumber = 0;
+
+ if (_target getVariable ["f_var_fcs_failure",false]) exitWith {
+ // diag_log "FCS: target already has an FCS failure"
+ };
+
+ // Determine whether the projectile is an anti-tank weapon
+ _projectileClass = typeOf _projectile;
+ if !(_projectileClass isKindOf ["Default",configFile >> "CfgAmmo"]) exitWith {
+ //diag_log "FCS: hit by something other than a weapon"
+ };
+ _warheadType = getText (configFile >> "CfgAmmo" >> _projectileClass >> "warheadName");
+ if !(_warheadType in ["AP","HEAT","TandemHEAT"]) exitWith {
+ // diag_log "FCS: projectile not HEAT or AP"
+ };
+ if !(_isDirect) exitWith {
+ // diag_log "FCS: splash damage only"
+ };
+
+ // 5% of qualifying hits should trigger this
+ _randomNumber = floor (random 20);
+ if !(_randomNumber == 10) exitWith {
+ // diag_log "FCS: projectile not randomly selected"
+ };
+
+ // Hit turns off the NV and TI and sets an appropriate variable on the vehicle. Hopefully later it will also turn off stabilisation (BI blocked)
+ _target setVariable ["f_var_fcs_equipInfo",(equipmentDisabled _target),true];
+ _target setVariable ["f_var_fcs_failure",true,true];
+ _target disableNVGEquipment true;
+ _target disableTIEquipment true;
+
+ // Spawn ongoing stuff that affects the vehicle until repaired
+ [_target] spawn f_fnc_fcsPersistentEffects;
\ No newline at end of file
diff --git a/f/fcs/fn_fcsInit.sqf b/f/fcs/fn_fcsInit.sqf
new file mode 100644
index 000000000..beb7bf0c0
--- /dev/null
+++ b/f/fcs/fn_fcsInit.sqf
@@ -0,0 +1,110 @@
+// F3 - FCS/Commander's Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Originally from: https://github.com/NikkoJT/njt_fcs (integrated with permission)
+
+/*
+ This component adds two main functions to a vehicle it's called on:
+ 1. Commander's Override
+ The Commander's Override allows the commander to automatically point the gun at whatever object they're looking at.
+ 2. FCS failure simulation
+ When the vehicle is hit by a high-calibre weapon, there is a small chance of an FCS failure, disabling the TC override, laser rangefinder, and NVDs, and force-setting the gunner's zeroing.
+ A unit with the repair trait can reset the FCS from the gunner's seat.
+ (If and when BI adds the ability to disable turret stabilisation by script, it will do that too)
+
+ Execution, all clients:
+ [_vehicle] call f_fnc_fcsInit;
+
+ Or example (warning: classnames are case sensitive):
+ _fcsvehicles = vehicles select {typeOf _x in ["I_APC_Wheeled_03_cannon_F","I_APC_tracked_03_cannon_F"]};
+ {[_x] call f_fnc_fcsInit} forEach _fcsvehicles;
+
+ An option to activate this component is pre-placed in the F3 init.sqf
+
+*/
+
+// Doesn't need to run on DS or HC
+if !(hasInterface) exitWith {};
+
+params ["_vehicle"];
+
+if !(_vehicle isKindOf "LandVehicle") exitWith { diag_log "FCS: tried to run on something that isn't a vehicle" };
+
+if (_vehicle getVariable ["f_var_fcs_hasEH",false]) exitWith { diag_log "FCS: tried to run on something that already has FCS set up"};
+
+// If the FCS briefing tab hasn't been added already, add it.
+if (isNil "f_var_fcs_briefingDone") then {
+ [] call f_fnc_fcsBriefing;
+};
+
+// Commander's override action
+_vehicle addAction
+[
+ "Commander's override",
+ {
+ params ["_target", "_caller", "_actionId", "_arguments"];
+ [_target,_caller] call f_fnc_fcsCommanderOverride;
+ },
+ nil,
+ 1.5,
+ false,
+ true,
+ "",
+ "(_this == commander _target) && {!(isNull gunner _target) && !(_target getVariable [""f_var_fcsCommanderOverride_cooldown"",false]) && !(_target getVariable [""f_var_fcs_failure"",false])}",
+ 0,
+ false,
+ "",
+ ""
+];
+
+
+// Hit EH for FCS failure
+_vehicle addEventHandler ["HitPart",{
+ (_this select 0) params ["_target", "_shooter", "_projectile", "_position", "_velocity", "_selection", "_ammo", "_vector", "_radius", "_surfaceType", "_isDirect"];
+ // Call the actual failure evaluator
+ [_target,_projectile,_isDirect] call f_fnc_fcsFailure;
+ }];
+
+_vehicle setVariable ["f_var_fcs_hasEH",true];
+
+// Hold action to repair FCS failure
+// Players with repair trait in the gunner's seat of a vehicle with failed stabiliser can repair it
+[
+ _vehicle, // Target
+ "Reset Fire Control System", // Title
+ "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\repair_ca.paa", // Idle icon
+ "\a3\ui_f_oldman\data\IGUI\Cfg\holdactions\repair_ca.paa", // Progress icon
+ "(_target getVariable [""f_var_fcs_failure"",false]) && (gunner _target == _this) && (_this getUnitTrait ""engineer"")", // Condition to show
+ "(_target getVariable [""f_var_fcs_failure"",false]) && (gunner _target == _this) && (_this getUnitTrait ""engineer"")", // Condition to progress
+ {}, // Code on start
+ {}, // Code on tick
+ {
+ params ["_target", "_caller", "_actionId", "_arguments"];
+ // Clear failure states
+ _target setVariable ["f_var_fcs_failure",false,true];
+ // Retrieve saved info on the previous TI/NV equipment state
+ private _equipInfo = _target getVariable ["f_var_fcs_equipInfo",[false,false]];
+ _target disableNVGEquipment (_equipInfo#0);
+ // Re-enable TI unless F3 says we shouldn't
+ _target disableTIEquipment ((_equipInfo#1) || (_target getVariable ["f_var_TIDisabled",false]));
+ }, // Code on completed
+ {}, // Code on interrupt
+ [], // Arguments to pass
+ 10, // Duration
+ 1, // Priority
+ false, // Remove on completion
+ false, // Show when unconscious
+ true // Show on screen
+] call BIS_fnc_holdActionAdd;
+
+// Action to prevent rangefinder use during FCS failure
+_vehicle addAction ["FCS failure - repair required", // Title
+ {
+ hint "Someone familiar with maintenance can reset the FCS.";
+ }, // Code
+ "", // Arguments
+ 10, // Priority
+ false, // Show window
+ true, // Hide on use
+ "gunElevAuto", // Shortcut
+ "(_this == gunner _target) && {_target getVariable [""f_var_fcs_failure"",false]}" // Condition
+];
\ No newline at end of file
diff --git a/f/fcs/fn_fcsLocalWarning.sqf b/f/fcs/fn_fcsLocalWarning.sqf
new file mode 100644
index 000000000..18643b7f4
--- /dev/null
+++ b/f/fcs/fn_fcsLocalWarning.sqf
@@ -0,0 +1,26 @@
+// F3 - FCS/Commander's Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Originally from: https://github.com/NikkoJT/njt_fcs (integrated with permission)
+
+// This function shows HUD indicators when the commander's override either lacks a target or is in operation.
+
+params ["_text","_delay",["_position",0]];
+
+disableSerialization;
+
+private _coords = [
+[0.5, 0.7,0.5,0.5], // Default below centre
+[0.5, 0.77,0.5,0.5], // Lower below centre
+[0.55, 0.4,0.5,0.5] // Right of reticle
+] select _position;
+
+if (cameraView == "GUNNER") then {
+ private _overrideWarningDisplay = findDisplay 46 ctrlCreate ["RscStructuredText", 4404];
+ _overrideWarningDisplay ctrlSetPosition _coords;
+ _overrideWarningDisplay ctrlSetStructuredText parseText ("" + _text + "");
+ _overrideWarningDisplay ctrlSetTextColor [1,0.1,0.1,1];
+ _overrideWarningDisplay ctrlSetFont "PuristaBold";
+ _overrideWarningDisplay ctrlCommit 0;
+ sleep _delay;
+ ctrlDelete _overrideWarningDisplay;
+};
\ No newline at end of file
diff --git a/f/fcs/fn_fcsPersistentEffects.sqf b/f/fcs/fn_fcsPersistentEffects.sqf
new file mode 100644
index 000000000..282cbed36
--- /dev/null
+++ b/f/fcs/fn_fcsPersistentEffects.sqf
@@ -0,0 +1,35 @@
+// F3 - FCS/Commander's Override system
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Originally from: https://github.com/NikkoJT/njt_fcs (integrated with permission)
+
+// This component handles the FCS failure symptoms, such as the HUD warning and zeroing overrides. It's launched when an FCS failure is determined by the Hit EH added in fcs_init.
+
+params ["_target"];
+
+// It's all a big loop
+while {(_target getVariable ["f_var_fcs_failure",false]) && (alive _target)} do {
+
+ // Check whether there is a gunner
+ if !(isNull (gunner _target)) then {
+ _currentGunner = gunner _target;
+ {
+ // Get the muzzles for every weapon on the main turret and force set their zeroing
+ private _targetWeapon = _x;
+ private _targetWeaponMuzzles = getArray (configFile >> "CfgWeapons" >> _x >> "muzzles");
+ {
+ _targetMuzzle = _targetWeapon;
+ if !(_x == "this") then {
+ _targetMuzzle = _x;
+ };
+ [_currentGunner,[_targetWeapon,_targetMuzzle,1]] remoteExec ["setWeaponZeroing",_currentGunner];
+ } forEach _targetWeaponMuzzles;
+ } forEach (_target weaponsTurret [0]);
+
+ // Show a visual warning to the gunner - remoteExec'd to be local and only displayed when they are in the optics
+ ["FCS FAILURE",0.5] remoteExec ["f_fnc_fcsLocalWarning",_currentGunner,false];
+
+ };
+
+ sleep 0.8;
+
+};
diff --git a/f/functions.hpp b/f/functions.hpp
new file mode 100644
index 000000000..de0bb58bc
--- /dev/null
+++ b/f/functions.hpp
@@ -0,0 +1,161 @@
+// F3 Functions
+
+class F // Defines the "owner"
+{
+ class common // category
+ {
+ file = "f\common";
+ class processParamsArray{preInit = 1; postInit=1;};
+ class nearPlayer{};
+ class virtualFaction{};
+ class setVirtualFaction{};
+ };
+ class briefing
+ {
+ file = "f\briefing";
+ class createBriefing{};
+ };
+ class mpEnd
+ {
+ file = "f\mpEnd";
+ class mpEnd{};
+ class mpEndReceiver{};
+ };
+ class assignGear
+ {
+ file = "f\assignGear";
+ class assignGear{};
+ class assignInsignia{};
+ };
+ class setGroupID
+ {
+ file = "f\setGroupID";
+ class setGroupID{};
+ };
+ class missionConditions
+ {
+ file = "f\missionConditions";
+ class SetTime{};
+ class SetFog{};
+ class SetWeather{};
+ class SetWind{};
+ class ColdBreath{};
+ };
+ class cache
+ {
+ file = "f\cache";
+ class cInit {};
+ class cTracker {};
+ class gCache {};
+ class gUncache {};
+ };
+ class groupMarkers {
+ file = "f\groupMarkers";
+ class localGroupMarker{};
+ class localSpecialistMarker{};
+ class groupData{preInit = 1;};
+ };
+ class authorisedCrew
+ {
+ file = "f\authorisedCrew";
+ class authorisedCrewCheck {};
+ };
+ class FTMemberMarkers
+ {
+ file = "f\FTMemberMarkers";
+ class SetLocalFTMemberMarkers{};
+ class GetMarkerColor{};
+ };
+ class setAISkill
+ {
+ file = "f\setAISkill";
+ class setAISkill{};
+ };
+ class mapClickTeleport
+ {
+ file = "f\mapClickTeleport";
+ class mapClickTeleportAction{};
+ class mapClickTeleportSetPos{};
+ class mapClickTeleportParachute{};
+ class mapClickTeleportRemoveAction{};
+ class mapClickTeleportBriefing{};
+ };
+ class nametag
+ {
+ file = "f\nametag\functions";
+ class nametagUpdate {};
+ class nametagDraw {};
+ class nametagGetData {};
+ class nametagCache {};
+ class nametagResetFont {};
+ class getZoom {};
+ };
+ class preMount
+ {
+ file = "f\preMount";
+ class mountGroups{};
+ };
+ class zeus
+ {
+ file = "f\zeus";
+ class zeusInit{};
+ class zeusAddAddons{};
+ class zeusAddObjects{};
+ class zeusInitLocal{};
+ };
+ class safeStart
+ {
+ file = "f\safeStart";
+ class safety{};
+ };
+ class spect
+ {
+ file = "f\spect";
+ class activateSpectator{};
+ class terminateSpectator{};
+ };
+ class woundingsystem
+ {
+ file = "f\medical";
+ class addDragAction {};
+ class onDrag {};
+ };
+ class disableThermals
+ {
+ file = "f\disableThermals";
+ class disableThermals {};
+ };
+ class dynamicViewDistance
+ {
+ file = "f\dynamicViewDistance";
+ class ehSetViewDistance {};
+ };
+ class fcs
+ {
+ file = "f\fcs";
+ class fcsInit{};
+ class fcsCommanderOverride{};
+ class fcsFailure{};
+ class fcsPersistentEffects{};
+ class fcsLocalWarning{};
+ class fcsBriefing{};
+ };
+ class brakeOverride
+ {
+ file = "f\brakeOverride";
+ class brakeOverride{};
+ };
+ class radio
+ {
+ file = "f\radio";
+ class radioChannels{};
+ class radioAddHandlers {};
+ class radioCheckChannels {};
+ };
+ class skulls
+ {
+ file = "f\skulls";
+ class skullsInit{};
+ class gruntBirthdayParty{};
+ };
+};
diff --git a/f/groupJoin/f_groupJoinAction.sqf b/f/groupJoin/f_groupJoinAction.sqf
index df3276562..a6a3f9bdc 100644
--- a/f/groupJoin/f_groupJoinAction.sqf
+++ b/f/groupJoin/f_groupJoinAction.sqf
@@ -1,5 +1,5 @@
// F3 - Add group join option to action menu
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// This script can be called either without parameters, or with a single boolean parameter.
@@ -18,13 +18,13 @@ if (!isDedicated && (isNull player)) then
// ====================================================================================
-private ["_nearUnit", "_nearGroup", "_actionDistance", "_allowDifferentSide"];
+private ["_nearUnit", "_nearGroup", "_actionDistance", "_actionString", "_unit", "_grp"];
// How many meters player needs to be from another group's leader for the join action to be shown
_actionDistance = 2.5;
// Check if script caller wants to enable joining of groups on different sides, default to false
-_allowDifferentSide = [_this,0,false] call bis_fnc_param;
+params [["_allowDifferentSide", false, [false]]];
// Main loop to detect whether the action should be displayed
while {true} do {
@@ -40,25 +40,30 @@ while {true} do {
// Using curly braces makes the if statement cheaper to evaluate
if (group player != _nearGroup && alive _nearUnit && {(_allowDifferentSide || side player == side _nearGroup)}) then {
- _actionString = format["Join %1 (%2)", name _nearUnit,_nearGroup];
+ _actionString = format["Join %1 (%2)", name _nearUnit,_nearGroup];
- f_groupJoinAction = player addAction [_actionString, {
+ f_groupJoinAction = player addAction [_actionString, {
+ params [
+ ["_target", objNull, [objNull]],
+ ["_caller", objNull, [objNull]],
+ ["_ID", -1, [0]],
+ ["_grp", grpNull, [grpNull]]
+ ];
_unit = player;
- _grp = (_this select 3);
// Player joins new group
[player] joinSilent _grp;
//Display notifications about new group member to the whole group
- ["JIP",[format ["You have joined %1 (%2).",name leader _grp,_grp]]] call BIS_fnc_showNotification;
+ ["GroupJoin",[format ["You have joined %1 (%2).",name leader _grp,_grp]]] call BIS_fnc_showNotification;
{
- if (isPlayer _x) then {[["JIP",[format ["%1 has joined your group.",name _unit]]],"BIS_fnc_showNotification",_x] call BIS_fnc_MP};
+ if (isPlayer _x) then {["GroupJoin",[format ["%1 has joined your group.",name _unit]]] remoteExec ["BIS_fnc_showNotification", _x]};
} forEach (units _grp - [_unit]); // Done using a forEach loop to avoid message spam should the group leader be controlling AI
// Make sure the group leader is synchronized properly accross the network
- [[_grp, leader _grp], "selectLeader", leader _grp, false] call BIS_fnc_mp;
+ [_grp, leader _grp] remoteExec ["selectLeader", leader _grp];
// Remove and reset the action after executing it
player removeAction f_groupJoinAction;
@@ -75,4 +80,4 @@ while {true} do {
};
};
};
-};
\ No newline at end of file
+};
diff --git a/f/groupMarkers/f_setLocalGroupMarkers.sqf b/f/groupMarkers/f_setLocalGroupMarkers.sqf
index 49770f860..f2bd926d8 100644
--- a/f/groupMarkers/f_setLocalGroupMarkers.sqf
+++ b/f/groupMarkers/f_setLocalGroupMarkers.sqf
@@ -1,18 +1,12 @@
// F3 - Folk Group Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_unitfaction"];
-
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// MAKE SURE THE PLAYER INITIALIZES PROPERLY
if (!isDedicated && (isNull player)) then
{
- waitUntil {sleep 0.1; !isNull player};
+ waitUntil {sleep 0.1; !isNull player};
};
// ====================================================================================
@@ -20,70 +14,98 @@ if (!isDedicated && (isNull player)) then
// DETECT PLAYER FACTION
// The following code detects what faction the player's slot belongs to, and stores
// it in the private variable _unitfaction
-if(count _this == 0) then
-{
- _unitfaction = toLower (faction player);
+params [
+ ["_unitfaction", toLower ([leader group player] call f_fnc_virtualFaction), [""]]
+];
- // If the unitfaction is different from the group leader's faction, the latters faction is used
- if (_unitfaction != toLower (faction (leader group player))) then {_unitfaction = toLower (faction (leader group player))};
-}
-else
-{
- _unitfaction = (_this select 0);
+// ====================================================================================
+
+private _groups = [];
+
+// Markers seen by players in NATO, NATO (Pacific) & NATO (Woodland) slots.
+if (_unitfaction in (["blu_f","blu_t_f","blu_w_f","nato","natowoodland","natopacific"] apply {toLower _x})) then {
+ _groups = f_var_groupData_blufor_nato;
};
-// ====================================================================================
+// Markers seen by players in FIA slots. Move "fia" to OPFOR FIA or INDFOR FIA if using them.
+if (_unitfaction in (["blu_g_f","fia"] apply {toLower _x})) then {
+ _groups = f_var_groupData_blufor_fia;
+};
-// CONFIGURE MARKER TYPES
-// Using the marker classes (https://community.bistudio.com/wiki/cfgMarkers) we setup a number of variables to define which type of marker should be used for which group
-// Note: They can be overriden for each group individually
-
-// Groups
-_hq = "b_hq"; // Command elements
-_ft = "b_inf"; // Fireteams
-_sup = "b_support"; // Support units (MMG,HMG)
-_lau = "b_motor_inf"; // Launchers (MAT, HAT)
-_mor = "b_mortar"; // Mortars
-_eng = "b_maint"; // Engineers
-_ifv = "b_mech_inf"; // IFVs & APCs
-_tnk = "b_armor"; // Tanks
-_rec = "b_recon"; // Recon (ST)
-_hel = "b_air"; // Helicopters
-_pla = "b_plane"; // Planes
-_art = "b_art"; // Artillery
-
-// Specialists
-_med = "b_med"; // Medic
-_uav = "b_uav"; // UAV
+// Markers seen by players in Gendarmerie slots.
+if (_unitfaction in (["blu_gen_f"] apply {toLower _x})) then {
+ _groups = f_var_groupData_blufor_gen;
+};
-// ====================================================================================
+// Markers seen by players in CTRG slots.
+if (_unitfaction in (["blu_ctrg_f","ctrg"] apply {toLower _x})) then {
+ _groups = f_var_groupData_blufor_ctrg;
+};
-// INCLUDE GROUP MARKER SCRIPTS
-// Due to the amount of markers the script is split into various sub-scripts (by side)
-// which are now included to create the complete script
+// Markers seen by players in CSAT & CSAT (Pacific) slots.
+if (_unitfaction in (["opf_f","opf_t_f","csat","csatpacific"] apply {toLower _x})) then {
+ _groups = f_var_groupData_opfor_csat;
+};
-// MARKERS: BLUFOR
-// Markers seen by players in BLUFOR slots
+// Markers seen by players in OPFOR-FIA slots. Add "fia" if using "fia" with Virtual Faction, and remove it from BLUFOR FIA.
+if (_unitfaction in (["opf_g_f"] apply {toLower _x})) then {
+ _groups = f_var_groupData_opfor_fia;
+};
-#include "f_setLocalGroupMarkers_Blufor.sqf"
+// Markers seen by players in Spetsnaz slots.
+if (_unitfaction in (["opf_r_f","spetsnaz"] apply {toLower _x})) then {
+ _groups = f_var_groupData_opfor_spetsnaz;
+};
-// ====================================================================================
+// Markers seen by players in NPR (Looters) slots.
+if (_unitfaction in (["ind_l_f","npr"] apply {toLower _x})) then {
+ _groups = f_var_groupData_opfor_npr;
+};
+
+// Markers seen by players in AAF slots.
+if (_unitfaction in (["ind_f","aaf"] apply {toLower _x})) then {
+ _groups = f_var_groupData_indfor_aaf;
+};
-// MARKERS: OPFOR
-// Markers seen by players in OPFOR slots
+// Markers seen by players in LDF slots.
+if (_unitfaction in (["ind_e_f","ldf"] apply {toLower _x})) then {
+ _groups = f_var_groupData_indfor_ldf;
+};
-#include "f_setLocalGroupMarkers_Opfor.sqf"
+// Markers seen by players in INDEPENDENT-FIA slots. Add "fia" if using "fia" with Virtual Faction, and remove it from BLUFOR FIA.
+if (_unitfaction in (["ind_g_f"] apply {toLower _x})) then {
+ _groups = f_var_groupData_indfor_fia;
+};
-// ====================================================================================
+// Markers seen by players in SYNDIKAT slots.
+if (_unitfaction in (["ind_c_f","syndikat"] apply {toLower _x})) then {
+ _groups = f_var_groupData_indfor_syn;
+};
-// MARKERS: INDFOR
-// Markers seen by players in INDEPENDENT slots
+// Markers seen by players in 3IFB (virtual) slots.
+if (_unitfaction in (["3ifb"] apply {toLower _x})) then {
+ _groups = f_var_groupData_indfor_3ifb;
+};
-#include "f_setLocalGroupMarkers_Indfor.sqf"
+// Markers seen by players in Civilian slots.
+if (_unitfaction in (["civ_f","civ_idap_f"] apply {toLower _x})) then {
+ _groups = f_var_groupData_civ;
+};
// ====================================================================================
-// MARKERS: ALL
-// Markers spawned here can be seen by all units
+{
+ _x params ["_grpName", "_icon", "_markerText", "_color", "_id"];
+ if (_icon != "") then {
+ // Note: if a group is defined in the mission file, it exists even when
+ // no players are in this group yet.
+ private _grpOrUnit = missionNamespace getVariable [_grpName,objNull];
+ if (_grpOrUnit isEqualType grpNull) then {
+ _x spawn f_fnc_localGroupMarker;
+ } else {
+ _x spawn f_fnc_localSpecialistMarker;
+ };
+ };
+} forEach _groups;
// ====================================================================================
diff --git a/f/groupMarkers/f_setLocalGroupMarkers_Blufor.sqf b/f/groupMarkers/f_setLocalGroupMarkers_Blufor.sqf
deleted file mode 100644
index ab4f698da..000000000
--- a/f/groupMarkers/f_setLocalGroupMarkers_Blufor.sqf
+++ /dev/null
@@ -1,152 +0,0 @@
-// F3 - Folk Group Markers - BLUFOR
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// MARKERS: BLUFOR > NATO
-// Markers seen by players in NATO, NATO (Pacific) & CTRG slots.
-
-if (_unitfaction in ["blu_f","blu_t_f","blu_ctrg_f"]) then {
-
- ["GrpNATO_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_IFV1",_ifv, "IFV1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_IFV2",_ifv, "IFV2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpNATO_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpNATO_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitNATO_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitNATO_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitNATO_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitNATO_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitNATO_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
-
-// MARKERS: BLUFOR > FIA
-// Markers seen by players in FIA & CTRG slots.
-
-if (_unitfaction in ["blu_g_f","blu_ctrg_f"]) then {
-
- ["GrpFIA_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_IFV1",_ifv, "TECH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_IFV2",_ifv, "TECH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpFIA_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpFIA_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitFIA_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitFIA_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitFIA_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitFIA_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitFIA_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
-
-// MARKERS: BLUFOR > GENDARMERIE
-// Markers seen by players in gendarmerie slots.
-
-if (_unitfaction in ["blu_gen_f"]) then {
-
- ["GrpGEN_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_A",_hq, "A", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_B",_hq, "B", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_C",_hq, "C", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_J",_hq, "J", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_MK",_rec, "MK", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpGEN_TH1",_hel, "TH1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-};
-
-// ====================================================================================
\ No newline at end of file
diff --git a/f/groupMarkers/f_setLocalGroupMarkers_Indfor.sqf b/f/groupMarkers/f_setLocalGroupMarkers_Indfor.sqf
deleted file mode 100644
index 70c719ec0..000000000
--- a/f/groupMarkers/f_setLocalGroupMarkers_Indfor.sqf
+++ /dev/null
@@ -1,194 +0,0 @@
-// F3 - Folk Group Markers - INDFOR
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// MARKERS: INDEPEDENT > AAF
-// Markers seen by players in AAF slots.
-
-if (_unitfaction in ["ind_f"]) then {
- ["GrpAAF_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_IFV1",_ifv, "IFV1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_IFV2",_ifv, "IFV2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_TH2",_hel, "TH2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_TH3",_hel, "TH3", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpAAF_TH4",_hel, "TH4", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpAAF_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitAAF_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitAAF_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitAAF_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitAAF_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitAAF_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
-
-// MARKERS: INDEPENDENT > FIA
-// Markers seen by players in INDEPENDENT-FIA slots.
-
-if (_unitfaction in ["ind_g_f"]) then {
- ["GrpIFIA_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_IFV1",_ifv, "TECH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_IFV2",_ifv, "TECH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpIFIA_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpIFIA_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitIFIA_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitIFIA_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitIFIA_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitIFIA_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitIFIA_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
-
-// MARKERS: INDEPENDENT > SYNDIKAT
-// Markers seen by players in SYNDIKAT slots.
-
-if (_unitfaction in ["ind_c_f"]) then {
- ["GrpSyn_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_IFV1",_ifv, "TECH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_IFV2",_ifv, "TECH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpSyn_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpSyn_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitSyn_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitSyn_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitSyn_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitSyn_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitSyn_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
\ No newline at end of file
diff --git a/f/groupMarkers/f_setLocalGroupMarkers_Opfor.sqf b/f/groupMarkers/f_setLocalGroupMarkers_Opfor.sqf
deleted file mode 100644
index ccd52e488..000000000
--- a/f/groupMarkers/f_setLocalGroupMarkers_Opfor.sqf
+++ /dev/null
@@ -1,133 +0,0 @@
-// F3 - Folk Group Markers - OPFOR
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// MARKERS: OPFOR > CSAT
-// Markers seen by players in CSAT & CSAT (Pacific) slots.
-
-if (_unitfaction in ["opf_f","opf_t_f"]) then {
- ["GrpCSAT_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_IFV1",_ifv, "IFV1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_IFV2",_ifv, "IFV2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpCSAT_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpCSAT_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitCSAT_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitCSAT_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitCSAT_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitCSAT_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitCSAT_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
-
-// MARKERS: OPFOR > FIA
-// Markers seen by players in OPFOR-FIA slots.
-
-if (_unitfaction in ["opf_g_f"]) then {
- ["GrpOFIA_CO",_hq, "CO", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_DC",_hq, "DC", "ColorYellow"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_COV",_ifv, "COV", "ColorYellow"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_ASL",_hq, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_A1",_ft, "A1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_A2",_ft, "A2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_AV",_ifv, "AV", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_BSL",_hq, "BSL", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_B1",_ft, "B1", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_B2",_ft, "B2", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_BV",_ifv, "BV", "ColorBlue"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_CSL",_hq, "CSL", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_C1",_ft, "C1", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_C2",_ft, "C2", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_CV",_ifv, "CV", "ColorGreen"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_JSL",_hq, "JSL", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_J1",_ft, "J1", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_J2",_ft, "J2", "ColorPink"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_JV",_ifv, "JV", "ColorPink"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_MMG1",_sup, "MMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_MMG2",_sup, "MMG2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_HMG1",_sup, "HMG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_MAT1",_lau, "MAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_MAT2",_lau, "MAT2", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_HAT1",_lau, "HAT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_MTR1",_mor, "MTR1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_MSAM1",_lau, "MSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_HSAM1",_lau, "HSAM1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_ST1",_rec, "ST1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_DT1",_rec, "DT1", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_ENG1",_eng, "ENG1", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_IFV1",_ifv, "TECH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_IFV2",_ifv, "TECH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TNK1",_tnk, "TNK1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_TH1",_hel, "TH1", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH2",_hel, "TH2", "ColorRed"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH3",_hel, "TH3", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH4",_hel, "TH4", "ColorBlue"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH5",_hel, "TH5", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH6",_hel, "TH6", "ColorGreen"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH7",_hel, "TH7", "ColorOrange"] spawn f_fnc_localGroupMarker;
- ["GrpOFIA_TH8",_hel, "TH8", "ColorOrange"] spawn f_fnc_localGroupMarker;
-
- ["GrpOFIA_AH1",_hel, "AH1", "ColorRed"] spawn f_fnc_localGroupMarker;
-
- ["UnitOFIA_CO_M",_med, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitOFIA_DC_M",_med, "DCM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitOFIA_ASL_M",_med, "AM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitOFIA_BSL_M",_med, "BM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
- ["UnitOFIA_CSL_M",_med, "CM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;
-};
-
-// ====================================================================================
\ No newline at end of file
diff --git a/f/groupMarkers/fn_groupData.sqf b/f/groupMarkers/fn_groupData.sqf
new file mode 100644
index 000000000..bb9719523
--- /dev/null
+++ b/f/groupMarkers/fn_groupData.sqf
@@ -0,0 +1,808 @@
+// ====================================================================================
+// CONFIGURE MARKER TYPES
+// Using the marker classes (https://community.bistudio.com/wiki/cfgMarkers) we setup a number of variables to define which type of marker should be used for which group
+// Note: They can be overriden for each group individually
+
+// Groups
+private _hq = "b_hq"; // Command elements
+private _ft = "b_inf"; // Fireteams
+private _sup = "b_support"; // Support units (MMG,HMG)
+private _lau = "b_motor_inf"; // Launchers (MAT, HAT)
+private _mor = "b_mortar"; // Mortars
+private _eng = "b_maint"; // Engineers
+private _ifv = "b_mech_inf"; // IFVs & APCs
+private _tnk = "b_armor"; // Tanks
+private _rec = "b_recon"; // Recon (ST)
+private _hel = "b_air"; // Helicopters
+private _pla = "b_plane"; // Planes
+private _art = "b_art"; // Artillery
+private _aa = "b_antiair"; // AA
+
+// Specialists
+private _med = "b_med"; // Medic
+private _uav = "b_uav"; // UAV
+
+// ====================================================================================
+
+// Defining group data arrays. Each element consists of:
+// * Group variable name
+// * CfgMarkers class name. If this is an empty string, no marker will be shown
+// * Group marker text
+// * Group marker color
+// * Group Identity - as displayed in chat. Should be a empty string for non-groups
+
+f_var_groupData_blufor_nato = [
+ ["GrpNATO_CO", _hq, "CO", "ColorYellow", "NATO CO -"],
+ ["GrpNATO_DC", _hq, "DC", "ColorYellow", "NATO DC -"],
+ ["GrpNATO_COV", _ifv, "COV", "ColorYellow", "NATO COV -"],
+
+ ["GrpNATO_ASL", _hq, "ASL", "ColorRed", "NATO ASL -"],
+ ["GrpNATO_A1", _ft, "A1", "ColorRed", "NATO A1 -"],
+ ["GrpNATO_A2", _ft, "A2", "ColorRed", "NATO A2 -"],
+ ["GrpNATO_AV", _ifv, "AV", "ColorRed", "NATO AV -"],
+
+ ["GrpNATO_BSL", _hq, "BSL", "ColorBlue", "NATO BSL -"],
+ ["GrpNATO_B1", _ft, "B1", "ColorBlue", "NATO B1 -"],
+ ["GrpNATO_B2", _ft, "B2", "ColorBlue", "NATO B2 -"],
+ ["GrpNATO_BV", _ifv, "BV", "ColorBlue", "NATO BV -"],
+
+ ["GrpNATO_CSL", _hq, "CSL", "ColorGreen", "NATO CSL -"],
+ ["GrpNATO_C1", _ft, "C1", "ColorGreen", "NATO C1 -"],
+ ["GrpNATO_C2", _ft, "C2", "ColorGreen", "NATO C2 -"],
+ ["GrpNATO_CV", _ifv, "CV", "ColorGreen", "NATO CV -"],
+
+ ["GrpNATO_JSL", _hq, "JSL", "ColorPink", "NATO JSL -"],
+ ["GrpNATO_J1", _ft, "J1", "ColorPink", "NATO J1 -"],
+ ["GrpNATO_J2", _ft, "J2", "ColorPink", "NATO J2 -"],
+ ["GrpNATO_JV", _ifv, "JV", "ColorPink", "NATO JV -"],
+
+ ["GrpNATO_MMG1", _sup, "MMG1", "ColorOrange", "NATO MMG1 -"],
+ ["GrpNATO_MMG2", _sup, "MMG2", "ColorOrange", "NATO MMG2 -"],
+ ["GrpNATO_HMG1", _sup, "HMG1", "ColorOrange", "NATO HMG1 -"],
+ ["GrpNATO_MAT1", _lau, "MAT1", "ColorOrange", "NATO MAT1 -"],
+ ["GrpNATO_MAT2", _lau, "MAT2", "ColorOrange", "NATO MAT2 -"],
+ ["GrpNATO_HAT1", _lau, "HAT1", "ColorOrange", "NATO HAT1 -"],
+ ["GrpNATO_MTR1", _mor, "MTR1", "ColorOrange", "NATO MTR1 -"],
+ ["GrpNATO_MSAM1", _aa, "MSAM1", "ColorOrange", "NATO MSAM1 -"],
+ ["GrpNATO_HSAM1", _aa, "HSAM1", "ColorOrange", "NATO HSAM1 -"],
+ ["GrpNATO_ST1", _rec, "ST1", "ColorOrange", "NATO ST1 -"],
+ ["GrpNATO_DT1", _rec, "DT1", "ColorOrange", "NATO DT1 -"],
+ ["GrpNATO_ENG1", _eng, "ENG1", "ColorOrange", "NATO ENG1 -"],
+
+ ["GrpNATO_IFV1", _ifv, "IFV1", "ColorOrange", "NATO IFV1 -"],
+ ["GrpNATO_IFV2", _ifv, "IFV2", "ColorOrange", "NATO IFV2 -"],
+ ["GrpNATO_TNK1", _tnk, "TNK1", "ColorRed", "NATO TNK1 -"],
+
+ ["GrpNATO_CAS1", _pla, "CAS1", "ColorOrange", "NATO CAS1 -"],
+
+ ["GrpNATO_TH1", _hel, "TH1", "ColorRed", "NATO TH1 -"],
+ ["GrpNATO_TH2", _hel, "TH2", "ColorRed", "NATO TH2 -"],
+ ["GrpNATO_TH3", _hel, "TH3", "ColorBlue", "NATO TH3 -"],
+ ["GrpNATO_TH4", _hel, "TH4", "ColorBlue", "NATO TH4 -"],
+ ["GrpNATO_TH5", _hel, "TH5", "ColorGreen", "NATO TH5 -"],
+ ["GrpNATO_TH6", _hel, "TH6", "ColorGreen", "NATO TH6 -"],
+ ["GrpNATO_TH7", _hel, "TH7", "ColorOrange", "NATO TH7 -"],
+ ["GrpNATO_TH8", _hel, "TH8", "ColorOrange", "NATO TH8 -"],
+
+ ["GrpNATO_AH1", _hel, "AH1", "ColorRed", "NATO AH1 -"],
+
+ ["UnitNATO_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitNATO_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitNATO_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitNATO_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitNATO_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_blufor_fia = [
+ ["GrpFIA_CO", _hq, "CO", "ColorYellow", "FIA CO -"],
+ ["GrpFIA_DC", _hq, "DC", "ColorYellow", "FIA DC -"],
+ ["GrpFIA_COV", _ifv, "COV", "ColorYellow", "FIA COV -"],
+
+ ["GrpFIA_ASL", _hq, "ASL", "ColorRed", "FIA ASL -"],
+ ["GrpFIA_A1", _ft, "A1", "ColorRed", "FIA A1 -"],
+ ["GrpFIA_A2", _ft, "A2", "ColorRed", "FIA A2 -"],
+ ["GrpFIA_AV", _ifv, "AV", "ColorRed", "FIA AV -"],
+
+ ["GrpFIA_BSL", _hq, "BSL", "ColorBlue", "FIA BSL -"],
+ ["GrpFIA_B1", _ft, "B1", "ColorBlue", "FIA B1 -"],
+ ["GrpFIA_B2", _ft, "B2", "ColorBlue", "FIA B2 -"],
+ ["GrpFIA_BV", _ifv, "BV", "ColorBlue", "FIA BV -"],
+
+ ["GrpFIA_CSL", _hq, "CSL", "ColorGreen", "FIA CSL -"],
+ ["GrpFIA_C1", _ft, "C1", "ColorGreen", "FIA C1 -"],
+ ["GrpFIA_C2", _ft, "C2", "ColorGreen", "FIA C2 -"],
+ ["GrpFIA_CV", _ifv, "CV", "ColorGreen", "FIA CV -"],
+
+ ["GrpFIA_JSL", _hq, "JSL", "ColorPink", "FIA JSL -"],
+ ["GrpFIA_J1", _ft, "J1", "ColorPink", "FIA J1 -"],
+ ["GrpFIA_J2", _ft, "J2", "ColorPink", "FIA J2 -"],
+ ["GrpFIA_JV", _ifv, "JV", "ColorPink", "FIA JV -"],
+
+ ["GrpFIA_MMG1", _sup, "MMG1", "ColorOrange", "FIA MMG1 -"],
+ ["GrpFIA_MMG2", _sup, "MMG2", "ColorOrange", "FIA MMG2 -"],
+ ["GrpFIA_HMG1", _sup, "HMG1", "ColorOrange", "FIA HMG1 -"],
+ ["GrpFIA_MAT1", _lau, "MAT1", "ColorOrange", "FIA MAT1 -"],
+ ["GrpFIA_MAT2", _lau, "MAT2", "ColorOrange", "FIA MAT2 -"],
+ ["GrpFIA_HAT1", _lau, "HAT1", "ColorOrange", "FIA HAT1 -"],
+ ["GrpFIA_MTR1", _mor, "MTR1", "ColorOrange", "FIA MTR1 -"],
+ ["GrpFIA_MSAM1", _aa, "MSAM1", "ColorOrange", "FIA MSAM1 -"],
+ ["GrpFIA_HSAM1", _aa, "HSAM1", "ColorOrange", "FIA HSAM1 -"],
+ ["GrpFIA_ST1", _rec, "ST1", "ColorOrange", "FIA ST1 -"],
+ ["GrpFIA_DT1", _rec, "DT1", "ColorOrange", "FIA DT1 -"],
+ ["GrpFIA_ENG1", _eng, "ENG1", "ColorOrange", "FIA ENG1 -"],
+
+ ["GrpFIA_IFV1", _ifv, "TECH1", "ColorRed", "FIA TECH1 -"],
+ ["GrpFIA_IFV2", _ifv, "TECH2", "ColorRed", "FIA TECH2 -"],
+ ["GrpFIA_TNK1", _tnk, "TNK1", "ColorRed", "FIA TNK1 -"],
+
+ ["GrpFIA_CAS1", _pla, "CAS1", "ColorOrange", "FIA CAS1 -"],
+
+ ["GrpFIA_TH1", _hel, "TH1", "ColorRed", "FIA TH1 -"],
+ ["GrpFIA_TH2", _hel, "TH2", "ColorRed", "FIA TH2 -"],
+ ["GrpFIA_TH3", _hel, "TH3", "ColorBlue", "FIA TH3 -"],
+ ["GrpFIA_TH4", _hel, "TH4", "ColorBlue", "FIA TH4 -"],
+ ["GrpFIA_TH5", _hel, "TH5", "ColorGreen", "FIA TH5 -"],
+ ["GrpFIA_TH6", _hel, "TH6", "ColorGreen", "FIA TH6 -"],
+ ["GrpFIA_TH7", _hel, "TH7", "ColorOrange", "FIA TH7 -"],
+ ["GrpFIA_TH8", _hel, "TH8", "ColorOrange", "FIA TH8 -"],
+
+ ["GrpFIA_AH1", _hel, "AH1", "ColorRed", "FIA AH1 -"],
+
+ ["UnitFIA_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitFIA_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitFIA_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitFIA_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitFIA_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_blufor_gen = [
+ ["GrpGEN_CO", _hq, "CO", "ColorYellow", "Gendarmerie CO -"],
+ ["GrpGEN_DC", _hq, "DC", "ColorYellow", "Gendarmerie DC -"],
+ ["GrpGEN_A", _hq, "A", "ColorRed", "Gendarmerie Alpha -"],
+ ["GrpGEN_B", _hq, "B", "ColorBlue", "Gendarmerie Bravo -"],
+ ["GrpGEN_C", _hq, "C", "ColorGreen", "Gendarmerie Charlie -"],
+ ["GrpGEN_J", _hq, "J", "ColorPink", "Gendarmerie Juliet -"],
+ ["GrpGEN_MK", _rec, "MK", "ColorOrange", "Gendarmerie Marksman -"],
+ ["GrpGEN_TH1", _hel, "TH1", "ColorOrange", "Gendarmerie TH1 -"]
+];
+
+f_var_groupData_blufor_ctrg = [
+ ["GrpCTRG_CO", _hq, "CO", "ColorYellow", "CTRG CO -"],
+ ["GrpCTRG_DC", _hq, "DC", "ColorYellow", "CTRG DC -"],
+ ["GrpCTRG_COV", _ifv, "COV", "ColorYellow", "CTRG COV -"],
+
+ ["GrpCTRG_ASL", _hq, "ASL", "ColorRed", "CTRG ASL -"],
+ ["GrpCTRG_A1", _ft, "A1", "ColorRed", "CTRG A1 -"],
+ ["GrpCTRG_A2", _ft, "A2", "ColorRed", "CTRG A2 -"],
+ ["GrpCTRG_AV", _ifv, "AV", "ColorRed", "CTRG AV -"],
+
+ ["GrpCTRG_BSL", _hq, "BSL", "ColorBlue", "CTRG BSL -"],
+ ["GrpCTRG_B1", _ft, "B1", "ColorBlue", "CTRG B1 -"],
+ ["GrpCTRG_B2", _ft, "B2", "ColorBlue", "CTRG B2 -"],
+ ["GrpCTRG_BV", _ifv, "BV", "ColorBlue", "CTRG BV -"],
+
+ ["GrpCTRG_CSL", _hq, "CSL", "ColorGreen", "CTRG CSL -"],
+ ["GrpCTRG_C1", _ft, "C1", "ColorGreen", "CTRG C1 -"],
+ ["GrpCTRG_C2", _ft, "C2", "ColorGreen", "CTRG C2 -"],
+ ["GrpCTRG_CV", _ifv, "CV", "ColorGreen", "CTRG CV -"],
+
+ ["GrpCTRG_JSL", _hq, "JSL", "ColorPink", "CTRG JSL -"],
+ ["GrpCTRG_J1", _ft, "J1", "ColorPink", "CTRG J1 -"],
+ ["GrpCTRG_J2", _ft, "J2", "ColorPink", "CTRG J2 -"],
+ ["GrpCTRG_JV", _ifv, "JV", "ColorPink", "CTRG JV -"],
+
+ ["GrpCTRG_MMG1", _sup, "MMG1", "ColorOrange", "CTRG MMG1 -"],
+ ["GrpCTRG_MMG2", _sup, "MMG2", "ColorOrange", "CTRG MMG2 -"],
+ ["GrpCTRG_HMG1", _sup, "HMG1", "ColorOrange", "CTRG HMG1 -"],
+ ["GrpCTRG_MAT1", _lau, "MAT1", "ColorOrange", "CTRG MAT1 -"],
+ ["GrpCTRG_MAT2", _lau, "MAT2", "ColorOrange", "CTRG MAT2 -"],
+ ["GrpCTRG_HAT1", _lau, "HAT1", "ColorOrange", "CTRG HAT1 -"],
+ ["GrpCTRG_MTR1", _mor, "MTR1", "ColorOrange", "CTRG MTR1 -"],
+ ["GrpCTRG_MSAM1", _aa, "MSAM1", "ColorOrange", "CTRG MSAM1 -"],
+ ["GrpCTRG_HSAM1", _aa, "HSAM1", "ColorOrange", "CTRG HSAM1 -"],
+ ["GrpCTRG_ST1", _rec, "ST1", "ColorOrange", "CTRG ST1 -"],
+ ["GrpCTRG_DT1", _rec, "DT1", "ColorOrange", "CTRG DT1 -"],
+ ["GrpCTRG_ENG1", _eng, "ENG1", "ColorOrange", "CTRG ENG1 -"],
+
+ ["GrpCTRG_IFV1", _ifv, "IFV1", "ColorOrange", "CTRG IFV1 -"],
+ ["GrpCTRG_IFV2", _ifv, "IFV2", "ColorOrange", "CTRG IFV2 -"],
+ ["GrpCTRG_TNK1", _tnk, "TNK1", "ColorRed", "CTRG TNK1 -"],
+
+ ["GrpCTRG_CAS1", _pla, "CAS1", "ColorOrange", "CTRG CAS1 -"],
+
+ ["GrpCTRG_TH1", _hel, "TH1", "ColorRed", "CTRG TH1 -"],
+ ["GrpCTRG_TH2", _hel, "TH2", "ColorRed", "CTRG TH2 -"],
+ ["GrpCTRG_TH3", _hel, "TH3", "ColorBlue", "CTRG TH3 -"],
+ ["GrpCTRG_TH4", _hel, "TH4", "ColorBlue", "CTRG TH4 -"],
+ ["GrpCTRG_TH5", _hel, "TH5", "ColorGreen", "CTRG TH5 -"],
+ ["GrpCTRG_TH6", _hel, "TH6", "ColorGreen", "CTRG TH6 -"],
+ ["GrpCTRG_TH7", _hel, "TH7", "ColorOrange", "CTRG TH7 -"],
+ ["GrpCTRG_TH8", _hel, "TH8", "ColorOrange", "CTRG TH8 -"],
+
+ ["GrpCTRG_AH1", _hel, "AH1", "ColorRed", "CTRG AH1 -"],
+
+ ["UnitCTRG_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitCTRG_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitCTRG_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitCTRG_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitCTRG_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_opfor_csat = [
+ ["GrpCSAT_CO", _hq, "CO", "ColorYellow", "CSAT CO -"],
+ ["GrpCSAT_DC", _hq, "DC", "ColorYellow", "CSAT DC -"],
+ ["GrpCSAT_COV", _ifv, "COV", "ColorYellow", "CSAT COV -"],
+
+ ["GrpCSAT_ASL", _hq, "ASL", "ColorRed", "CSAT ASL -"],
+ ["GrpCSAT_A1", _ft, "A1", "ColorRed", "CSAT A1 -"],
+ ["GrpCSAT_A2", _ft, "A2", "ColorRed", "CSAT A2 -"],
+ ["GrpCSAT_AV", _ifv, "AV", "ColorRed", "CSAT AV -"],
+
+ ["GrpCSAT_BSL", _hq, "BSL", "ColorBlue", "CSAT BSL -"],
+ ["GrpCSAT_B1", _ft, "B1", "ColorBlue", "CSAT B1 -"],
+ ["GrpCSAT_B2", _ft, "B2", "ColorBlue", "CSAT B2 -"],
+ ["GrpCSAT_BV", _ifv, "BV", "ColorBlue", "CSAT BV -"],
+
+ ["GrpCSAT_CSL", _hq, "CSL", "ColorGreen", "CSAT CSL -"],
+ ["GrpCSAT_C1", _ft, "C1", "ColorGreen", "CSAT C1 -"],
+ ["GrpCSAT_C2", _ft, "C2", "ColorGreen", "CSAT C2 -"],
+ ["GrpCSAT_CV", _ifv, "CV", "ColorGreen", "CSAT CV -"],
+
+ ["GrpCSAT_JSL", _hq, "JSL", "ColorPink", "CSAT JSL -"],
+ ["GrpCSAT_J1", _ft, "J1", "ColorPink", "CSAT J1 -"],
+ ["GrpCSAT_J2", _ft, "J2", "ColorPink", "CSAT J2 -"],
+ ["GrpCSAT_JV", _ifv, "JV", "ColorPink", "CSAT JV -"],
+
+ ["GrpCSAT_MMG1", _sup, "MMG1", "ColorOrange", "CSAT MMG1 -"],
+ ["GrpCSAT_MMG2", _sup, "MMG2", "ColorOrange", "CSAT MMG2 -"],
+ ["GrpCSAT_HMG1", _sup, "HMG1", "ColorOrange", "CSAT HMG1 -"],
+ ["GrpCSAT_MAT1", _lau, "MAT1", "ColorOrange", "CSAT MAT1 -"],
+ ["GrpCSAT_MAT2", _lau, "MAT2", "ColorOrange", "CSAT MAT2 -"],
+ ["GrpCSAT_HAT1", _lau, "HAT1", "ColorOrange", "CSAT HAT1 -"],
+ ["GrpCSAT_MTR1", _mor, "MTR1", "ColorOrange", "CSAT MTR1 -"],
+ ["GrpCSAT_MSAM1", _aa, "MSAM1", "ColorOrange", "CSAT MSAM1 -"],
+ ["GrpCSAT_HSAM1", _aa, "HSAM1", "ColorOrange", "CSAT HSAM1 -"],
+ ["GrpCSAT_ST1", _rec, "ST1", "ColorOrange", "CSAT ST1 -"],
+ ["GrpCSAT_DT1", _rec, "DT1", "ColorOrange", "CSAT DT1 -"],
+ ["GrpCSAT_ENG1", _eng, "ENG1", "ColorOrange", "CSAT ENG1 -"],
+
+ ["GrpCSAT_IFV1", _ifv, "IFV1", "ColorOrange", "CSAT IFV1 -"],
+ ["GrpCSAT_IFV2", _ifv, "IFV2", "ColorOrange", "CSAT IFV2 -"],
+ ["GrpCSAT_TNK1", _tnk, "TNK1", "ColorRed", "CSAT TNK1 -"],
+
+ ["GrpCSAT_CAS1", _pla, "CAS1", "ColorOrange", "CSAT CAS1 -"],
+
+ ["GrpCSAT_TH1", _hel, "TH1", "ColorRed", "CSAT TH1 -"],
+ ["GrpCSAT_TH2", _hel, "TH2", "ColorRed", "CSAT TH2 -"],
+ ["GrpCSAT_TH3", _hel, "TH3", "ColorBlue", "CSAT TH3 -"],
+ ["GrpCSAT_TH4", _hel, "TH4", "ColorBlue", "CSAT TH4 -"],
+ ["GrpCSAT_TH5", _hel, "TH5", "ColorGreen", "CSAT TH5 -"],
+ ["GrpCSAT_TH6", _hel, "TH6", "ColorGreen", "CSAT TH6 -"],
+ ["GrpCSAT_TH7", _hel, "TH7", "ColorOrange", "CSAT TH7 -"],
+ ["GrpCSAT_TH8", _hel, "TH8", "ColorOrange", "CSAT TH8 -"],
+
+ ["GrpCSAT_AH1", _hel, "AH1", "ColorRed", "CSAT AH1 -"],
+
+ ["UnitCSAT_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitCSAT_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitCSAT_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitCSAT_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitCSAT_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_opfor_fia = [
+ ["GrpOFIA_CO", _hq, "CO", "ColorYellow", "FIA O CO -"],
+ ["GrpOFIA_DC", _hq, "DC", "ColorYellow", "FIA O DC -"],
+ ["GrpOFIA_COV", _ifv, "COV", "ColorYellow", "FIA O COV -"],
+
+ ["GrpOFIA_ASL", _hq, "ASL", "ColorRed", "FIA O ASL -"],
+ ["GrpOFIA_A1", _ft, "A1", "ColorRed", "FIA O A1 -"],
+ ["GrpOFIA_A2", _ft, "A2", "ColorRed", "FIA O A2 -"],
+ ["GrpOFIA_AV", _ifv, "AV", "ColorRed", "FIA O AV -"],
+
+ ["GrpOFIA_BSL", _hq, "BSL", "ColorBlue", "FIA O BSL -"],
+ ["GrpOFIA_B1", _ft, "B1", "ColorBlue", "FIA O B1 -"],
+ ["GrpOFIA_B2", _ft, "B2", "ColorBlue", "FIA O B2 -"],
+ ["GrpOFIA_BV", _ifv, "BV", "ColorBlue", "FIA O BV -"],
+
+ ["GrpOFIA_CSL", _hq, "CSL", "ColorGreen", "FIA O CSL -"],
+ ["GrpOFIA_C1", _ft, "C1", "ColorGreen", "FIA O C1 -"],
+ ["GrpOFIA_C2", _ft, "C2", "ColorGreen", "FIA O C2 -"],
+ ["GrpOFIA_CV", _ifv, "CV", "ColorGreen", "FIA O CV -"],
+
+ ["GrpOFIA_JSL", _hq, "JSL", "ColorPink", "FIA O JSL -"],
+ ["GrpOFIA_J1", _ft, "J1", "ColorPink", "FIA O J1 -"],
+ ["GrpOFIA_J2", _ft, "J2", "ColorPink", "FIA O J2 -"],
+ ["GrpOFIA_JV", _ifv, "JV", "ColorPink", "FIA O JV -"],
+
+ ["GrpOFIA_MMG1", _sup, "MMG1", "ColorOrange", "FIA O MMG1 -"],
+ ["GrpOFIA_MMG2", _sup, "MMG2", "ColorOrange", "FIA O MMG2 -"],
+ ["GrpOFIA_HMG1", _sup, "HMG1", "ColorOrange", "FIA O HMG1 -"],
+ ["GrpOFIA_MAT1", _lau, "MAT1", "ColorOrange", "FIA O MAT1 -"],
+ ["GrpOFIA_MAT2", _lau, "MAT2", "ColorOrange", "FIA O MAT2 -"],
+ ["GrpOFIA_HAT1", _lau, "HAT1", "ColorOrange", "FIA O HAT1 -"],
+ ["GrpOFIA_MTR1", _mor, "MTR1", "ColorOrange", "FIA O MTR1 -"],
+ ["GrpOFIA_MSAM1", _aa, "MSAM1", "ColorOrange", "FIA O MSAM1 -"],
+ ["GrpOFIA_HSAM1", _aa, "HSAM1", "ColorOrange", "FIA O HSAM1 -"],
+ ["GrpOFIA_ST1", _rec, "ST1", "ColorOrange", "FIA O ST1 -"],
+ ["GrpOFIA_DT1", _rec, "DT1", "ColorOrange", "FIA O DT1 -"],
+ ["GrpOFIA_ENG1", _eng, "ENG1", "ColorOrange", "FIA O ENG1 -"],
+
+ ["GrpOFIA_IFV1", _ifv, "TECH1", "ColorRed", "FIA O TECH1 -"],
+ ["GrpOFIA_IFV2", _ifv, "TECH2", "ColorRed", "FIA O TECH2 -"],
+ ["GrpOFIA_TNK1", _tnk, "TNK1", "ColorRed", "FIA O TNK1 -"],
+
+ ["GrpOFIA_CAS1", _pla, "CAS1", "ColorOrange", "FIA O CAS1 -"],
+
+ ["GrpOFIA_TH1", _hel, "TH1", "ColorRed", "FIA O TH1 -"],
+ ["GrpOFIA_TH2", _hel, "TH2", "ColorRed", "FIA O TH2 -"],
+ ["GrpOFIA_TH3", _hel, "TH3", "ColorBlue", "FIA O TH3 -"],
+ ["GrpOFIA_TH4", _hel, "TH4", "ColorBlue", "FIA O TH4 -"],
+ ["GrpOFIA_TH5", _hel, "TH5", "ColorGreen", "FIA O TH5 -"],
+ ["GrpOFIA_TH6", _hel, "TH6", "ColorGreen", "FIA O TH6 -"],
+ ["GrpOFIA_TH7", _hel, "TH7", "ColorOrange", "FIA O TH7 -"],
+ ["GrpOFIA_TH8", _hel, "TH8", "ColorOrange", "FIA O TH8 -"],
+
+ ["GrpOFIA_AH1", _hel, "AH1", "ColorRed", "FIA O AH1 -"],
+
+ ["UnitOFIA_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitOFIA_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitOFIA_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitOFIA_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitOFIA_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_opfor_spetsnaz = [
+ ["GrpSpetsnaz_CO", _hq, "CO", "ColorYellow", "Spetsnaz CO -"],
+ ["GrpSpetsnaz_DC", _hq, "DC", "ColorYellow", "Spetsnaz DC -"],
+ ["GrpSpetsnaz_COV", _ifv, "COV", "ColorYellow", "Spetsnaz COV -"],
+
+ ["GrpSpetsnaz_ASL", _hq, "ASL", "ColorRed", "Spetsnaz ASL -"],
+ ["GrpSpetsnaz_A1", _ft, "A1", "ColorRed", "Spetsnaz A1 -"],
+ ["GrpSpetsnaz_A2", _ft, "A2", "ColorRed", "Spetsnaz A2 -"],
+ ["GrpSpetsnaz_AV", _ifv, "AV", "ColorRed", "Spetsnaz AV -"],
+
+ ["GrpSpetsnaz_BSL", _hq, "BSL", "ColorBlue", "Spetsnaz BSL -"],
+ ["GrpSpetsnaz_B1", _ft, "B1", "ColorBlue", "Spetsnaz B1 -"],
+ ["GrpSpetsnaz_B2", _ft, "B2", "ColorBlue", "Spetsnaz B2 -"],
+ ["GrpSpetsnaz_BV", _ifv, "BV", "ColorBlue", "Spetsnaz BV -"],
+
+ ["GrpSpetsnaz_CSL", _hq, "CSL", "ColorGreen", "Spetsnaz CSL -"],
+ ["GrpSpetsnaz_C1", _ft, "C1", "ColorGreen", "Spetsnaz C1 -"],
+ ["GrpSpetsnaz_C2", _ft, "C2", "ColorGreen", "Spetsnaz C2 -"],
+ ["GrpSpetsnaz_CV", _ifv, "CV", "ColorGreen", "Spetsnaz CV -"],
+
+ ["GrpSpetsnaz_JSL", _hq, "JSL", "ColorPink", "Spetsnaz JSL -"],
+ ["GrpSpetsnaz_J1", _ft, "J1", "ColorPink", "Spetsnaz J1 -"],
+ ["GrpSpetsnaz_J2", _ft, "J2", "ColorPink", "Spetsnaz J2 -"],
+ ["GrpSpetsnaz_JV", _ifv, "JV", "ColorPink", "Spetsnaz JV -"],
+
+ ["GrpSpetsnaz_MMG1", _sup, "MMG1", "ColorOrange", "Spetsnaz MMG1 -"],
+ ["GrpSpetsnaz_MMG2", _sup, "MMG2", "ColorOrange", "Spetsnaz MMG2 -"],
+ ["GrpSpetsnaz_HMG1", _sup, "HMG1", "ColorOrange", "Spetsnaz HMG1 -"],
+ ["GrpSpetsnaz_MAT1", _lau, "MAT1", "ColorOrange", "Spetsnaz MAT1 -"],
+ ["GrpSpetsnaz_MAT2", _lau, "MAT2", "ColorOrange", "Spetsnaz MAT2 -"],
+ ["GrpSpetsnaz_HAT1", _lau, "HAT1", "ColorOrange", "Spetsnaz HAT1 -"],
+ ["GrpSpetsnaz_MTR1", _mor, "MTR1", "ColorOrange", "Spetsnaz MTR1 -"],
+ ["GrpSpetsnaz_MSAM1", _aa, "MSAM1", "ColorOrange", "Spetsnaz MSAM1 -"],
+ ["GrpSpetsnaz_HSAM1", _aa, "HSAM1", "ColorOrange", "Spetsnaz HSAM1 -"],
+ ["GrpSpetsnaz_ST1", _rec, "ST1", "ColorOrange", "Spetsnaz ST1 -"],
+ ["GrpSpetsnaz_DT1", _rec, "DT1", "ColorOrange", "Spetsnaz DT1 -"],
+ ["GrpSpetsnaz_ENG1", _eng, "ENG1", "ColorOrange", "Spetsnaz ENG1 -"],
+
+ ["GrpSpetsnaz_IFV1", _ifv, "IFV1", "ColorOrange", "Spetsnaz IFV1 -"],
+ ["GrpSpetsnaz_IFV2", _ifv, "IFV2", "ColorOrange", "Spetsnaz IFV2 -"],
+ ["GrpSpetsnaz_TNK1", _tnk, "TNK1", "ColorRed", "Spetsnaz TNK1 -"],
+
+ ["GrpSpetsnaz_CAS1", _pla, "CAS1", "ColorOrange", "Spetsnaz CAS1 -"],
+
+ ["GrpSpetsnaz_TH1", _hel, "TH1", "ColorRed", "Spetsnaz TH1 -"],
+ ["GrpSpetsnaz_TH2", _hel, "TH2", "ColorRed", "Spetsnaz TH2 -"],
+ ["GrpSpetsnaz_TH3", _hel, "TH3", "ColorBlue", "Spetsnaz TH3 -"],
+ ["GrpSpetsnaz_TH4", _hel, "TH4", "ColorBlue", "Spetsnaz TH4 -"],
+ ["GrpSpetsnaz_TH5", _hel, "TH5", "ColorGreen", "Spetsnaz TH5 -"],
+ ["GrpSpetsnaz_TH6", _hel, "TH6", "ColorGreen", "Spetsnaz TH6 -"],
+ ["GrpSpetsnaz_TH7", _hel, "TH7", "ColorOrange", "Spetsnaz TH7 -"],
+ ["GrpSpetsnaz_TH8", _hel, "TH8", "ColorOrange", "Spetsnaz TH8 -"],
+
+ ["GrpSpetsnaz_AH1", _hel, "AH1", "ColorRed", "Spetsnaz AH1 -"],
+
+ ["UnitSpetsnaz_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitSpetsnaz_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitSpetsnaz_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitSpetsnaz_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitSpetsnaz_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_indfor_aaf = [
+ ["GrpAAF_CO", _hq, "CO", "ColorYellow", "AAF CO -"],
+ ["GrpAAF_DC", _hq, "DC", "ColorYellow", "AAF DC -"],
+ ["GrpAAF_COV", _ifv, "COV", "ColorYellow", "AAF COV -"],
+
+ ["GrpAAF_ASL", _hq, "ASL", "ColorRed", "AAF ASL -"],
+ ["GrpAAF_A1", _ft, "A1", "ColorRed", "AAF A1 -"],
+ ["GrpAAF_A2", _ft, "A2", "ColorRed", "AAF A2 -"],
+ ["GrpAAF_AV", _ifv, "AV", "ColorRed", "AAF AV -"],
+
+ ["GrpAAF_BSL", _hq, "BSL", "ColorBlue", "AAF BSL -"],
+ ["GrpAAF_B1", _ft, "B1", "ColorBlue", "AAF B1 -"],
+ ["GrpAAF_B2", _ft, "B2", "ColorBlue", "AAF B2 -"],
+ ["GrpAAF_BV", _ifv, "BV", "ColorBlue", "AAF BV -"],
+
+ ["GrpAAF_CSL", _hq, "CSL", "ColorGreen", "AAF CSL -"],
+ ["GrpAAF_C1", _ft, "C1", "ColorGreen", "AAF C1 -"],
+ ["GrpAAF_C2", _ft, "C2", "ColorGreen", "AAF C2 -"],
+ ["GrpAAF_CV", _ifv, "CV", "ColorGreen", "AAF CV -"],
+
+ ["GrpAAF_JSL", _hq, "JSL", "ColorPink", "AAF JSL -"],
+ ["GrpAAF_J1", _ft, "J1", "ColorPink", "AAF J1 -"],
+ ["GrpAAF_J2", _ft, "J2", "ColorPink", "AAF J2 -"],
+ ["GrpAAF_JV", _ifv, "JV", "ColorPink", "AAF JV -"],
+
+ ["GrpAAF_MMG1", _sup, "MMG1", "ColorOrange", "AAF MMG1 -"],
+ ["GrpAAF_MMG2", _sup, "MMG2", "ColorOrange", "AAF MMG2 -"],
+ ["GrpAAF_HMG1", _sup, "HMG1", "ColorOrange", "AAF HMG1 -"],
+ ["GrpAAF_MAT1", _lau, "MAT1", "ColorOrange", "AAF MAT1 -"],
+ ["GrpAAF_MAT2", _lau, "MAT2", "ColorOrange", "AAF MAT2 -"],
+ ["GrpAAF_HAT1", _lau, "HAT1", "ColorOrange", "AAF HAT1 -"],
+ ["GrpAAF_MTR1", _mor, "MTR1", "ColorOrange", "AAF MTR1 -"],
+ ["GrpAAF_MSAM1", _aa, "MSAM1", "ColorOrange", "AAF MSAM1 -"],
+ ["GrpAAF_HSAM1", _aa, "HSAM1", "ColorOrange", "AAF HSAM1 -"],
+ ["GrpAAF_ST1", _rec, "ST1", "ColorOrange", "AAF ST1 -"],
+ ["GrpAAF_DT1", _rec, "DT1", "ColorOrange", "AAF DT1 -"],
+ ["GrpAAF_ENG1", _eng, "ENG1", "ColorOrange", "AAF ENG1 -"],
+
+ ["GrpAAF_IFV1", _ifv, "IFV1", "ColorOrange", "AAF IFV1 -"],
+ ["GrpAAF_IFV2", _ifv, "IFV2", "ColorOrange", "AAF IFV2 -"],
+ ["GrpAAF_TNK1", _tnk, "TNK1", "ColorRed", "AAF TNK1 -"],
+
+ ["GrpAAF_CAS1", _pla, "CAS1", "ColorOrange", "AAF CAS1 -"],
+
+ ["GrpAAF_TH1", _hel, "TH1", "ColorRed", "AAF TH1 -"],
+ ["GrpAAF_TH2", _hel, "TH2", "ColorBlue", "AAF TH2 -"],
+ ["GrpAAF_TH3", _hel, "TH3", "ColorGreen", "AAF TH3 -"],
+ ["GrpAAF_TH4", _hel, "TH4", "ColorOrange", "AAF TH4 -"],
+
+ ["GrpAAF_AH1", _hel, "AH1", "ColorRed", "AAF AH1 -"],
+
+ ["UnitAAF_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitAAF_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitAAF_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitAAF_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitAAF_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_indfor_fia = [
+ ["GrpIFIA_CO", _hq, "CO", "ColorYellow", "FIA I CO -"],
+ ["GrpIFIA_DC", _hq, "DC", "ColorYellow", "FIA I DC -"],
+ ["GrpIFIA_COV", _ifv, "COV", "ColorYellow", "FIA I COV -"],
+
+ ["GrpIFIA_ASL", _hq, "ASL", "ColorRed", "FIA I ASL -"],
+ ["GrpIFIA_A1", _ft, "A1", "ColorRed", "FIA I A1 -"],
+ ["GrpIFIA_A2", _ft, "A2", "ColorRed", "FIA I A2 -"],
+ ["GrpIFIA_AV", _ifv, "AV", "ColorRed", "FIA I AV -"],
+
+ ["GrpIFIA_BSL", _hq, "BSL", "ColorBlue", "FIA I BSL -"],
+ ["GrpIFIA_B1", _ft, "B1", "ColorBlue", "FIA I B1 -"],
+ ["GrpIFIA_B2", _ft, "B2", "ColorBlue", "FIA I B2 -"],
+ ["GrpIFIA_BV", _ifv, "BV", "ColorBlue", "FIA I BV -"],
+
+ ["GrpIFIA_CSL", _hq, "CSL", "ColorGreen", "FIA I CSL -"],
+ ["GrpIFIA_C1", _ft, "C1", "ColorGreen", "FIA I C1 -"],
+ ["GrpIFIA_C2", _ft, "C2", "ColorGreen", "FIA I C2 -"],
+ ["GrpIFIA_CV", _ifv, "CV", "ColorGreen", "FIA I CV -"],
+
+ ["GrpIFIA_JSL", _hq, "JSL", "ColorPink", "FIA I JSL -"],
+ ["GrpIFIA_J1", _ft, "J1", "ColorPink", "FIA I J1 -"],
+ ["GrpIFIA_J2", _ft, "J2", "ColorPink", "FIA I J2 -"],
+ ["GrpIFIA_JV", _ifv, "JV", "ColorPink", "FIA I JV -"],
+
+ ["GrpIFIA_MMG1", _sup, "MMG1", "ColorOrange", "FIA I MMG1 -"],
+ ["GrpIFIA_MMG2", _sup, "MMG2", "ColorOrange", "FIA I MMG2 -"],
+ ["GrpIFIA_HMG1", _sup, "HMG1", "ColorOrange", "FIA I HMG1 -"],
+ ["GrpIFIA_MAT1", _lau, "MAT1", "ColorOrange", "FIA I MAT1 -"],
+ ["GrpIFIA_MAT2", _lau, "MAT2", "ColorOrange", "FIA I MAT2 -"],
+ ["GrpIFIA_HAT1", _lau, "HAT1", "ColorOrange", "FIA I HAT1 -"],
+ ["GrpIFIA_MTR1", _mor, "MTR1", "ColorOrange", "FIA I MTR1 -"],
+ ["GrpIFIA_MSAM1", _aa, "MSAM1", "ColorOrange", "FIA I MSAM1 -"],
+ ["GrpIFIA_HSAM1", _aa, "HSAM1", "ColorOrange", "FIA I HSAM1 -"],
+ ["GrpIFIA_ST1", _rec, "ST1", "ColorOrange", "FIA I ST1 -"],
+ ["GrpIFIA_DT1", _rec, "DT1", "ColorOrange", "FIA I DT1 -"],
+ ["GrpIFIA_ENG1", _eng, "ENG1", "ColorOrange", "FIA I ENG1 -"],
+
+ ["GrpIFIA_IFV1", _ifv, "TECH1", "ColorRed", "FIA I TECH1 -"],
+ ["GrpIFIA_IFV2", _ifv, "TECH2", "ColorRed", "FIA I TECH2 -"],
+ ["GrpIFIA_TNK1", _tnk, "TNK1", "ColorRed", "FIA I TNK1 -"],
+
+ ["GrpIFIA_CAS1", _pla, "CAS1", "ColorOrange", "FIA I CAS1 -"],
+
+ ["GrpIFIA_TH1", _hel, "TH1", "ColorRed", "FIA I TH1 -"],
+ ["GrpIFIA_TH2", _hel, "TH2", "ColorRed", "FIA I TH2 -"],
+ ["GrpIFIA_TH3", _hel, "TH3", "ColorBlue", "FIA I TH3 -"],
+ ["GrpIFIA_TH4", _hel, "TH4", "ColorBlue", "FIA I TH4 -"],
+ ["GrpIFIA_TH5", _hel, "TH5", "ColorGreen", "FIA I TH5 -"],
+ ["GrpIFIA_TH6", _hel, "TH6", "ColorGreen", "FIA I TH6 -"],
+ ["GrpIFIA_TH7", _hel, "TH7", "ColorOrange", "FIA I TH7 -"],
+ ["GrpIFIA_TH8", _hel, "TH8", "ColorOrange", "FIA I TH8 -"],
+
+ ["GrpIFIA_AH1", _hel, "AH1", "ColorRed", "FIA I AH1 -"],
+
+ ["UnitIFIA_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitIFIA_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitIFIA_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitIFIA_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitIFIA_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_indfor_syn = [
+ ["GrpSyn_CO", _hq, "CO", "ColorYellow", "Syndikat CO -"],
+ ["GrpSyn_DC", _hq, "DC", "ColorYellow", "Syndikat DC -"],
+ ["GrpSyn_COV", _ifv, "COV", "ColorYellow", "Syndikat COV -"],
+
+ ["GrpSyn_ASL", _hq, "ASL", "ColorRed", "Syndikat ASL -"],
+ ["GrpSyn_A1", _ft, "A1", "ColorRed", "Syndikat A1 -"],
+ ["GrpSyn_A2", _ft, "A2", "ColorRed", "Syndikat A2 -"],
+ ["GrpSyn_AV", _ifv, "AV", "ColorRed", "Syndikat AV -"],
+
+ ["GrpSyn_BSL", _hq, "BSL", "ColorBlue", "Syndikat BSL -"],
+ ["GrpSyn_B1", _ft, "B1", "ColorBlue", "Syndikat B1 -"],
+ ["GrpSyn_B2", _ft, "B2", "ColorBlue", "Syndikat B2 -"],
+ ["GrpSyn_BV", _ifv, "BV", "ColorBlue", "Syndikat BV -"],
+
+ ["GrpSyn_CSL", _hq, "CSL", "ColorGreen", "Syndikat CSL -"],
+ ["GrpSyn_C1", _ft, "C1", "ColorGreen", "Syndikat C1 -"],
+ ["GrpSyn_C2", _ft, "C2", "ColorGreen", "Syndikat C2 -"],
+ ["GrpSyn_CV", _ifv, "CV", "ColorGreen", "Syndikat CV -"],
+
+ ["GrpSyn_JSL", _hq, "JSL", "ColorPink", "Syndikat JSL -"],
+ ["GrpSyn_J1", _ft, "J1", "ColorPink", "Syndikat J1 -"],
+ ["GrpSyn_J2", _ft, "J2", "ColorPink", "Syndikat J2 -"],
+ ["GrpSyn_JV", _ifv, "JV", "ColorPink", "Syndikat JV -"],
+
+ ["GrpSyn_MMG1", _sup, "MMG1", "ColorOrange", "Syndikat MMG1 -"],
+ ["GrpSyn_MMG2", _sup, "MMG2", "ColorOrange", "Syndikat MMG2 -"],
+ ["GrpSyn_HMG1", _sup, "HMG1", "ColorOrange", "Syndikat HMG1 -"],
+ ["GrpSyn_MAT1", _lau, "MAT1", "ColorOrange", "Syndikat MAT1 -"],
+ ["GrpSyn_MAT2", _lau, "MAT2", "ColorOrange", "Syndikat MAT2 -"],
+ ["GrpSyn_HAT1", _lau, "HAT1", "ColorOrange", "Syndikat HAT1 -"],
+ ["GrpSyn_MTR1", _mor, "MTR1", "ColorOrange", "Syndikat MTR1 -"],
+ ["GrpSyn_MSAM1", _aa, "MSAM1", "ColorOrange", "Syndikat MSAM1 -"],
+ ["GrpSyn_HSAM1", _aa, "HSAM1", "ColorOrange", "Syndikat HSAM1 -"],
+ ["GrpSyn_ST1", _rec, "ST1", "ColorOrange", "Syndikat ST1 -"],
+ ["GrpSyn_DT1", _rec, "DT1", "ColorOrange", "Syndikat DT1 -"],
+ ["GrpSyn_ENG1", _eng, "ENG1", "ColorOrange", "Syndikat ENG1 -"],
+
+ ["GrpSyn_IFV1", _ifv, "TECH1", "ColorRed", "Syndikat TECH1 -"],
+ ["GrpSyn_IFV2", _ifv, "TECH2", "ColorRed", "Syndikat TECH2 -"],
+ ["GrpSyn_TNK1", _tnk, "TNK1", "ColorRed", "Syndikat TNK1 -"],
+
+ ["GrpSyn_CAS1", _pla, "CAS1", "ColorOrange", "Syndikat CAS1 -"],
+
+ ["GrpSyn_TH1", _hel, "TH1", "ColorRed", "Syndikat TH1 -"],
+ ["GrpSyn_TH2", _hel, "TH2", "ColorRed", "Syndikat TH2 -"],
+ ["GrpSyn_TH3", _hel, "TH3", "ColorBlue", "Syndikat TH3 -"],
+ ["GrpSyn_TH4", _hel, "TH4", "ColorBlue", "Syndikat TH4 -"],
+ ["GrpSyn_TH5", _hel, "TH5", "ColorGreen", "Syndikat TH5 -"],
+ ["GrpSyn_TH6", _hel, "TH6", "ColorGreen", "Syndikat TH6 -"],
+ ["GrpSyn_TH7", _hel, "TH7", "ColorOrange", "Syndikat TH7 -"],
+ ["GrpSyn_TH8", _hel, "TH8", "ColorOrange", "Syndikat TH8 -"],
+
+ ["GrpSyn_AH1", _hel, "AH1", "ColorRed", "Syndikat AH1 -"],
+
+ ["UnitSyn_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitSyn_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitSyn_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitSyn_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitSyn_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_indfor_3ifb = [
+ ["Grp3IFB_CO", _hq, "CO", "ColorYellow", "3IFB CO -"],
+ ["Grp3IFB_DC", _hq, "DC", "ColorYellow", "3IFB DC -"],
+ ["Grp3IFB_COV", _ifv, "COV", "ColorYellow", "3IFB COV -"],
+
+ ["Grp3IFB_ASL", _hq, "ASL", "ColorRed", "3IFB ASL -"],
+ ["Grp3IFB_A1", _ft, "A1", "ColorRed", "3IFB A1 -"],
+ ["Grp3IFB_A2", _ft, "A2", "ColorRed", "3IFB A2 -"],
+ ["Grp3IFB_AV", _ifv, "AV", "ColorRed", "3IFB AV -"],
+
+ ["Grp3IFB_BSL", _hq, "BSL", "ColorBlue", "3IFB BSL -"],
+ ["Grp3IFB_B1", _ft, "B1", "ColorBlue", "3IFB B1 -"],
+ ["Grp3IFB_B2", _ft, "B2", "ColorBlue", "3IFB B2 -"],
+ ["Grp3IFB_BV", _ifv, "BV", "ColorBlue", "3IFB BV -"],
+
+ ["Grp3IFB_CSL", _hq, "CSL", "ColorGreen", "3IFB CSL -"],
+ ["Grp3IFB_C1", _ft, "C1", "ColorGreen", "3IFB C1 -"],
+ ["Grp3IFB_C2", _ft, "C2", "ColorGreen", "3IFB C2 -"],
+ ["Grp3IFB_CV", _ifv, "CV", "ColorGreen", "3IFB CV -"],
+
+ ["Grp3IFB_JSL", _hq, "JSL", "ColorPink", "3IFB JSL -"],
+ ["Grp3IFB_J1", _ft, "J1", "ColorPink", "3IFB J1 -"],
+ ["Grp3IFB_J2", _ft, "J2", "ColorPink", "3IFB J2 -"],
+ ["Grp3IFB_JV", _ifv, "JV", "ColorPink", "3IFB JV -"],
+
+ ["Grp3IFB_MMG1", _sup, "MMG1", "ColorOrange", "3IFB MMG1 -"],
+ ["Grp3IFB_MMG2", _sup, "MMG2", "ColorOrange", "3IFB MMG2 -"],
+ ["Grp3IFB_HMG1", _sup, "HMG1", "ColorOrange", "3IFB HMG1 -"],
+ ["Grp3IFB_MAT1", _lau, "MAT1", "ColorOrange", "3IFB MAT1 -"],
+ ["Grp3IFB_MAT2", _lau, "MAT2", "ColorOrange", "3IFB MAT2 -"],
+ ["Grp3IFB_HAT1", _lau, "HAT1", "ColorOrange", "3IFB HAT1 -"],
+ ["Grp3IFB_MTR1", _mor, "MTR1", "ColorOrange", "3IFB MTR1 -"],
+ ["Grp3IFB_MSAM1", _aa, "MSAM1", "ColorOrange", "3IFB MSAM1 -"],
+ ["Grp3IFB_HSAM1", _aa, "HSAM1", "ColorOrange", "3IFB HSAM1 -"],
+ ["Grp3IFB_ST1", _rec, "ST1", "ColorOrange", "3IFB ST1 -"],
+ ["Grp3IFB_DT1", _rec, "DT1", "ColorOrange", "3IFB DT1 -"],
+ ["Grp3IFB_ENG1", _eng, "ENG1", "ColorOrange", "3IFB ENG1 -"],
+
+ ["Grp3IFB_IFV1", _ifv, "TECH1", "ColorRed", "3IFB TECH1 -"],
+ ["Grp3IFB_IFV2", _ifv, "TECH2", "ColorRed", "3IFB TECH2 -"],
+ ["Grp3IFB_TNK1", _tnk, "TNK1", "ColorRed", "3IFB TNK1 -"],
+
+ ["Grp3IFB_CAS1", _pla, "CAS1", "ColorOrange", "3IFB CAS1 -"],
+
+ ["Grp3IFB_TH1", _hel, "TH1", "ColorRed", "3IFB TH1 -"],
+ ["Grp3IFB_TH2", _hel, "TH2", "ColorRed", "3IFB TH2 -"],
+ ["Grp3IFB_TH3", _hel, "TH3", "ColorBlue", "3IFB TH3 -"],
+ ["Grp3IFB_TH4", _hel, "TH4", "ColorBlue", "3IFB TH4 -"],
+ ["Grp3IFB_TH5", _hel, "TH5", "ColorGreen", "3IFB TH5 -"],
+ ["Grp3IFB_TH6", _hel, "TH6", "ColorGreen", "3IFB TH6 -"],
+ ["Grp3IFB_TH7", _hel, "TH7", "ColorOrange", "3IFB TH7 -"],
+ ["Grp3IFB_TH8", _hel, "TH8", "ColorOrange", "3IFB TH8 -"],
+
+ ["Grp3IFB_AH1", _hel, "AH1", "ColorRed", "3IFB AH1 -"],
+
+ ["Unit3IFB_CO_M", _med, "COM", "ColorBlack", ""],
+ ["Unit3IFB_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["Unit3IFB_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["Unit3IFB_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["Unit3IFB_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_indfor_LDF = [
+ ["GrpLDF_CO", _hq, "CO", "ColorYellow", "LDF CO -"],
+ ["GrpLDF_DC", _hq, "DC", "ColorYellow", "LDF DC -"],
+ ["GrpLDF_COV", _ifv, "COV", "ColorYellow", "LDF COV -"],
+
+ ["GrpLDF_ASL", _hq, "ASL", "ColorRed", "LDF ASL -"],
+ ["GrpLDF_A1", _ft, "A1", "ColorRed", "LDF A1 -"],
+ ["GrpLDF_A2", _ft, "A2", "ColorRed", "LDF A2 -"],
+ ["GrpLDF_AV", _ifv, "AV", "ColorRed", "LDF AV -"],
+
+ ["GrpLDF_BSL", _hq, "BSL", "ColorBlue", "LDF BSL -"],
+ ["GrpLDF_B1", _ft, "B1", "ColorBlue", "LDF B1 -"],
+ ["GrpLDF_B2", _ft, "B2", "ColorBlue", "LDF B2 -"],
+ ["GrpLDF_BV", _ifv, "BV", "ColorBlue", "LDF BV -"],
+
+ ["GrpLDF_CSL", _hq, "CSL", "ColorGreen", "LDF CSL -"],
+ ["GrpLDF_C1", _ft, "C1", "ColorGreen", "LDF C1 -"],
+ ["GrpLDF_C2", _ft, "C2", "ColorGreen", "LDF C2 -"],
+ ["GrpLDF_CV", _ifv, "CV", "ColorGreen", "LDF CV -"],
+
+ ["GrpLDF_JSL", _hq, "JSL", "ColorPink", "LDF JSL -"],
+ ["GrpLDF_J1", _ft, "J1", "ColorPink", "LDF J1 -"],
+ ["GrpLDF_J2", _ft, "J2", "ColorPink", "LDF J2 -"],
+ ["GrpLDF_JV", _ifv, "JV", "ColorPink", "LDF JV -"],
+
+ ["GrpLDF_MMG1", _sup, "MMG1", "ColorOrange", "LDF MMG1 -"],
+ ["GrpLDF_MMG2", _sup, "MMG2", "ColorOrange", "LDF MMG2 -"],
+ ["GrpLDF_HMG1", _sup, "HMG1", "ColorOrange", "LDF HMG1 -"],
+ ["GrpLDF_MAT1", _lau, "MAT1", "ColorOrange", "LDF MAT1 -"],
+ ["GrpLDF_MAT2", _lau, "MAT2", "ColorOrange", "LDF MAT2 -"],
+ ["GrpLDF_HAT1", _lau, "HAT1", "ColorOrange", "LDF HAT1 -"],
+ ["GrpLDF_MTR1", _mor, "MTR1", "ColorOrange", "LDF MTR1 -"],
+ ["GrpLDF_MSAM1", _aa, "MSAM1", "ColorOrange", "LDF MSAM1 -"],
+ ["GrpLDF_HSAM1", _aa, "HSAM1", "ColorOrange", "LDF HSAM1 -"],
+ ["GrpLDF_ST1", _rec, "ST1", "ColorOrange", "LDF ST1 -"],
+ ["GrpLDF_DT1", _rec, "DT1", "ColorOrange", "LDF DT1 -"],
+ ["GrpLDF_ENG1", _eng, "ENG1", "ColorOrange", "LDF ENG1 -"],
+
+ ["GrpLDF_IFV1", _ifv, "IFV1", "ColorOrange", "LDF IFV1 -"],
+ ["GrpLDF_IFV2", _ifv, "IFV2", "ColorOrange", "LDF IFV2 -"],
+ ["GrpLDF_TNK1", _tnk, "TNK1", "ColorRed", "LDF TNK1 -"],
+
+ ["GrpLDF_CAS1", _pla, "CAS1", "ColorOrange", "LDF CAS1 -"],
+
+ ["GrpLDF_TH1", _hel, "TH1", "ColorRed", "LDF TH1 -"],
+ ["GrpLDF_TH2", _hel, "TH2", "ColorRed", "LDF TH2 -"],
+ ["GrpLDF_TH3", _hel, "TH3", "ColorBlue", "LDF TH3 -"],
+ ["GrpLDF_TH4", _hel, "TH4", "ColorBlue", "LDF TH4 -"],
+ ["GrpLDF_TH5", _hel, "TH5", "ColorGreen", "LDF TH5 -"],
+ ["GrpLDF_TH6", _hel, "TH6", "ColorGreen", "LDF TH6 -"],
+ ["GrpLDF_TH7", _hel, "TH7", "ColorOrange", "LDF TH7 -"],
+ ["GrpLDF_TH8", _hel, "TH8", "ColorOrange", "LDF TH8 -"],
+
+ ["GrpLDF_AH1", _hel, "AH1", "ColorRed", "LDF AH1 -"],
+
+ ["UnitLDF_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitLDF_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitLDF_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitLDF_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitLDF_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_opfor_npr = [
+ ["GrpNPR_CO", _hq, "CO", "ColorYellow", "NPR CO -"],
+ ["GrpNPR_DC", _hq, "DC", "ColorYellow", "NPR DC -"],
+ ["GrpNPR_COV", _ifv, "COV", "ColorYellow", "NPR COV -"],
+
+ ["GrpNPR_ASL", _hq, "ASL", "ColorRed", "NPR ASL -"],
+ ["GrpNPR_A1", _ft, "A1", "ColorRed", "NPR A1 -"],
+ ["GrpNPR_A2", _ft, "A2", "ColorRed", "NPR A2 -"],
+ ["GrpNPR_AV", _ifv, "AV", "ColorRed", "NPR AV -"],
+
+ ["GrpNPR_BSL", _hq, "BSL", "ColorBlue", "NPR BSL -"],
+ ["GrpNPR_B1", _ft, "B1", "ColorBlue", "NPR B1 -"],
+ ["GrpNPR_B2", _ft, "B2", "ColorBlue", "NPR B2 -"],
+ ["GrpNPR_BV", _ifv, "BV", "ColorBlue", "NPR BV -"],
+
+ ["GrpNPR_CSL", _hq, "CSL", "ColorGreen", "NPR CSL -"],
+ ["GrpNPR_C1", _ft, "C1", "ColorGreen", "NPR C1 -"],
+ ["GrpNPR_C2", _ft, "C2", "ColorGreen", "NPR C2 -"],
+ ["GrpNPR_CV", _ifv, "CV", "ColorGreen", "NPR CV -"],
+
+ ["GrpNPR_JSL", _hq, "JSL", "ColorPink", "NPR JSL -"],
+ ["GrpNPR_J1", _ft, "J1", "ColorPink", "NPR J1 -"],
+ ["GrpNPR_J2", _ft, "J2", "ColorPink", "NPR J2 -"],
+ ["GrpNPR_JV", _ifv, "JV", "ColorPink", "NPR JV -"],
+
+ ["GrpNPR_MMG1", _sup, "MMG1", "ColorOrange", "NPR MMG1 -"],
+ ["GrpNPR_MMG2", _sup, "MMG2", "ColorOrange", "NPR MMG2 -"],
+ ["GrpNPR_HMG1", _sup, "HMG1", "ColorOrange", "NPR HMG1 -"],
+ ["GrpNPR_MAT1", _lau, "MAT1", "ColorOrange", "NPR MAT1 -"],
+ ["GrpNPR_MAT2", _lau, "MAT2", "ColorOrange", "NPR MAT2 -"],
+ ["GrpNPR_HAT1", _lau, "HAT1", "ColorOrange", "NPR HAT1 -"],
+ ["GrpNPR_MTR1", _mor, "MTR1", "ColorOrange", "NPR MTR1 -"],
+ ["GrpNPR_MSAM1", _aa, "MSAM1", "ColorOrange", "NPR MSAM1 -"],
+ ["GrpNPR_HSAM1", _aa, "HSAM1", "ColorOrange", "NPR HSAM1 -"],
+ ["GrpNPR_ST1", _rec, "ST1", "ColorOrange", "NPR ST1 -"],
+ ["GrpNPR_DT1", _rec, "DT1", "ColorOrange", "NPR DT1 -"],
+ ["GrpNPR_ENG1", _eng, "ENG1", "ColorOrange", "NPR ENG1 -"],
+
+ ["GrpNPR_IFV1", _ifv, "TECH1", "ColorOrange", "NPR TECH1 -"],
+ ["GrpNPR_IFV2", _ifv, "TECH2", "ColorOrange", "NPR TECH2 -"],
+ ["GrpNPR_TNK1", _tnk, "TNK1", "ColorRed", "NPR TNK1 -"],
+
+ ["GrpNPR_CAS1", _pla, "CAS1", "ColorOrange", "NPR CAS1 -"],
+
+ ["GrpNPR_TH1", _hel, "TH1", "ColorRed", "NPR TH1 -"],
+ ["GrpNPR_TH2", _hel, "TH2", "ColorRed", "NPR TH2 -"],
+ ["GrpNPR_TH3", _hel, "TH3", "ColorBlue", "NPR TH3 -"],
+ ["GrpNPR_TH4", _hel, "TH4", "ColorBlue", "NPR TH4 -"],
+ ["GrpNPR_TH5", _hel, "TH5", "ColorGreen", "NPR TH5 -"],
+ ["GrpNPR_TH6", _hel, "TH6", "ColorGreen", "NPR TH6 -"],
+ ["GrpNPR_TH7", _hel, "TH7", "ColorOrange", "NPR TH7 -"],
+ ["GrpNPR_TH8", _hel, "TH8", "ColorOrange", "NPR TH8 -"],
+
+ ["GrpNPR_AH1", _hel, "AH1", "ColorRed", "NPR AH1 -"],
+
+ ["UnitNPR_CO_M", _med, "COM", "ColorBlack", ""],
+ ["UnitNPR_DC_M", _med, "DCM", "ColorBlack", ""],
+ ["UnitNPR_ASL_M", _med, "AM", "ColorBlack", ""],
+ ["UnitNPR_BSL_M", _med, "BM", "ColorBlack", ""],
+ ["UnitNPR_CSL_M", _med, "CM", "ColorBlack", ""]
+];
+
+f_var_groupData_civ = [
+ ["GrpCIV_R1", _hq, "R1", "ColorPink", "Reporter 1"],
+ ["GrpCIV_R2", _hq, "R2", "ColorPink", "Reporter 2"]
+];
+// ====================================================================================
+
+// Adding all of the group data to a single array
+f_var_groupData_all = [];
+f_var_groupData_all append f_var_groupData_blufor_nato;
+f_var_groupData_all append f_var_groupData_blufor_fia;
+f_var_groupData_all append f_var_groupData_blufor_gen;
+f_var_groupData_all append f_var_groupData_blufor_ctrg;
+f_var_groupData_all append f_var_groupData_opfor_csat;
+f_var_groupData_all append f_var_groupData_opfor_fia;
+f_var_groupData_all append f_var_groupData_opfor_spetsnaz;
+f_var_groupData_all append f_var_groupData_opfor_npr;
+f_var_groupData_all append f_var_groupData_indfor_aaf;
+f_var_groupData_all append f_var_groupData_indfor_fia;
+f_var_groupData_all append f_var_groupData_indfor_syn;
+f_var_groupData_all append f_var_groupData_indfor_3ifb;
+f_var_groupData_all append f_var_groupData_indfor_ldf;
+f_var_groupData_all append f_var_groupData_civ;
+
+// ====================================================================================
diff --git a/f/groupMarkers/fn_localGroupMarker.sqf b/f/groupMarkers/fn_localGroupMarker.sqf
index 5de247c69..b9f195d02 100644
--- a/f/groupMarkers/fn_localGroupMarker.sqf
+++ b/f/groupMarkers/fn_localGroupMarker.sqf
@@ -1,15 +1,16 @@
// F3 - Folk Group Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE PRIVATE VARIABLES
-
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-params["_grpName",["_mkrType","b_hq"],"_mkrText",["_mkrColor","ColorBlack"]];
+params [
+ ["_grpName", "", [""]],
+ ["_mkrType", "b_hq", [""]],
+ ["_mkrText", "", [""]],
+ ["_mkrColor","ColorBlack", [""]]
+];
private _grp = missionNamespace getVariable [_grpName,grpNull];
private _mkrName = format ["mkr_%1",_grpName];
@@ -17,27 +18,23 @@ private _mkrName = format ["mkr_%1",_grpName];
// ====================================================================================
// WAIT FOR GROUP TO EXIST IN-MISSION
-// We wait for the group to have members before creating the marker.
-if (isNull _grp) then
+//If the group does not exist in this mission file, then we can exit.
+if (isNull _grp) exitWith {};
+
+// We wait for the group to have members before creating the marker.
+if (count units _grp == 0) then
{
- waitUntil { sleep 3; _grp = missionNamespace getVariable [_grpName,grpNull]; count (units _grp) > 0 };
+ waitUntil { sleep 5; _grp = missionNamespace getVariable [_grpName,grpNull]; count units _grp > 0 };
};
// ====================================================================================
-// EXIT FOR EMPTY GROUPS (PART I)
-// If the group is empty, this script exits.
-
-if (isnil "_grp") exitWith {};
-
-// ====================================================================================
-
// CREATE MARKER
// Depending on the value of _mkrType a different type of marker is created.
-_mkr = createMarkerLocal [_mkrName,[(getPos leader _grp select 0),(getPos leader _grp select 1)]];
-_mkr setMarkerShapeLocal "ICON";
+_mkrName = createMarkerLocal [_mkrName,[(getPos leader _grp select 0),(getPos leader _grp select 1)]];
+_mkrName setMarkerShapeLocal "ICON";
_mkrName setMarkerTypeLocal _mkrType;
_mkrName setMarkerColorLocal _mkrColor;
_mkrName setMarkerSizeLocal [0.8, 0.8];
@@ -58,5 +55,3 @@ while {{!isNull _x} count units _grp > 0} do
// ====================================================================================
-
-
diff --git a/f/groupMarkers/fn_localSpecialistMarker.sqf b/f/groupMarkers/fn_localSpecialistMarker.sqf
index db4632165..f6b2ff9b0 100644
--- a/f/groupMarkers/fn_localSpecialistMarker.sqf
+++ b/f/groupMarkers/fn_localSpecialistMarker.sqf
@@ -1,5 +1,5 @@
// F3 - Folk Unit Markers for Specialists
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE PRIVATE VARIABLES
@@ -11,7 +11,12 @@ private ["_mkr"];
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-params["_untName",["_mkrType","b_hq"],"_mkrText",["_mkrColor","ColorBlack"]];
+params [
+ ["_untName", "", [""]],
+ ["_mkrType", "b_hq", [""]],
+ ["_mkrText", "", [""]],
+ ["_mkrColor","ColorBlack", [""]]
+];
private _mkrName = format ["mkr_%1",_untName];
private _unt = missionNamespace getVariable [_untName, objNull];
@@ -64,7 +69,7 @@ while {alive _unt} do
// If respawn is enabled we need to reset the marker should the unit die
// Sleep for the set respawn delay plus a small grace period
-sleep (getNumber (missionconfigfile >> "RespawnDelay")) + 3;
+sleep ((getNumber (missionconfigfile >> "RespawnDelay")) + 3);
// Re-compile the unit variable using the initially passed string
waitUntil { sleep 0.1; _unt = missionNamespace getVariable [_untName,objNull]; !(isNull _unt) };
@@ -73,4 +78,3 @@ waitUntil { sleep 0.1; _unt = missionNamespace getVariable [_untName,objNull]; !
if (alive _unt) exitWith {
[_untName, _mkrType, _mkrText, _mkrColor] spawn f_fnc_localSpecialistMarker;
};
-
diff --git a/f/mapClickTeleport/f_mapClickTeleportAction.sqf b/f/mapClickTeleport/f_mapClickTeleport.sqf
similarity index 52%
rename from f/mapClickTeleport/f_mapClickTeleportAction.sqf
rename to f/mapClickTeleport/f_mapClickTeleport.sqf
index 0021e6b03..354665f7c 100644
--- a/f/mapClickTeleport/f_mapClickTeleportAction.sqf
+++ b/f/mapClickTeleport/f_mapClickTeleport.sqf
@@ -1,15 +1,15 @@
// F3 - Mission Maker Teleport
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// Only run this for players
-if (isDedicated) exitWith{};
+if (!hasInterface) exitWith{};
// ====================================================================================
// MAKE SURE THE PLAYER INITIALIZES PROPERLY
-if (!isDedicated && (isNull player)) then
+if (isNull player) then
{
waitUntil {sleep 0.1; !isNull player};
};
@@ -18,44 +18,43 @@ if (!isDedicated && (isNull player)) then
// SET UP VARIABLES
// Make sure all global variables are initialized
-if (isNil "f_var_mapClickTeleport_Uses") then {f_var_mapClickTeleport_Uses = 0};
-if (isNil "f_var_mapClickTeleport_TimeLimit") then {f_var_mapClickTeleport_TimeLimit = 0};
-if (isNil "f_var_mapClickTeleport_GroupTeleport") then {f_var_mapClickTeleport_GroupTeleport = false};
-if (isNil "f_var_mapClickTeleport_Units") then {f_var_mapClickTeleport_Units = []};
-if (isNil "f_var_mapClickTeleport_Height") then {f_var_mapClickTeleport_Height = 0};
+if (isNil "f_var_mapClickTeleport_Uses") then {f_var_mapClickTeleport_Uses = 0};
+if (isNil "f_var_mapClickTeleport_TimeLimit") then {f_var_mapClickTeleport_TimeLimit = 0};
+if (isNil "f_var_mapClickTeleport_GroupTeleport") then {f_var_mapClickTeleport_GroupTeleport = false};
+if (isNil "f_var_mapClickTeleport_Units") then {f_var_mapClickTeleport_Units = []};
+if (isNil "f_var_mapClickTeleport_Height") then {f_var_mapClickTeleport_Height = 0};
+if (isNil "f_var_mapClickTeleport_SaferVehicleHALO") then {f_var_mapClickTeleport_SaferVehicleHALO = false};
-// Make sure that no non-existing units have been parsed
-{
- if (isNil _x) then {
- f_var_mapClickTeleport_Units set [_forEachIndex,objNull];
- } else {
- f_var_mapClickTeleport_Units set [_forEachIndex,call compile format ["%1",_x]];
- };
-} forEach f_var_mapClickTeleport_Units;
+// Setup the localized strings for the various stages of the component
+// Depending on the setting of the height variable the strings either use the teleport or the HALO option.
+
+private _string = if (f_var_mapClickTeleport_Height == 0) then {"Teleport"} else {"HALO"};
+
+f_var_mapClickTeleport_textAction = localize format ["STR_f_mapClick%1Action",_string];
+f_var_mapClickTeleport_textDone = localize format ["STR_f_mapClick%1Done",_string];
+f_var_mapClickTeleport_textSelect = localize format ["STR_f_mapClick%1Select",_string];
// Reduce the array to valid units only
-f_var_mapClickTeleport_Units = f_var_mapClickTeleport_Units - [objNull];
+f_var_mapClickTeleport_Units = f_var_mapClickTeleport_Units select {! isNil _x} apply {call compile format ["%1",_x]};
// ====================================================================================
-// CHECK IF COMPONENT SHOULD BE ENABLED
-// We end the script if it is not running on a server or if only group leaders can use
-// the action and the player is not the leader of his/her group
+// ADD BRIEFING PAGE - HALO
+// Add a briefing page for everyone if HALO is being used
-if (count f_var_mapClickTeleport_Units > 0 && !(player in f_var_mapClickTeleport_Units)) exitWith {};
-if (f_var_mapClickTeleport_GroupTeleport && player != leader group player) exitWith {};
+if (f_var_mapClickTeleport_Height > 0) then {
+ [] call f_fnc_mapClickTeleportBriefing;
+};
// ====================================================================================
-// SET KEY VARIABLES
-// Setup the localized strings for the various stages of the component
-// Depending on the setting of the height variable the strings either use the teleport or the HALO option.
-
-_string = if (f_var_mapClickTeleport_Height == 0) then {"Teleport"} else {"HALO"};
+// CHECK IF COMPONENT SHOULD BE ENABLED
+// We end the script if:
+// - the teleport is restricted to certain units and the player isn't one of those units
+// - or if only group leaders can use the action and the player is not the leader of his/her group
-f_var_mapClickTeleport_textAction = localize format ["STR_f_mapClick%1Action",_string];
-f_var_mapClickTeleport_textDone = localize format ["STR_f_mapClick%1Done",_string];
-f_var_mapClickTeleport_textSelect = localize format ["STR_f_mapClick%1Select",_string];
+if (count f_var_mapClickTeleport_Units > 0 && !(player in f_var_mapClickTeleport_Units)) exitWith {};
+if (f_var_mapClickTeleport_GroupTeleport && player != leader group player) exitWith {};
// ====================================================================================
@@ -63,9 +62,9 @@ f_var_mapClickTeleport_textSelect = localize format ["STR_f_mapClick%1Select",_s
// Whilst the player is alive we add the teleport action to the player's action menu.
// If the player dies we wait until he is alive again and re-add the action.
-f_mapClickTeleportAction = player addaction [f_var_mapClickTeleport_textAction,{[] spawn f_fnc_mapClickTeleportUnit},"", 0, false,true,"","_this == player"];
+f_mapClickTeleportAction = player addAction [f_var_mapClickTeleport_textAction,{[] spawn f_fnc_mapClickTeleportAction},"", 0, false,true,"","_this == player"];
if (f_var_mapClickTeleport_TimeLimit > 0) then {
sleep f_var_mapClickTeleport_TimeLimit;
player removeAction f_mapClickTeleportAction;
-};
\ No newline at end of file
+};
diff --git a/f/mapClickTeleport/fn_mapClickTeleportAction.sqf b/f/mapClickTeleport/fn_mapClickTeleportAction.sqf
new file mode 100644
index 000000000..9ba4933bc
--- /dev/null
+++ b/f/mapClickTeleport/fn_mapClickTeleportAction.sqf
@@ -0,0 +1,86 @@
+// F3 - Mission Maker Teleport
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// SET KEY VARIABLES
+
+f_var_mapClickTeleport_telePos = nil;
+f_var_mapClickTeleport_MapClosed = false;
+if (isNil "f_var_mapClickTeleport_Used") then {f_var_mapClickTeleport_Used = 0};
+
+// ====================================================================================
+// Eventhandler to detect closing of the map
+// in case the player has not clicked on the map to select a teleport position.
+
+f_var_mapClickTeleport_EHMap = addMissionEventHandler ["Map", {
+ params ["_mapIsOpened", ""];
+ if (!_mapIsOpened) exitWith {
+ f_var_mapClickTeleport_MapClosed = true;
+ };
+}];
+
+// ====================================================================================
+
+// TELEPORT FUNCTIONALITY
+// Open the map for the player and display a notification, then set either the player's vehicle
+// or the unit to the new position. If the group needs to be teleported too, set the group's position
+// as well.
+
+["MapClickTeleport",[f_var_mapClickTeleport_textSelect]] call BIS_fnc_showNotification;
+
+["mapClickTeleportEH", "onMapSingleClick", {f_var_mapClickTeleport_telePos = _pos;}] call BIS_fnc_addStackedEventHandler;
+openMap [true, false];
+waitUntil {f_var_mapClickTeleport_MapClosed || !isNil "f_var_mapClickTeleport_telePos"};
+["mapClickTeleportEH", "onMapSingleClick"] call BIS_fnc_removeStackedEventHandler;
+
+removeMissionEventHandler ["Map", f_var_mapClickTeleport_EHMap];
+
+//Exit if the map was closed without selecting a position.
+if (f_var_mapClickTeleport_MapClosed) exitWith {};
+
+//Select units to be teleported
+private _units = [player];
+if (f_var_mapClickTeleport_GroupTeleport) then {
+ _units = units group player;
+};
+
+// Move player/group
+// If the player is in a vehicle and not HALO-ing, the complete vehicle is moved.
+// Otherwise the players are teleported individually.
+
+// Note:
+// Vehicles from other group members are not teleported,
+// because there are too many edge-cases and we would need to make sure
+// that the vehicles don't end up on top of each other (because they cannot be steered)
+// e.g. We don't know if that other vehicle has another group leader,
+// which could teleport their vehicle themself and we don't want to hijack
+// it in that case.
+// Also, vehicles that are loaded in cargo should not be teleported.
+if (vehicle player != player) then {
+ if (! isNull isVehicleCargo vehicle player) exitWith {};
+
+
+ // Filter for units that are not in the group-leader's vehicle
+ // These units still need to be teleported separately.
+ _units = _units select {vehicle _x != vehicle player};
+
+ // Teleport the crew outside of the vehicle if HALO-ing and f_var_mapClickTeleport_SaferVehicleHALO is set
+ if (f_var_mapClickTeleport_Height > 0 && f_var_mapClickTeleport_SaferVehicleHALO) then {
+ _units append (crew vehicle player);
+ };
+
+ // Add the vehicle itself
+ _units pushBack (vehicle player);
+};
+
+{
+ // Teleport unit/vehicle
+ [_x, f_var_mapClickTeleport_telePos, f_var_mapClickTeleport_Height] remoteExec ["f_fnc_mapClickTeleportSetPos", _x];
+
+ // Remove the teleport action from all teleported units
+ {
+ [_x] remoteExec ["f_fnc_mapClickTeleportRemoveAction", _x];
+ } forEach crew vehicle _x;
+} forEach _units;
+
+openMap [false, false];
diff --git a/f/mapClickTeleport/fn_mapClickTeleportBriefing.sqf b/f/mapClickTeleport/fn_mapClickTeleportBriefing.sqf
new file mode 100644
index 000000000..93eb2d309
--- /dev/null
+++ b/f/mapClickTeleport/fn_mapClickTeleportBriefing.sqf
@@ -0,0 +1,38 @@
+// F3 - Mission Maker Teleport
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+if (!hasInterface) exitWith {};
+
+if (!isDedicated && (isNull player)) then
+{
+ waitUntil {sleep 0.1; !isNull player};
+};
+
+player createDiaryRecord ["diary", ["HALO Jumping 101",
+format ["TL/DR - OPEN YOUR PARACHUTE AT 200 METERS
+
+A HALO jump consists of three stages: the jump, the decent, and the landing.
+
+You will jump from a height of %1 meters.
+
+While descending, steer yourself towards the drop zone -
+orient yourself in the direction you want to go, then go forward.
+
+The recommended open height for a HALO jump is 200 meters.
+100 meters is the absolute minimum.
+Anything less than 100 meters and you will not survive.
+
+When you are getting close to the ground, try to move backwards.
+This will slow you down and prevent injuries.
+
+If you are being paradropped in a vehicle,
+you do not need to do anything. Just sit tight and enjoy the descent.
+The vehicle will automatically deploy a parachute at an appropriate time.
+If you get out of the vehicle while it is descending, you will not survive.
+
+If a group leader initiates the jump while you are not in the same vehicle,
+you will jump alongside the vehicle,
+but you have your own parachute which must be opened manually.
+", f_var_mapClickTeleport_Height]
+]];
diff --git a/f/mapClickTeleport/fn_mapClickTeleportGroup.sqf b/f/mapClickTeleport/fn_mapClickTeleportGroup.sqf
deleted file mode 100644
index b581c3e31..000000000
--- a/f/mapClickTeleport/fn_mapClickTeleportGroup.sqf
+++ /dev/null
@@ -1,64 +0,0 @@
-// F3 - Mission Maker Teleport
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_pos","_units","_textDone","_dispersion"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-
-_unit = _this select 0;
-_pos = _this select 1;
-_dispersion = 100; // The maximum dispersion for units when HALO jumping
-
-_string = if (f_var_mapClickTeleport_Height == 0) then {"Teleport"} else {"HALO"};
-f_var_mapClickTeleport_textDone = localize format ["STR_f_mapClick%1Done",_string];
-
-// ====================================================================================
-
-// LOCALITY CHECK
-// The component should not run anywhere else but where the unit is local by default
-// This check is a redundancy to ensure this
-
-if !(local _unit) exitWith {};
-
-// ====================================================================================
-
-// TELEPORT UNITS
-// Loop through the group's units (excluding the leader) and check if they are local, if true teleport
-// them next to the leader and display a notification for players
-
-if (f_var_mapClickTeleport_Height == 0) then {
- _unit setPos [((_pos select 0) + 3 + random 3),((_pos select 1) + 3 + random 3),(_pos select 2)];
-} else {
- _unit setPos [((_pos select 0) + random _dispersion - random _dispersion),((_pos select 1) + random _dispersion - random _dispersion),(_pos select 2) + random 15 - random 15];
-};
-
-// Display a notification for players
-if (_unit == vehicle player) then {["MapClickTeleport",[f_var_mapClickTeleport_textDone]] call BIS_fnc_showNotification};
-
-// HALO - BACKPACK
-// If unit is parajumping, spawn the following code to add a parachute and restore the old backpack after landing
-
-if (f_var_mapClickTeleport_Height > 0) then {
- [_unit] spawn {
- private ["_unit","_bp","_bpi"];
- _unit = _this select 0;
- _bp = backpack _unit;
- _bpi = backPackItems _unit;
-
- removeBackpack _unit;
- _unit addBackpack "B_parachute";
- waitUntil {sleep 0.1;isTouchingGround _unit;};
- if (alive _unit) then {
- removeBackpack _unit;
- _unit addBackPack _bp;
- {
- (unitbackpack _unit) addItemCargoGlobal [_x,1];
- } forEach _bpi;
- };
- };
-};
diff --git a/f/mapClickTeleport/fn_mapClickTeleportParachute.sqf b/f/mapClickTeleport/fn_mapClickTeleportParachute.sqf
new file mode 100644
index 000000000..4a3d5844e
--- /dev/null
+++ b/f/mapClickTeleport/fn_mapClickTeleportParachute.sqf
@@ -0,0 +1,72 @@
+// F3 - Mission Maker Teleport
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// If a vehicle is teleported, a parachute is attached at a given height.
+// If it's a player, a parachute is added as a backacpk.
+// After landing, the old backpack is restored.
+
+params [["_obj", objNull, [objNull]]];
+
+private _heightOpenParachute = 200;
+
+if ( ! (_obj isKindOf "CAManBase") ) then {
+
+ // Set the vehicle up-right to make sure it doesn't drift away too much
+ _obj setVectorUp [0, 0, 1];
+
+ waitUntil { sleep 0.1; getPos _obj select 2 < _heightOpenParachute };
+ _obj engineOn false;
+
+ //Set the vehicle captive to prevent AT units from shooting it down immediately
+ _obj setCaptive true;
+
+ // Create the parachute, and attach the vehicle.
+ private _chute = createVehicle ["B_Parachute_02_F", getPos _obj, [], 0, "NONE"];
+ _chute setDir getDir _obj;
+ _obj attachTo [_chute, [0, 0, 0.2]];
+
+ // Once near the ground, detach the parachute and gently place the vehicle on the ground
+ waitUntil { sleep 0.1; getPos _obj select 2 < 1.5 || {isNull _chute || {! alive _chute}} };
+ _obj allowDamage false;
+ detach _obj;
+ _obj setVectorUp [0, 0, 1];
+ _obj setVelocity [0, 0, -1];
+ _obj setPos [getPos _obj select 0, getPos _obj select 1, 0.5];
+ _obj allowDamage true;
+
+ // Disable captivity to make the vehicles a viable target again
+ _obj setCaptive false;
+
+ // Let the parachute fall down
+ _chute setVelocity [0 - sin windDir * 5, 0 - cos windDir * 5, 0];
+ _chute disableCollisionWith _obj;
+
+ // Wait before removing the parachute, to allow it to die naturally
+ sleep 10;
+ if (!isNull _chute) then {
+ deleteVehicle _chute;
+ };
+
+} else {
+
+ // Save the backpack and its items
+ private _backpack = backpack _obj;
+ private _backpackItems = backPackItems _obj;
+
+ // Replace the backpack with a parachute
+ removeBackpack _obj;
+ _obj addBackpack "B_parachute";
+
+ // Once on the ground, remove the parachute
+ // and re-add the backpack with all its content
+ waitUntil {sleep 0.1; isTouchingGround _obj};
+ if (alive _obj) then {
+ removeBackpack _obj;
+ _obj addBackPack _backpack;
+ {
+ (unitbackpack _obj) addItemCargoGlobal [_x,1];
+ } forEach _backpackItems;
+ };
+
+};
diff --git a/f/mapClickTeleport/fn_mapClickTeleportRemoveAction.sqf b/f/mapClickTeleport/fn_mapClickTeleportRemoveAction.sqf
new file mode 100644
index 000000000..f67768277
--- /dev/null
+++ b/f/mapClickTeleport/fn_mapClickTeleportRemoveAction.sqf
@@ -0,0 +1,14 @@
+// F3 - Mission Maker Teleport
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+// REMOVE ACTION
+// Remove the action if we don't have any uses left
+
+if (isNil "f_mapClickTeleportAction") exitWith {};
+
+f_var_mapClickTeleport_Used = f_var_mapClickTeleport_Used + 1;
+
+if (f_var_mapClickTeleport_Uses != 0 && f_var_mapClickTeleport_Used >= f_var_mapClickTeleport_Uses) then {
+ player removeAction f_mapClickTeleportAction;
+};
diff --git a/f/mapClickTeleport/fn_mapClickTeleportSetPos.sqf b/f/mapClickTeleport/fn_mapClickTeleportSetPos.sqf
new file mode 100644
index 000000000..af8c593b2
--- /dev/null
+++ b/f/mapClickTeleport/fn_mapClickTeleportSetPos.sqf
@@ -0,0 +1,71 @@
+// F3 - Mission Maker Teleport
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+// ====================================================================================
+
+// SET KEY VARIABLES
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_pos", [0,0,0], [[]]],
+ ["_height", 0, [0]]
+];
+
+// ====================================================================================
+
+// LOCALITY CHECK
+// The component should not run anywhere else but where the unit is local by default
+// This check is a redundancy to ensure this
+
+if !(local _obj) exitWith {};
+
+// ====================================================================================
+
+// SET DISPERSION
+
+private _dispersion = 100; // The maximum dispersion for units when HALO jumping
+private _dispersionHeight = 15; //The maximum dispersion in height when HALO jumping
+if (_height == 0) then {
+ _dispersion = 10;
+ _dispersionHeight = 0;
+};
+
+// ====================================================================================
+
+// HANDLING VEHICLES
+
+if ( ! (_obj isKindOf "CAManBase") ) then {
+ // Disable dispersion, so that the vehicle can be placed exactly where we want.
+ // e.g. on roads, where no obstacles are in the way.
+ _dispersion = 0;
+
+ if (_height == 0) then {
+ private _emptyPosition = (_pos findEmptyPosition [0, 150, typeOf _obj]);
+ if (count _emptyPosition >= 2) then {
+ _pos = _emptyPosition;
+ }
+ };
+};
+
+// ====================================================================================
+
+// TELEPORT UNITS
+
+// Make sure the _pos array has 3 elements and set the height
+_pos set [2, _height];
+
+_pos = _pos vectorAdd [random _dispersion - random _dispersion, random _dispersion - random _dispersion, random _dispersionHeight - random _dispersionHeight];
+_obj setPos _pos;
+
+// Display a notification that the teleport is done
+// Note: crew on a man returns a single element array containing that man
+["MapClickTeleport",[f_var_mapClickTeleport_textDone]] remoteExecCall ["BIS_fnc_showNotification", (crew _obj) select {isPlayer _x}];
+
+// ====================================================================================
+
+// HALO
+
+// If unit or vehicle is paradropping, a parachute is added
+if (_height > 0) then {
+ [_obj] spawn f_fnc_mapClickTeleportParachute;
+};
diff --git a/f/mapClickTeleport/fn_mapClickTeleportUnit.sqf b/f/mapClickTeleport/fn_mapClickTeleportUnit.sqf
deleted file mode 100644
index 291e619f4..000000000
--- a/f/mapClickTeleport/fn_mapClickTeleportUnit.sqf
+++ /dev/null
@@ -1,91 +0,0 @@
-// F3 - Mission Maker Teleport
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_textSelect","_textDone"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-
-f_telePositionSelected = false;
-if (isNil "f_var_mapClickTeleport_Used") then {f_var_mapClickTeleport_Used = 0};
-
-// ====================================================================================
-
-// TELEPORT FUNCTIONALITY
-// Open the map for the player and display a notification, then set either the player's vehicle
-// or the unit to the new position. If the group needs to be teleported too, set the group's position
-// as well.
-
-["MapClickTeleport",[f_var_mapClickTeleport_textSelect]] call BIS_fnc_showNotification;
-openMap [true, false];
-onMapSingleClick "f_var_mapClickTeleport_telePos = _pos; f_telePositionSelected = true";
-waitUntil {f_telePositionSelected};
-
-// HALO - set height
-// If a HALO height is set, modify the clicked position accordingly
-
-if (f_var_mapClickTeleport_Height != 0) then {
- f_var_mapClickTeleport_telePos = [f_var_mapClickTeleport_telePos select 0,f_var_mapClickTeleport_telePos select 1,f_var_mapClickTeleport_Height];
-};
-
-// Move player
-// If the player is in a vehicle and not HALO-ing, the complete vehicle is moved. Otherwise the player is teleported.
-
-if (vehicle player != player && f_var_mapClickTeleport_Height == 0) then {
- (vehicle player) setPos (f_var_mapClickTeleport_telePos findEmptyPosition [0,150,typeOf (vehicle player)]);
-} else {
- player setPos f_var_mapClickTeleport_telePos;
-};
-
-// Move group
-// If enabled, the player's group is moved next to him
-
-if (f_var_mapClickTeleport_GroupTeleport) then {
- sleep 0.1;
- {
- [[_x,f_var_mapClickTeleport_telePos],"f_fnc_mapClickTeleportGroup",_x] spawn BIS_fnc_MP;
- } forEach ((units group player) - [player]);
-};
-
-openMap false;
-
-["MapClickTeleport",[f_var_mapClickTeleport_textDone]] call BIS_fnc_showNotification;
-
-// ====================================================================================
-
-// HALO functionality
-// If the players are parajumping spawn the following code to add a backpack and restore the old backpack on landing
-
-if (f_var_mapClickTeleport_Height > 0) then {
- [player] spawn {
- private ["_unit","_bp","_bpi"];
- _unit = _this select 0;
- _bp = backpack _unit;
- _bpi = backPackItems _unit;
-
- removeBackpack _unit;
- _unit addBackpack "B_parachute";
- waitUntil {sleep 0.1;isTouchingGround _unit;};
- removeBackpack _unit;
- _unit addBackPack _bp;
- {
- (unitbackpack _unit) addItemCargoGlobal [_x,1];
- } forEach _bpi;
- };
-};
-
-// ====================================================================================
-
-// REMOVE AND READ ACTION
-// Remove the action and re-add if we have uses left (or if they are infinite)
-
-player removeAction f_mapClickTeleportAction;
-f_var_mapClickTeleport_Used = f_var_mapClickTeleport_Used + 1;
-
-if (f_var_mapClickTeleport_Uses == 0 || f_var_mapClickTeleport_Used < f_var_mapClickTeleport_Uses) then {
- f_mapClickTeleportAction = player addaction [f_var_mapClickTeleport_textAction,{[] spawn f_fnc_mapClickTeleportUnit},"", 0, false,true,"","_this == player"];
-};
diff --git a/f/medical/AGM_clientInit.sqf b/f/medical/AGM_clientInit.sqf
deleted file mode 100644
index 07ab377e1..000000000
--- a/f/medical/AGM_clientInit.sqf
+++ /dev/null
@@ -1,37 +0,0 @@
-// F3 - AGM Clientside Initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// Wait for gear assignation to take place
-waitUntil{(player getVariable ["f_var_assignGear_done", false])};
-
-private "_typeOfUnit";
-
-_typeOfUnit = player getVariable "f_var_assignGear";
-
-// Remove pre-assigned medical items
-{player removeItems _x} forEach ["FirstAidKit","Medikit","AGM_Bandage","AGM_Morphine","AGM_Epipen","AGM_Bloodbag"];
-
-// Add basic items to all units
-player addItem "AGM_EarBuds";
-{player addItem "AGM_Bandage"} forEach [1,2,3,4,5];
-player addItem "AGM_Morphine";
-
-if (_typeOfUnit == "m") then
-{
-
- // BACKPACK: LIGHT
- if (f_param_backpacks <= 1) then {
- (unitBackpack player) addItemCargoGlobal ["AGM_Bandage", 15];
- (unitBackpack player) addItemCargoGlobal ["AGM_Morphine", 10];
- (unitBackpack player) addItemCargoGlobal ["AGM_Epipen", 10];
- (unitBackpack player) addItemCargoGlobal ["AGM_Bloodbag", 2];
- };
- // BACKPACK: HEAVY
- if (f_param_backpacks == 2) then {
- (unitBackpack player) addItemCargoGlobal ["AGM_Bandage", 25];
- (unitBackpack player) addItemCargoGlobal ["AGM_Morphine", 15];
- (unitBackpack player) addItemCargoGlobal ["AGM_Epipen", 15];
- (unitBackpack player) addItemCargoGlobal ["AGM_Bloodbag", 4];
- };
-};
diff --git a/f/medical/AGM_converter.sqf b/f/medical/AGM_converter.sqf
deleted file mode 100644
index 9c0100e2e..000000000
--- a/f/medical/AGM_converter.sqf
+++ /dev/null
@@ -1,66 +0,0 @@
-// F3 - Medical Systems AGM Converter
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-private ["_unit","_itemCargoList","_cntFAK","_cntMediKit"];
-
-// ====================================================================================
-
-// DETECT CRATE TYPE
-
-_unit = _this select 0;
-
-// ====================================================================================
-
-// COUNT AMOUNT OF FAKS AND MEDIKITS
-
-_itemCargoList = itemCargo _unit;
-_cntFAK = {_x == "FirstAidKit"} count _itemCargoList;
-_cntMediKit = {_x == "MediKit"} count _itemCargoList;
-
-// ====================================================================================
-
-// REMOVE ALL VANILLA ITEMS
-
-{
- if (_x == "FirstAidKit" || {_x == "Medikit"}) then {
- _itemCargoList = _itemCargoList - [_x];
- };
-} forEach _itemCargoList;
-
-clearItemCargoGlobal _unit;
-
-{
- _unit addItemCargoGlobal [_x,1];
-} forEach _itemCargoList;
-
-// ====================================================================================
-
-// ADD BACK AGM ITEMS FOR REMOVED VANILLA ITEMS
-
-_unit addItemCargoGlobal ["AGM_Bandage", (_cntFAK * 5)];
-
-if (_cntFAK <= 25 && _cntMediKit == 0 ) then // Fireteam sized cargo
- {
- _unit addItemCargoGlobal ["AGM_Bandage", 10];
- _unit addItemCargoGlobal ["AGM_Morphine", 5];
- };
-
-if (_cntFAK <= 25 && {_cntMediKit == 1}) then // Squad sized cargo
- {
- // Add items for 1 medic
- _unit addItemCargoGlobal ["AGM_Bandage", 15];
- _unit addItemCargoGlobal ["AGM_Morphine", 10];
- _unit addItemCargoGlobal ["AGM_Epipen", 10];
- _unit addItemCargoGlobal ["AGM_Bloodbag", 3];
- };
-
-if (_cntFAK > 50 || {_cntMediKit > 1}) then // Platoon sized Cargo
- {
- // Add items for 4 medics
- _unit addItemCargoGlobal ["AGM_Bandage", 45];
- _unit addItemCargoGlobal ["AGM_Morphine", 30];
- _unit addItemCargoGlobal ["AGM_Epipen", 30];
- _unit addItemCargoGlobal ["AGM_Bloodbag", 9];
- };
diff --git a/f/medical/f_clsEH.sqf b/f/medical/f_clsEH.sqf
new file mode 100644
index 000000000..d6c374f6d
--- /dev/null
+++ b/f/medical/f_clsEH.sqf
@@ -0,0 +1,55 @@
+// FA3 - Combat Life Saver Event Handler
+// This component adds an event handler for use with the Combat Life Saver assignGear class. Units with the f3_cls trait can provide full heals using FAKs.
+// Enable this component in init.sqf
+// For credits and more information see https://github.com/folkarps/F3/wiki
+
+// Make sure the player is initialised
+if (!isDedicated && (isNull player)) then
+{
+ waitUntil {sleep 0.1; !isNull player};
+};
+
+// Make sure the player can be broadcast properly
+_unit = player;
+
+// Add the EH
+[_unit, ["HandleHeal", {
+ _this spawn {
+ params ["_injured", "_healer","_isMedic"];
+
+
+
+ // Check whether the person healing the player is a CLS
+ if (_healer getUnitTrait "f3_cls") then {
+
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f_clsEH.sqf): %1 is CLS healing %2",(name _healer),(name _injured)];
+ };
+
+ // Wait until the standard heal has been applied, or a timeout happens
+ _timeout = (time + 20);
+ waitUntil {(damage _injured <= 0.2501) or (time > _timeout)};
+
+ // If it timed out, exit with nothing but a debug message
+ if (time > _timeout) exitWith {
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f_clsEH.sqf): Heal on %1 timed out without completing",(name _injured)];
+ };
+ };
+
+ // If the heal was successful, make it a full heal
+ _injured setDamage 0;
+
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ player sideChat format ["DEBUG (f_clsEH.sqf): %1 healed to %2 damage",(name _injured),(damage _injured)];
+ };
+ };
+ };
+// Upon initialising, the player broadcasts an instruction to all connected clients, including themselves, to add the EH on the broadcasting player.
+// This instruction is added to the JIP queue, so any player joining in progress automatically receives the instructions from all existing players - and then broadcasts their own instruction.
+}]] remoteExec ["addEventHandler",0,_unit];
diff --git a/f/medical/fn_addDragAction.sqf b/f/medical/fn_addDragAction.sqf
new file mode 100644
index 000000000..e8bcbfaa3
--- /dev/null
+++ b/f/medical/fn_addDragAction.sqf
@@ -0,0 +1,45 @@
+#include "\a3\functions_f_mp_mark\Revive\defines.inc"
+
+params ["_unit"];
+
+if (!hasInterface) exitWith {};
+waitUntil {sleep 0.1; !isNull player};
+if (_unit == player) exitWith {};
+if (_unit getVariable ["#revDragId", -1] != -1) exitWith {};
+
+private _drag_action_cond = str {
+ //_target (object to which action is attached to)
+ // _this (caller/executing person)
+ _target distance _this < 2 && {
+ GET_STATE(_target) == STATE_INCAPACITATED && {
+ !(_target getVariable ['f_wound_being_dragged',false])
+ }
+ }
+};
+//hacky method to remove the braces at the beginning and end, so that it's the format that addAction expects.
+_drag_action_cond = _drag_action_cond select [1, count _drag_action_cond - 2];
+
+private _drag_exec_code = {
+ params [
+ ["_target", objNull, [objNull]],
+ ["_caller", objNull, [objNull]],
+ ["_ID", -1, [0]],
+ ["_arguments", nil]
+ ];
+ _this remoteExec ["f_fnc_OnDrag", [_caller]]; //Dragger
+ _this remoteExec ["f_fnc_OnDrag", [_target]]; //Target
+};
+
+private _resultId = _unit addAction [
+ format ["Drag %1", name _unit],
+
+ // "_this" variable (in the code below) is: [target, caller, ID, arguments]
+ _drag_exec_code,
+ nil,
+ 6,
+ false,
+ true,
+ "",
+ _drag_action_cond
+];
+_unit setVariable ['#revDragId', _resultId];
diff --git a/f/medical/fn_onDrag.sqf b/f/medical/fn_onDrag.sqf
new file mode 100644
index 000000000..3c339d27c
--- /dev/null
+++ b/f/medical/fn_onDrag.sqf
@@ -0,0 +1,74 @@
+#include "\a3\functions_f_mp_mark\Revive\defines.inc"
+
+params ["_unit", "_dragger"];
+
+private _actionIdx = -1; //only relevant for dragger
+private _isDragger = local _dragger;
+
+if (f_param_debugMode == 1) then {
+ diag_log format ["%2 drag on %1, being dragged by %2", _unit, _dragger, ["receiving", "activating"] select _isDragger];
+};
+
+if (_isDragger) then {
+ // the dragger gets a release option.
+ _actionIdx = _dragger addAction [format["Release %1",name _unit],{
+ params [
+ ["_target", objNull, [objNull]],
+ ["_caller", objNull, [objNull]],
+ ["_ID", -1, [0]],
+ ["_arguments", nil]
+ ];
+ _caller setVariable ["f_wound_dragging",nil,true];
+ }, nil, 6, false, true, "", "true"];
+ _dragger playMoveNow "AcinPknlMstpSnonWnonDnon";
+} else {
+ _unit attachTo [_dragger, [0, 1.1, 0.092]];
+ _unit setDir 180;
+ _unit setPos getPos _unit;
+};
+//setting these here to prevent race cconditions
+//although there will be a race condition between the 2 different execs, if the waitUntil
+//on the target finishes before we reach here (at the dragger), which really should never happen.
+_dragger setVariable ["f_wound_dragging", _unit, false];
+_unit setVariable ["f_wound_being_dragged", true, false];
+
+// Wait until the unit is released, dead, downed, or revived)
+private _dragged_unit = nil;
+waitUntil {
+ sleep 0.1;
+ _dragged_unit = _dragger getVariable ["f_wound_dragging",nil];
+ (
+ isNil "_dragged_unit" //unit is released
+ || !(_unit getVariable ["f_wound_being_dragged", false])
+ || GET_STATE(_unit) != STATE_INCAPACITATED // unit isn't incapacitated anymore
+ || GET_STATE(_dragger) == STATE_INCAPACITATED // dragger is incapacitated
+ || IS_BEING_REVIVED(_unit) // someone else is reviving the unit
+ || !alive _unit
+ || !alive _dragger
+ || !(isPlayer _dragger)
+ || !(isPlayer _unit)
+ || (vehicle _dragger != _dragger)
+ )
+};
+
+if (_isDragger) then {
+ detach _unit;
+};
+
+_dragger setVariable ["f_wound_dragging", nil, true];
+_unit setVariable ["f_wound_being_dragged", false, true];
+
+if (f_param_debugMode == 1) then {
+ diag_log format ["releasing unit on %1", ["target", "dragger"] select _isDragger];
+};
+
+if (_isDragger) then {
+ if( GET_STATE(_dragger) == STATE_INCAPACITATED) then {
+ _dragger switchMove ANIM_WOUNDED;
+ } else {
+ if(vehicle _dragger == _dragger) then {
+ _dragger switchMove "";
+ }
+ };
+ _dragger removeAction _actionIdx;
+};
diff --git a/f/medical/init.sqf b/f/medical/init.sqf
new file mode 100644
index 000000000..468626596
--- /dev/null
+++ b/f/medical/init.sqf
@@ -0,0 +1,66 @@
+// FA3 - Wounding System
+// Uses the standard Arma 3 revive system with a few modifications:
+// - Restores vanilla behaviour of FAKs and medkits
+// - Reviving no only heals a player as much as a FAK
+// - Removes the "Force Respawn"
+// - Downed players can be dragged
+
+// ====================================================================================
+
+// Allow access to the standard Arma 3 revive system macros
+#include "\a3\functions_f_mp_mark\Revive\defines.inc"
+
+if (!hasInterface) exitWith {};
+
+// Remove the HandleHeal event handler to restore vanilla behaviour of FAKs and medkits
+[] spawn {
+ // Wait until the event handler has been set
+ waitUntil {sleep 1; (player getVariable ["bis_revive_ehHandleHeal", -1]) != -1};
+
+ // Remove the event handler and unset the variable
+ player removeEventHandler ["HandleHeal", player getVariable "bis_revive_ehHandleHeal"];
+ player setVariable ["bis_revive_ehHandleHeal", nil];
+};
+
+// Make revives only heal the player to the level of a AFK
+// More accurately, damage the player a little once they are revived
+[] spawn {
+ while {true} do {
+ // Wait until the player is downed and being revived
+ waitUntil {sleep 1;IS_DISABLED(player) && {IS_BEING_REVIVED(player)}};
+
+ // Wait until the player has been revived
+ // This is a busy wait to ensure the reset is being done as soon as the reset as possible
+ waitUntil {IS_ACTIVE(player)};
+
+ // Put damage down to FAK levels
+ player setDamage 0.25;
+ };
+};
+
+// Remove the "Force Respawn" hold-action
+[] spawn {
+ while {true} do {
+ // Wait until the player is downed and being revived
+ waitUntil {sleep 1; IS_DISABLED(player)};
+
+ // Wait until the "Force Respawn" hold-action has been defined
+ // This is a busy wait to ensure the action is removed as soon as possible
+ waitUntil {(player getVariable [VAR_ACTION_ID_RESPAWN,-1]) != -1};
+
+ // Remove the hold-action
+ [player, (player getVariable [VAR_ACTION_ID_RESPAWN,-1])] call bis_fnc_holdActionRemove;
+
+ // Reset 'forcing respawn' flags incase the player started the action before it was removed
+ if (IS_FORCING_RESPAWN(player)) then {
+ SET_FORCING_RESPAWN(player, false);
+ };
+
+ // Wait until the player's state changes
+ private _prevState = GET_STATE(player);
+ waitUntil{sleep 1; GET_STATE(player) != _prevState};
+ };
+};
+
+// Make downed players draggable
+[player] remoteExec ["f_fnc_addDragAction", 0, player];
diff --git a/f/medical/medical_init.sqf b/f/medical/medical_init.sqf
deleted file mode 100644
index 8cc12fbfd..000000000
--- a/f/medical/medical_init.sqf
+++ /dev/null
@@ -1,32 +0,0 @@
-// F3 - Medical Systems Support initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RUN RELEVANT SCRIPTS, DEPENDING ON SYSTEM IN USE
-// Each medical modification requires a different set of scripts to be used, and so we
-// split into a separate script file for initialisation of each mod.
-
-// Check which system to use
-call
-{
- // If 0 do nothing (Default Arma Healing)
-
- // F3 Simple Wounding System
- if (f_param_medical == 1) exitWith
- {
- // If script is being run on a client
- if (hasInterface) then
- {
- [player] execVM "f\simplewoundingsystem\init.sqf";
- };
- };
- // Authentic Gameplay Modification
- if (f_param_medical == 2) exitWith
- {
- // If script is being run on a client
- if (hasInterface) then
- {
- [] execVM "f\medical\AGM_clientInit.sqf";
- };
- };
-};
\ No newline at end of file
diff --git a/f/missionConditions/f_conditionNotes.sqf b/f/missionConditions/f_conditionNotes.sqf
new file mode 100644
index 000000000..8958a26d1
--- /dev/null
+++ b/f/missionConditions/f_conditionNotes.sqf
@@ -0,0 +1,74 @@
+// F3 - Mission Condition briefing notes
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+f_var_conditions_params params ["_date","_overcast","_rain","_lightnings","_waves","_wind","_fogParams"];
+
+private _diaryText = "";
+
+// Start time & date
+private _diaryText = _diaryText + format ["Mission start time: %1:%2
",
+ (if (_date#3 >=10) then {""} else {"0"}) + str (_date#3),
+ (if (_date#4 >=10) then {""} else {"0"}) + str (_date#4)];
+
+_diaryText = _diaryText + format ["Mission date: %1 %2 %3
",
+ _date#0,
+ ["","January","February","March","April","May","June","July","August","September","October","November","December"] select (_date#1),
+ _date#2];
+
+
+// Weather
+private _overCastText = "Overcast";
+if (_overcast < .8) then {_overCastText = "Mostly Cloudy"};
+if (_overcast < .5) then {_overCastText = "Partly Cloudy"};
+if (_overcast < .13) then {_overCastText = "Clear"};
+
+private _rainText = "Heavy Rain";
+if (_rain < .65) then { _rainText = "Rain" };
+if (_rain < .3) then { _rainText = "Light Rain" };
+if (_rain < .01 || _overcast < .5) then { _rainText = "No Precipitation" }; // rain doesn't do anything below .5 overcast
+if (rainParams select 15 && {_rain > 0 && _overcast >= .5}) then {_rainText = "Snow"};
+
+_diaryText = _diaryText + format ["Weather
%1 | %2
",_overCastText,_rainText];
+
+
+// Wind and fog
+private _windText = "High Winds";
+if (_wind < .5) then {_windText = "Windy"; };
+if (_wind < .3) then {_windText = "Light Winds"; };
+private _windDirText = ["N","NE","E","SE","S","SW","W","NW"] select floor abs (((windDir+22.5) % 360)/45);
+
+_diaryText = _diaryText + format ["%1 (%2kt %3)
",_windText,_wind*13.6 toFixed 1,_windDirText];
+
+private _fogText = "No Visibility";
+if (_fogParams#0 < .8) then {_fogText = "Heavy Fog"};
+if (_fogParams#0 < .5) then {_fogText = "Foggy"};
+if (_fogParams#0 < .2) then {_fogText = "Misty"};
+if (_fogParams#0 < .01) then {_fogText = "Good Visibility"};
+if (_fogParams#1 > 0) then {
+ _fogText = _fogText + format [" (at %1m ASL)",_fogParams#2 toFixed 0];
+};
+
+_diaryText = _diaryText + format ["%1
",_fogText];
+
+
+// Astronomical info
+private _moonPhase = moonPhase _date;
+private _moonText = "Full";
+if (_moonPhase < .875) then { _moonText = "Gibbous"; };
+if (_moonPhase < .625) then { _moonText = "Quarter"; };
+if (_moonPhase < .375) then { _moonText = "Crescent"; };
+if (_moonPhase < .125) then { _moonText = "New"; };
+
+private _sunriseSunset = _date call BIS_fnc_sunriseSunsetTime apply {
+ if (! (_x in [0,-1]) ) then { // probably unnecessary polar handling
+ [_x,"HH:MM"] call BIS_fnc_timeToString;
+ };
+};
+
+_diaryText = _diaryText + format ["
Moon Phase: %1
Sunrise: %2 | Sunset: %3",_moonText,_sunriseSunset#0,_sunriseSunset#1];
+
+
+// Insert final result into briefing
+waitUntil {scriptDone f_script_briefing};
+player createDiaryRecord ["diary", ["Mission Conditions", _diaryText]];
diff --git a/f/missionConditions/f_setMissionConditions.sqf b/f/missionConditions/f_setMissionConditions.sqf
index ffffd3fc9..bbb8bdccd 100644
--- a/f/missionConditions/f_setMissionConditions.sqf
+++ b/f/missionConditions/f_setMissionConditions.sqf
@@ -1,25 +1,62 @@
// F3 - Mission Conditions
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-// SCRIPT SHOULD ONLY RUN ON SERVER
-
-if (!isServer) exitWith {};
+// SET CONDITIONS
+// Set the mission conditions (weather and time) according to params.
+
+// ONLY SET CONDITIONS ON THE SERVER
+if (isServer) then {
+ private _weatherParams = [f_param_weather, f_param_fog == 4, f_param_wind == 4] call f_fnc_setWeather;
+ if (isNil "_weatherParams") then {
+ f_var_conditions_params = [date, overcast, rain, lightnings, waves, windStr, fogParams];
+ } else {
+ f_var_conditions_params = [date] + _weatherParams;
+ };
+
+ // Fix for date sometimes returning wrong minute
+ f_var_conditions_params#0 set [3,floor (dayTime + (.5/60))];
+ f_var_conditions_params#0 set [4,floor ((dayTime%1)*60+.5)];
+
+ private _fogParams = [f_param_fog] call f_fnc_setFog;
+ if (!isNil "_fogParams") then {
+ f_var_conditions_params set [6,_fogParams];
+ };
+
+ private _windParams = [f_param_wind] call f_fnc_setWind;
+ if (!isNil "_windParams") then {
+ f_var_conditions_params set [5,_windParams];
+ };
+
+ private _dateParams = [f_param_timeOfDay,f_param_timeOfYear] call f_fnc_setTime;
+ if (!isNil "_dateParams") then {
+ f_var_conditions_params set [0,_dateParams];
+ };
+
+ // STORE CONDITIONS PARAMETERS
+ // Store all starting mission condition parameters in a global variable for later reference
+ // array format - [[year,month,day,hour,minute],overcast,rain,lightnings,waves,windStr,[fogStr,fogDecay,fogBase]]
+ publicVariable "f_var_conditions_params";
+};
// ====================================================================================
-// SET WEATHER
-// Set the mission weather according to params. If the fog and wind override params
-// are set, then prevent setWeather from setting them and set them manually instead.
-[f_param_weather,f_param_fog == 4,f_param_wind == 4] call f_fnc_setWeather;
+// RUN CONDITIONS BRIEFING AND COLD BREATH ON CLIENTS ONLY
+if (hasInterface) then {
+ // Wait until server publishes the mission conditions
+ waitUntil {!isNil "f_var_conditions_params"};
-if (f_param_fog != 4) then {
- [f_param_fog] call f_fnc_setFog;
-};
+ // GENERATE CONDITION NOTES
+ // Adds a briefing entry that summarizes the mission conditions
+ [] execVM "f\missionConditions\f_conditionNotes.sqf";
-if (f_param_wind != 4) then {
- [f_param_wind] call f_fnc_setWind;
-};
+ // Wait until the mission has started - ambient temperature takes a tick to update
+ sleep 0.1;
-// ====================================================================================
+ // COLD BREATH
+ // Cold breath particle spawner for if it's snowing, or in low ambient temperatures
+ if (rainParams select 15 || (ambientTemperature select 0) < 6) then {
+ [] spawn f_fnc_coldBreath;
+ };
+};
diff --git a/f/missionConditions/fn_ColdBreath.sqf b/f/missionConditions/fn_ColdBreath.sqf
new file mode 100644
index 000000000..26b06e7ac
--- /dev/null
+++ b/f/missionConditions/fn_ColdBreath.sqf
@@ -0,0 +1,19 @@
+// F3 - Cold Breath
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+{
+ _x spawn {
+ while {alive _this} do {
+ sleep (4*(1 - getFatigue _this) + random 1);
+ drop [["\A3\data_f\ParticleEffects\Universal\Universal", 16, 12, 8,1], "", "Billboard", 1,
+ (1-((vectorMagnitude velocity _this) / 35)) *.75 max .05,
+ _this selectionPosition "Head" vectorAdd [0,.02,0],
+ velocityModelSpace _this vectorAdd [0, .1, 0], 1, 1.3, 1, .01, [.1,.25,.33,.4], [[1, 1, 1, 0.25],[1, 1, 1, 0]], [1], 1, 0, "", "", _this];
+ drop [["\A3\data_f\ParticleEffects\Universal\Universal", 16, 12, 8,1], "", "Billboard", 1,
+ (1-((vectorMagnitude velocity _this) / 35)) *.75 max .05,
+ _this selectionPosition "Head" vectorAdd [0,.02,0],
+ velocityModelSpace _this vectorAdd [0, .15, 0], 1, 1.3, 1, .01, [.1,.22,.3,.35], [[1, 1, 1, 0.25],[1, 1, 1, 0]], [1], 1, 0, "", "", _this];
+ };
+ };
+} forEach allUnits;
diff --git a/f/missionConditions/fn_SetFog.sqf b/f/missionConditions/fn_SetFog.sqf
index 0423466e2..60f8c35a0 100644
--- a/f/missionConditions/fn_SetFog.sqf
+++ b/f/missionConditions/fn_SetFog.sqf
@@ -1,22 +1,24 @@
// F3 - SetFog
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_fog","_strength","_decay","_base"];
+private ["_strength","_decay","_base"];
// ====================================================================================
// SET KEY VARIABLES
// We interpret the values parsed to the script. If the function was called from the parameters those values are used.
-_fog = _this select 0;
+params [
+ ["_fog", 4, [0]],
+ ["_transition", 0, [0]]
+];
// Exit when using mission settings
if ( _fog == 4 ) exitWith {};
-_transition = if (count _this > 1) then {_this select 1} else {0};
_strength = 0; // Value for fog at base level
_decay = 0; // Decay of fog density with altitude. If set to 0 fog strength is consistent throughout.
@@ -63,4 +65,5 @@ _transition setFog [_strength,_decay,_base];
// ====================================================================================
-
+// RETURN FOG PARAMS
+[_strength,_decay,_base]
diff --git a/f/missionConditions/fn_SetTime.sqf b/f/missionConditions/fn_SetTime.sqf
index 59bf01ebc..701fad7a1 100644
--- a/f/missionConditions/fn_SetTime.sqf
+++ b/f/missionConditions/fn_SetTime.sqf
@@ -1,5 +1,5 @@
// F3 - SetTime
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// RUN ONLY ON THE SERVER
@@ -8,29 +8,84 @@ if !(isServer) exitWith {};
// DECLARE VARIABLES AND FUNCTIONS
-private ["_timeOfDay","_year","_month","_day","_hour","_minute","_transition","_sunsetSunrise","_sunriseSunsetExists","_sunrise","_sunset","_addTime","_time"];
+private ["_year","_month","_day","_hour","_minute","_transition","_sunsetSunrise","_sunriseSunsetExists","_sunrise","_sunset","_addTime","_time","_date","_utmZone","_hemisphere"];
// ====================================================================================
// SET KEY VARIABLES
// We interpret the values parsed to the script. If the function was called from the parameters those values are used.
-_timeOfDay = _this select 0;
+params [
+ ["_timeOfDay", 8, [0]],
+ ["_timeOfYear", 4, [0]]
+];
// Exit when using mission settings
-if ( _timeOfDay == 8 ) exitWith {};
+if (_timeOfDay == 8 && _timeOfYear == 4) exitWith {};
// ====================================================================================
-// SET DEFAULT VALUES
-// The default values that together form the in-game date are set.
+// GET DEFAULT VALUES
+// Grab the mission's current date and time.
-_year = 2030;
-_month = 6;
-_day = 16;
-_hour = 0;
-_minute = 0;
+date params ["_year", "_month", "_day", "_hour", "_minute"];
+
+// ====================================================================================
+
+// GET HEMISPHERE SO WE CAN SET THE CORRECT MONTH FOR EACH SEASON
+_utmZone = ((getarray (configfile >> "cfgworlds" >> worldname >> "mapArea")) call bis_fnc_posDegToUTM) select 2;
+// If UTM is negative, we're in the southern hemisphere
+_hemisphere = (_utmZone < 0);
+
+// SELECT MISSION TIME OF YEAR
+// Using the value of _timeOfYear, we define new values for _month and _day. Values set based on in-game solstices/exquinoxes
+
+switch (_timeOfYear) do
+{
+// Spring
+ case 0:
+ {
+ if (_hemisphere) then {
+ _day = 21;
+ _month = 9;
+ } else {
+ _day = 23;
+ _month = 3;
+ };
+ };
+// Summer
+ case 1:
+ {
+ _day = 21;
+ if (_hemisphere) then {
+ _month = 12;
+ } else {
+ _month = 6;
+ };
+ };
+// Autumn
+ case 2:
+ {
+ if (_hemisphere) then {
+ _day = 23;
+ _month = 3;
+ } else {
+ _day = 21;
+ _month = 9;
+ };
+ };
+// Winter
+ case 3:
+ {
+ _day = 21;
+ if (_hemisphere) then {
+ _month = 6;
+ } else {
+ _month = 12;
+ };
+ };
+};
// ====================================================================================
@@ -44,18 +99,18 @@ _sunset = [floor (_sunsetSunrise select 1), floor (((_sunsetSunrise select 1) %
// function for correcting adding hours and minutes to hours and minutes
_addTime = {
- params ["_time1","_time2"];
- _result = [_time1,_time2] call BIS_fnc_vectorAdd;
- while { _result select 1 > 60 } do { // convert extra minutes into hours
- _result set [1,(_result select 1) - 60];
- _result set [0,(_result select 0) + 1];
- };
- // make sure hour is in range [0,23]
- _result set [0,(_result select 0) % 24];
- if (_result select 0 < 0) then {
- _result set [0,(_result select 0) + 24];
- };
- _result
+ params [
+ ["_time1", [], [[]], 2],
+ ["_time2", [], [[]], 2]
+ ];
+ private _result = [_time1#0 + _time2#0,_time1#1 + _time2#1];
+
+ private _extraHours = floor (_result#1 / 60);
+ _result = [(_result#0 + _extraHours) % 24,_result#1 - 60*_extraHours];
+
+ if (_result#0 < 0) then { _result = [_result#0 + 24,_result#1] };
+
+ _result
};
// ====================================================================================
@@ -168,3 +223,6 @@ _date = [_year,_month,_day,_hour,_minute];
[_date,true,_transition] call BIS_fnc_setDate;
// ====================================================================================
+
+// RETURN DATE
+_date
diff --git a/f/missionConditions/fn_SetWeather.sqf b/f/missionConditions/fn_SetWeather.sqf
index 8d3714dc0..3890e64d3 100644
--- a/f/missionConditions/fn_SetWeather.sqf
+++ b/f/missionConditions/fn_SetWeather.sqf
@@ -1,22 +1,27 @@
// F3 - SetWeather
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_missionOvercast","_MissionRain","_MissionRainbow","_MissionLightnings","_MissionWindStr","_MissionWindGusts","_MissionWaves","_MissionHumidity"];
+private ["_missionOvercast","_MissionRain","_MissionRainbow","_MissionLightnings","_MissionWindStr","_MissionWindGusts","_MissionWaves","_MissionFogStrength","_MissionFogDecay","_MissionFogBase"];
// ====================================================================================
// SET KEY VARIABLES
// We interpret the values parsed to the script. If the function was called from the parameters those values are used.
-params [["_weather",9,[0]],["_setFog",true,[true]],["_setWind",true,[true]]];
+// _setFog can be a Number for legacy calls
+params [["_weather",11,[0]],["_setFog",true,[true,0]],["_setWind",true,[true]],["_transition",0,[0]]];
// Exit when using mission settings
-if ( _weather == 9 ) exitWith {};
+if (_weather == 11) exitWith {};
-_transition = if (count _this > 1) then {_this select 1} else {false};
+// Support for legacy transition call
+if (_setFog isEqualType 0) then {
+ _transition = _setFog;
+ _setFog = true;
+};
_MissionOvercast = 0;
_MissionRain = 0;
@@ -25,7 +30,6 @@ _MissionLightnings = 0;
_MissionWindStr = 0.01;
_MissionWindGusts = 0.01;
_MissionWaves = 0;
-_MissionHumidity = 0;
_MissionFogStrength = 0;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -47,7 +51,6 @@ switch (_weather) do
_MissionWindStr = 0.01;
_MissionWindGusts = 0.01;
_MissionWaves = 0;
- _MissionHumidity = 0;
_MissionFogStrength = 0;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -62,7 +65,6 @@ switch (_weather) do
_MissionWindStr = 0.2;
_MissionWindGusts = 0.2;
_MissionWaves = 0.3;
- _MissionHumidity = 0.2;
_MissionFogStrength = 0;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -77,7 +79,6 @@ switch (_weather) do
_MissionWindStr = 0.25;
_MissionWindGusts = 0.25;
_MissionWaves = 0.5;
- _MissionHumidity = 0.2;
_MissionFogStrength = 0;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -92,7 +93,6 @@ switch (_weather) do
_MissionWindStr = 0.25;
_MissionWindGusts = 0.25;
_MissionWaves = 0.5;
- _MissionHumidity = 0.2;
_MissionFogStrength = 0;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -107,7 +107,6 @@ switch (_weather) do
_MissionWindStr = 0.1;
_MissionWindGusts = 0.1;
_MissionWaves = 0.25;
- _MissionHumidity = 0.2;
_MissionFogStrength = 0.5;
_MissionFogDecay = 0;
_MissionFogBase = 0;
@@ -122,9 +121,8 @@ switch (_weather) do
_MissionWindStr = 0.2;
_MissionWindGusts = 0.2;
_MissionWaves = 0.5;
- _MissionHumidity = 0.2;
_MissionFogStrength = 0.03;
- _MissionFogDecay = 0;
+ _MissionFogDecay = 0.002;
_MissionFogBase = 0;
};
// Light Rain
@@ -137,9 +135,8 @@ switch (_weather) do
_MissionWindStr = 0.25;
_MissionWindGusts = 0.25;
_MissionWaves = 0.5;
- _MissionHumidity = 0.9;
- _MissionFogStrength = 0.07;
- _MissionFogDecay = 0;
+ _MissionFogStrength = 0.04;
+ _MissionFogDecay = 0.002;
_MissionFogBase = 0;
};
// Heavy Rain
@@ -152,9 +149,8 @@ switch (_weather) do
_MissionWindStr = 0.4;
_MissionWindGusts = 0.4;
_MissionWaves = 0.8;
- _MissionHumidity = 0.9;
- _MissionFogStrength = 0.15;
- _MissionFogDecay = 0;
+ _MissionFogStrength = 0.04;
+ _MissionFogDecay = 0.002;
_MissionFogBase = 0;
};
// Storm
@@ -167,10 +163,81 @@ switch (_weather) do
_MissionWindStr = 0.75;
_MissionWindGusts = 1;
_MissionWaves = 1;
- _MissionHumidity = 1;
+ _MissionFogStrength = 0.05;
+ _MissionFogDecay = 0.002;
+ _MissionFogBase = 0;
+ };
+// Light Snow
+ case 9:
+ {
+ _MissionOvercast = 0.8;
+ _MissionRain = 0.5;
+ _MissionRainbow = 0;
+ _MissionLightnings = 0;
+ _MissionWindStr = 0.05;
+ _MissionWindGusts = 0.05;
+ _MissionWaves = 0.1;
+ _MissionFogStrength = 0.15;
+ _MissionFogDecay = 0.002;
+ _MissionFogBase = 0;
+ [
+ "a3\data_f\snowflake16_ca.paa", // rainDropTexture
+ 16, // texDropCount
+ 0.01, // minRainDensity
+ 40, // effectRadius - decreases density as turned up
+ 0.5, // windCoef
+ 2.1, // dropSpeed
+ 0.5, // rndSpeed
+ 0.5, // rndDir
+ 0.06, // dropWidth
+ 0.06, // dropHeight
+ [1, 1, 1, 1.25], // dropColor
+ 0.1, // lumSunFront
+ 0.2, // lumSunBack
+ 0.5, // refractCoef
+ 0.5, // refractSaturation
+ true, // snow
+ false // dropColorStrong
+ ]
+ call BIS_fnc_setRain;
+ setHumidity 0.9; // no dust clouds, has to be set manually because snow-flagged rain doesn't automatically increase humidity
+ enableEnvironment [false, true]; // remove wildlife
+ };
+// Heavy Snow
+ case 10:
+ {
+ _MissionOvercast = 1;
+ _MissionRain = 1;
+ _MissionRainbow = 0;
+ _MissionLightnings = 0;
+ _MissionWindStr = 0.15;
+ _MissionWindGusts = 0.1;
+ _MissionWaves = 0.2;
_MissionFogStrength = 0.3;
- _MissionFogDecay = 0;
+ _MissionFogDecay = 0.002;
_MissionFogBase = 0;
+ [
+ "a3\data_f\snowflake16_ca.paa", // rainDropTexture
+ 16, // texDropCount
+ 0.01, // minRainDensity
+ 30, // effectRadius - decreases density as turned up
+ 0.5, // windCoef
+ 2.1, // dropSpeed
+ 0.5, // rndSpeed
+ 0.5, // rndDir
+ 0.065, // dropWidth
+ 0.065, // dropHeight
+ [1, 1, 1, 1.25], // dropColor
+ 0.1, // lumSunFront
+ 0.2, // lumSunBack
+ 0.5, // refractCoef
+ 0.5, // refractSaturation
+ true, // snow
+ false // dropColorStrong
+ ]
+ call BIS_fnc_setRain;
+ setHumidity 0.9; // no dust clouds, has to be set manually because snow-flagged rain doesn't automatically increase humidity
+ enableEnvironment [false, true]; // remove wildlife
};
};
@@ -180,35 +247,24 @@ switch (_weather) do
// Use new values to set
// mission conditions on server and all clients (including JIP clients).
-if (typeName _transition == typeName 0) then {
-
_transition setOvercast _MissionOvercast;
_transition setRain _MissionRain;
_transition setRainbow _MissionRainbow;
_transition setLightnings _MissionLightnings;
+
if (_setWind) then {
_transition setWindStr _MissionWindStr;
_transition setWindForce _MissionWindGusts;
_transition setWaves _MissionWaves;
};
+
if (_setFog) then {
_transition setFog [_MissionFogStrength,_MissionFogDecay,_MissionFogBase];
};
-} else {
- 0 setOvercast _MissionOvercast;
- 0 setRain _MissionRain;
- 0 setRainbow _MissionRainbow;
- 0 setLightnings _MissionLightnings;
- if (_setWind) then {
- 0 setWindStr _MissionWindStr;
- 0 setWindForce _MissionWindGusts;
- 0 setWaves _MissionWaves;
- };
- if (_setFog) then {
- 0 setFog [_MissionFogStrength,_MissionFogDecay,_MissionFogBase];
- };
- forceWeatherChange;
-};
+forceWeatherChange;
// ====================================================================================
+
+// RETURN WEATHER PARAMS
+[_MissionOvercast,_MissionRain,_MissionLightnings,_MissionWaves,_MissionWindStr,[_MissionFogStrength,_MissionFogDecay,_MissionFogBase]]
diff --git a/f/missionConditions/fn_SetWind.sqf b/f/missionConditions/fn_SetWind.sqf
index ce13750ff..a274cef4d 100644
--- a/f/missionConditions/fn_SetWind.sqf
+++ b/f/missionConditions/fn_SetWind.sqf
@@ -1,10 +1,10 @@
// F3 - SetWind
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_wind","_strength","_decay","_base"];
+private ["_wind","_strength","_gusts","_waves"];
// ====================================================================================
@@ -63,3 +63,6 @@ _transition setWindForce _gusts;
_transition setWaves _waves;
// ====================================================================================
+
+// RETURN WIND PARAMS
+_strength
diff --git a/f/mpEnd/fn_mpEnd.sqf b/f/mpEnd/fn_mpEnd.sqf
index 68dbd8440..76cddba5f 100644
--- a/f/mpEnd/fn_mpEnd.sqf
+++ b/f/mpEnd/fn_mpEnd.sqf
@@ -1,5 +1,5 @@
// F3 - Multiplayer Ending Controller
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
@@ -14,11 +14,13 @@ if (!isServer) exitWith {};
// SET ENDING & BROADCAST
// The desired ending # is taken from the arguments passed to this script.
-// Using BIS_fnc_MP the function mpEndReceiver is being spawned on all clients (and server),
-// with the passed ending # as parameter
+// Using remoteExec the function mpEndReceiver is being spawned on all clients (and server),
+// with the passed ending # as parameter.
+// Once an ending has been triggered, no other ending is possible.
- [_this,"f_fnc_mpEndReceiver",true] spawn BIS_fnc_MP;
+if (isNil "f_var_EndingTriggered") then {
+ _this remoteExec ["f_fnc_mpEndReceiver", 0];
+};
+f_var_EndingTriggered = true;
// ====================================================================================
-
-
diff --git a/f/mpEnd/fn_mpEndReceiver.sqf b/f/mpEnd/fn_mpEndReceiver.sqf
index 3ad58d7c7..26d96b12f 100644
--- a/f/mpEnd/fn_mpEndReceiver.sqf
+++ b/f/mpEnd/fn_mpEndReceiver.sqf
@@ -1,13 +1,13 @@
// F3 - Multiplayer Ending Controller
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES AND FUNCTIONS
-private ["_ending","_state"];
-
-_ending = _this select 0;
-_state = if (count _this > 1) then {_this select 1} else {true};
+params [
+ ["_ending", 1, [0]],
+ ["_state", true, [true]]
+];
// ====================================================================================
@@ -101,6 +101,12 @@ switch (_ending) do
};
};
+// ====================================================================================
+// Exit the End-Game spectator
+[] call f_fnc_terminateSpectator;
+
+// ====================================================================================
+
// Using the integer we've got we use format to compile a string (e.g. "end1") and call the BIS function with it.
_ending = format ["end%1",_ending];
[_ending,_state] spawn BIS_fnc_endMission;
@@ -116,4 +122,3 @@ if (dialog) then
};
// ====================================================================================
-
diff --git a/f/nametag/f_nametagCONFIG.sqf b/f/nametag/f_nametagCONFIG.sqf
new file mode 100644
index 000000000..e52b2ec73
--- /dev/null
+++ b/f/nametag/f_nametagCONFIG.sqf
@@ -0,0 +1,81 @@
+//=======================================================================================
+//
+// f_nametagConfig.sqf - Contains configurable values for WH nametags.
+//
+// Note: If CBA is enabled, many of these settings (DRAWCURSORONLY, for instance) can
+// be altered by individual clients to their preference.
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//=======================================================================================
+
+//---------------------------------------------------------------------------------------
+// Configuration Values. Feel free to modify.
+//---------------------------------------------------------------------------------------
+
+// Main Values (Default values)
+F_NT_DRAWCURSORONLY = false; // Only draw nametags on mouse cursor. (Default: false)
+ // Can save FPS in crowded areas.
+ // Clients can change with CBA settings menu.
+
+F_NT_ACTIONKEY = "timeInc"; // Key that can be pressed to toggle tags. ("timeInc")
+ // Default is "timeInc", which is normally
+ // the (=) key. Other keys available here:
+ // https://community.bistudio.com/wiki/inputAction/actions/bindings
+ // Don't want any key? Comment out the line.
+
+F_NT_NIGHT = true; // Whether night will affect tag visibility. (true)
+
+// Information Shown
+F_NT_SHOW_GROUP = true; // Show group name under unit's name. (true)
+F_NT_SHOW_ROLE = false;// Show unit's role (rifleman, driver). (true)
+F_NT_SHOW_VEHICLEINFO = true; // Show vehicle info. Requires SHOW_ROLE. (true)
+
+// Draw Distances
+F_NT_DRAWDISTANCE_CURSOR = 20; // Distance to draw nametags when pointing at a unit. (20)
+ // Should be greater than DISTANCE_ALL.
+ // Can be altered significantly depending on player FOV.
+F_NT_DRAWDISTANCE_NEAR = 10; // Distance within which all nametags will be drawn. (10)
+ // Increasing this will cost performance.
+ // Due to a bug this will seem ~3m shorter in third person.
+ // If you want to truly disable non-cursor tags, set this to 0.
+// Font Fade
+F_NT_FADETIME = 1; // Fade time for cursor tags after player mouses away. (1)
+
+// Text Configuration: Typeface
+// To manually alter these options, see functions\nametagResetFont.sqf.
+// Options:
+// - "Roboto" (DEFAULT)
+// - "RobotoLight"
+// - "Purista"
+// - "PuristaLight"
+// - "Etelka"
+// - "Tahoma"
+F_NT_FONT_FACE = "Roboto"; // Typeface set for nametag system. ("Roboto")
+
+// Text Configuration: Size
+F_NT_FONT_SIZE_RAW = 0.036; // Default raw font size. (0.036)
+ // Used directly for names, and used with
+ // below modifiers for all else.
+F_NT_FONT_SIZE_SEC_MULTI = 0.861; // Multiplier for group and role tags. (0.861)
+F_NT_FONT_SIZE_MULTI = 1; // A general multiplier that can be used (1)
+ // if you don't like the other ones.
+ // Multipliers may be overriden by CBA settings.
+// Text Configuration: Spacing
+F_NT_FONT_SPREAD_MULTI = 1; // Multiplier for vertical font spacing. (1)
+ // may be overriden by CBA settings.
+
+// Text Configuration: Color
+// To manually alter these options, see functions\nametagResetFont.sqf.
+// Options:
+// - WHGreen
+// - ACERust
+// - TMTMTeal
+// - COALCrimson
+// - FAWhite
+// - STSand
+// - BromaPurple
+F_NT_FONT_COLOR = "WHGreen"; // Font color set for nametag system. ("WHGreen")
+
+// Text Configuration: Position
+F_NT_FONT_HEIGHT_ONHEAD = true; // Attaches nametags to head (like ACE) (false)
diff --git a/f/nametag/f_nametagInit.sqf b/f/nametag/f_nametagInit.sqf
new file mode 100644
index 000000000..2f7b8e167
--- /dev/null
+++ b/f/nametag/f_nametagInit.sqf
@@ -0,0 +1,83 @@
+//====================================================================================
+//
+// f_nametagInit.sqf - Initializes values for WH nametags.
+//
+// [] execVM "f\nametag\f_nametagInit.sqf";
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Initial setup.
+//------------------------------------------------------------------------------------
+
+// Make sure this isn't a dedicated server or headless client.
+if (!hasInterface) exitWith {};
+
+// Global variable that will be flipped on and off using the disableKey and CBA.
+F_NT_NAMETAGS_ON = true;
+
+// Determine which mods are active.
+#include "include\f_nametagCheckMods.sqf";
+
+
+//------------------------------------------------------------------------------------
+// Configuration and settings import and setup.
+//------------------------------------------------------------------------------------
+
+// Allows for missionmaker configuration of important settings.
+#include "f_nametagCONFIG.sqf"
+
+// Allows for player (client) configuration of other settings.
+#include "include\f_nametagSettings.sqf"
+
+
+//------------------------------------------------------------------------------------
+// More preparation.
+//------------------------------------------------------------------------------------
+
+// Let the player initialize properly.
+waitUntil{!isNull player};
+waitUntil{player == player};
+
+// Don't run this for zeus and virtual spectators
+if (side player isEqualto sideLogic) exitWith {};
+
+// Reset font spacing and size to (possibly) new conditions.
+call f_fnc_nametagResetFont;
+
+// Setting up cursor cache and fader.
+F_NT_CACHE_CURSOR = objNull;
+F_NT_CACHE_CURSOR_DATA = [];
+F_NT_CACHE_FADE = [[],[],[]];
+
+// Wait for player to get ingame.
+waitUntil {!isNull (findDisplay 46)};
+
+// Setting up our disableKey (Default '+')
+#include "include\f_nametagDisableKey.sqf"
+
+
+//------------------------------------------------------------------------------------
+// Keep an updated cache of all tags to draw.
+//------------------------------------------------------------------------------------
+
+#include "include\f_nametagCacheLoop.sqf"
+
+
+//------------------------------------------------------------------------------------
+// Render nametags from the cache every frame.
+//------------------------------------------------------------------------------------
+
+F_NT_EVENTHANDLER = addMissionEventHandler
+["Draw3D",
+{
+ if F_NT_NAMETAGS_ON then
+ { call f_fnc_nametagUpdate };
+}];
+
+//------------------------------------------------------------------------------------
+// Add briefing with configurable options.
+//------------------------------------------------------------------------------------
+
+#include "include\f_nametagBrief.sqf"
diff --git a/f/nametag/f_nametags.sqf b/f/nametag/f_nametags.sqf
deleted file mode 100644
index 2c540d5db..000000000
--- a/f/nametag/f_nametags.sqf
+++ /dev/null
@@ -1,240 +0,0 @@
-// F3 - Nametags
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// MAKE SURE THE PLAYER INITIALIZES PROPERLY
-
-if (!isDedicated && (isNull player)) then
-{
- waitUntil {sleep 0.1; !isNull player};
-};
-
-// ====================================================================================
-
-// SET GLOBAL VARIABLES
-
-// MODIFYABLE
-
-// Default values (can be modified by players in the briefing entry)
-// Comment any of these to deactivate the feature entirely
-f_showGroup_Nametags = true; // Show unit's group next to unit name (except for player's own group)
-f_showDistance_Nametags = false; // Show distance to unit under name
-f_showVehicle_Nametags = false; // Show type of vehicle under driver's name
-f_showCursorOnly_Nametags = false; // Show only units under cursor target (disable 360° view)
-
-// Other values
-f_distCursor_Nametags = 28; // Distance to display name tag for unit under cursor
-f_distAll_Nametags = 10; // Distance to display name tags for all units around
-F_KEY_NAMETAGS = "TeamSwitch"; // The action key to toggle the name tags. See possible keys here: http://community.bistudio.com/wiki/Category:Key_Actions
-
-// Display values
-f_size_Nametags = 0.023; // The size the names are displayed in
-f_height_standing_Nametags = 2; // Height above standing infantry unit
-f_height_crouch_Nametags = 1.5; // Height above crouching infantry unit
-f_height_prone_Nametags = 0.9; // Height above prone infantry unit
-f_vheight_Nametags = 0; // The height of the name tags for units in vehicles (0 = hovering over vehicle)
-F_SHADOW_NAMETAGS = 2; // The shadow for the name tags (0 - 2)
-f_color_Nametags = [1,1,1,0.9]; // The color for infantry and units in vehicle cargo (in [red,green, blue, opacity])
-f_color2_Nametags = [1,0.1,0.2,0.9]; // The color for units in driver, gunner and other vehicle positions positions
-f_groupColor_Nametags = [0,1,0.7,0.9]; // The color for units of the same group
-F_FONT_NAMETAGS = "EtelkaMonospaceProBold"; // Font for the names
-
-// SCRIPTSIDE
-
-F_DRAW_NAMETAGS = false;
-F_ACTIONKEY_NAMETAGS = (actionKeys F_KEY_NAMETAGS) select 0;
-F_KEYNAME_NAMETAGS = actionKeysNames F_KEY_NAMETAGS;
-if (isNil "F_ACTIONKEY_NAMETAGS") then {F_ACTIONKEY_NAMETAGS = 20; F_KEYNAME_NAMETAGS = 'U';}; // If the user has not bound 'TeamSwitch' to a key we default to 'U' to toggle the tags
-
-F_KEYUP_NAMETAG = {
- _key = _this select 1;
- _handeld = false;
- if(_key == F_ACTIONKEY_NAMETAGS) then
- {
- _handeld = true;
- };
- _handeld;
-};
-
-F_KEYDOWN_NAMETAG = {
- _key = _this select 1;
- _handeld = false;
- if(_key == F_ACTIONKEY_NAMETAGS) then
- {
- F_DRAW_NAMETAGS = !F_DRAW_NAMETAGS;
- _handeld = true;
- };
- _handeld;
-};
-
-// ====================================================================================
-
-// ADD BRIEFING SECTION
-// A section is added to the player's briefing to inform them about name tags being available.
-
-[] spawn {
- waitUntil {scriptDone f_script_briefing};
-
- _bstr = format ["F3 NAME TAGS
Toggle name tags for friendly units by pressing %1.
-Name tags are displayed when aiming at individual units up to %4m away, and constantly for all units within %3m.
- ",F_KEYNAME_NAMETAGS, F_KEY_NAMETAGS,F_DISTALL_NAMETAGS,F_DISTCursor_NAMETAGS];
-
- _bstr = _bstr + "
TOGGLE CONSTANT TAGS.
Constantly displays name tags for nearby units.";
-
- if !(isNil "F_SHOWGROUP_NAMETAGS") then {
- _bstr = _bstr + "
TOGGLE GROUP NAME DISPLAY.
Displays the group name next to a unit's name.";
- };
-
- if !(isNil "F_SHOWDISTANCE_NAMETAGS") then {
- _bstr = _bstr + "
TOGGLE DISTANCE DISPLAY.
Displays distance to other units under each name tag.";
- };
-
- if !(isNil "f_showVehicle_Nametags") then {
- _bstr = _bstr + "
TOGGLE VEHICLE TYPE DISPLAY.
Displays the vehicle type under the driver's name.";
- };
-
- _bstr = _bstr + "
COLORS
- Friendly
- Fireteam
- Vehicle Crew";
-
- player createDiaryRecord ["Diary", ["F3 NameTags (Options)",_bstr]];
-
- // NOTIFY PLAYER ABOUT NAMETAGS VIA HINT
- sleep 5;
- hintsilent format ["Press %1 to toggle name tags", F_KEYNAME_NAMETAGS];
-};
-
-// ====================================================================================
-
-// ADD EVENTHANDLERS
-// After the mission has initialized eventhandlers are added to the register keypresses.
-
-sleep 0.1;
-
-waitUntil {!isNull (findDisplay 46)}; // Make sure the display we need is initialized
-
-F_DRAW_NAMETAGS = true; // Enable nametags from the start
-
-(findDisplay 46) displayAddEventHandler ["keyup", "_this call F_KEYUP_NAMETAG"];
-(findDisplay 46) displayAddEventHandler ["keydown", "_this call F_KEYDOWN_NAMETAG"];
-
-// ====================================================================================
-// the real code.
-
-addMissionEventHandler ["Draw3D", {
-
- if(F_DRAW_NAMETAGS) then
- {
-
- private ["_ents","_veh","_color","_inc","_suffix","_pos","_angle"];
-
- _ents = [];
-
- // Unless disabled, collect all entities in the relevant distance
- if !(f_showCursorOnly_Nametags) then {
- _ents = (position player) nearEntities [["CAManBase","LandVehicle","Helicopter","Plane","Ship_F"], f_distAll_Nametags];
- };
-
- if (!(cursorTarget in _ents) && {((player distance cursorTarget) <= f_distCursor_Nametags) && player knowsAbout cursorTarget >= 1.5}) then {_ents append [cursorTarget]};
-
- /*if (f_cursortarget_nametags) then {
- if ((player distance cursorTarget) <= F_DIST_NAMETAGS) then {_ents = [cursortarget]};
- } else {
- _ents = (position player) nearEntities [["CAManBase","LandVehicle","Helicopter","Plane","Ship_F"], f_distAll_Nametags];
- };*/
-
- // Start looping through all entities
- {
- // Filter entities
- if (
- // Only for the player's side
- (faction _x == faction player || side _x == side player || group _x == group player) &&
- // Only other players & no virtual units
- {_x != player && !(player iskindof "VirtualMan_F")}
- )
- then
- {
-
- // If the entity is Infantry
- if((typeof _x) iskindof "Man") then
- {
- _pos = visiblePosition _x;
- [_x,_pos] call f_fnc_drawNameTag;
- }
-
- // Else (if it's a vehicle)
- else
- {
-
- _veh = _x;
- _inc = 1;
- _alternate = 0;
-
- {
- // Get the various crew slots
- _suffix = switch (true) do {
- case (driver _veh == _x && !((_veh isKindOf "helicopter") || (_veh isKindOf "plane"))):{" - D"};
- case (driver _veh == _x && ((_veh isKindOf "helicopter") || (_veh isKindOf "plane"))):{" - P"};
- case (commander _veh == _x);
- case (effectiveCommander _veh == _x):{" - CO"};
- case (gunner _veh == _x):{" - G"};
- case (assignedVehicleRole _x select 0 == "Turret" && commander _veh != _x && gunner _veh != _x && driver _veh != _x):{" - C"};
- default {""};
- };
-
- _pos = visiblePosition _x;
-
- // Only display tags for non-driver crew and cargo if player is up close
- if (effectiveCommander _veh == _x || group _x == group player || _pos distance player <= f_distAll_Nametags) then {
-
- // If the unit is the driver, calculate the available and taken seats
- if (effectiveCommander _veh == _x) then {
- // Workaround for http://feedback.arma3.com/view.php?id=21602
- _maxSlots = getNumber(configfile >> "CfgVehicles" >> typeof _veh >> "transportSoldier") + (count allTurrets [_veh, true] - count allTurrets _veh);
- _freeSlots = _veh emptyPositions "cargo";
-
- if (_maxSlots > 0) then {
- _suffix = _suffix + format [" (%1/%2)",(_maxSlots-_freeSlots),_maxSlots];
- };
- };
-
- // If the unit is in a turret, a passenger or the driver
- if (_pos distance (getPosVisual (driver _veh)) > 0.1 || driver _veh == _x) then
- {
- [_x,_pos,_suffix] call f_fnc_drawNameTag;
- }
- else // Gunners and all other slots
- {
- if(_x == gunner _veh) then
- {
- _pos = [_veh modeltoworld (_veh selectionPosition "gunnerview") select 0,_veh modeltoworld (_veh selectionPosition "gunnerview") select 1,(visiblePosition _x) select 2];
- }
- else
- {
- _angle = (getdir _veh)+180;
- _pos = [((_pos select 0) + sin(_angle)*(0.6*_inc)) , (_pos select 1) + cos(_angle)*(0.6*_inc),_pos select 2 + F_VHEIGHT_NAMETAGS];
- _inc = _inc + 1;
- };
-
- [_x,_pos,_suffix] call f_fnc_drawNameTag;
- };
-
- };
-
- } foreach crew _veh;
- };
- };
- } foreach _ents;
-
- }; // Outmost if scope
-
-}]; // End of the Eventhandler Scope
-
diff --git a/f/nametag/fn_drawNametag.sqf b/f/nametag/fn_drawNametag.sqf
deleted file mode 100644
index 684277a1b..000000000
--- a/f/nametag/fn_drawNametag.sqf
+++ /dev/null
@@ -1,52 +0,0 @@
-// F3 - Draw Nametag
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-private ["_u","_pos","_suffix","_color","_str","_height","_showgroup","_showdis","_showveh","_veh"];
-
-// Declare variables
-_u = _this select 0;
-_pos = _this select 1;
-_height =
-switch (stance _u) do {
- case "CROUCH": {
- f_height_crouch_Nametags;
- };
- case "PRONE": {
- f_height_prone_Nametags;
- };
- default {f_height_standing_Nametags};
-};
-_suffix = if (count _this > 2) then {_this select 2} else {""};
-
-_str = name _u + _suffix;
-
-//If the unit is dead, exit.
-if (!alive _u) exitWith {};
-
-// Define the color of the nametag
-_color = F_COLOR_NAMETAGS; // Default color
-if (_suffix != "") then {_color = F_COLOR2_NAMETAGS}; // Mounted units
-if(_x in units player) then { _color = f_groupColor_Nametags }; // Units of same group
-
-// Check which tags to show
-_showgroup = if (!isNil "F_SHOWGROUP_NAMETAGS") then [{F_SHOWGROUP_NAMETAGS},{false}];
-_showdis = if (!isNil "F_SHOWDISTANCE_NAMETAGS") then [{F_SHOWDISTANCE_NAMETAGS},{false}];
-_showveh = if (!isNil "f_showVehicle_Nametags") then [{f_showVehicle_Nametags},{false}];
-
-// Show group name for other groups only
-if (_showgroup && group _u != group player) then {_str = format ["%1 ",groupID (group _u)] + _str};
-
-// Show distance for units in over 3m distance only
-if (_showdis && {_pos distance player >= 3}) then {
- _str = _str + format [" - %1m",round (_pos distance player)];
- //drawIcon3D ["", _color, [_pos select 0,_pos select 1,(getPosATL _x select 2) - _height], 0, 0, 0, _str, F_SHADOW_NAMETAGS,(F_SIZE_NAMETAGS - 0.005), F_FONT_NAMETAGS];
-};
-
-drawIcon3D ["", _color, [_pos select 0,_pos select 1,(getPosATL _x select 2) + _height], 0, 0, 0, _str, F_SHADOW_NAMETAGS,F_SIZE_NAMETAGS, F_FONT_NAMETAGS];
-
-// Show vehicle type only for vehicles the player is not crewing himself
-if (_showveh && {!(typeOf (vehicle _u) isKindof "Man") && vehicle _u != vehicle player && ((_u == driver vehicle _u) || (_u == gunner vehicle _u))}) then {
- _str = format ["%1",getText (configFile >> "CfgVehicles" >> (typeOf vehicle _u) >> "displayname")];
- drawIcon3D ["", _color, [_pos select 0,_pos select 1,(getPosATL _x select 2) + _height - 0.2], 0, 0, 0, _str,F_SHADOW_NAMETAGS,F_SIZE_NAMETAGS,F_FONT_NAMETAGS];
-};
\ No newline at end of file
diff --git a/f/nametag/functions/fn_getZoom.sqf b/f/nametag/functions/fn_getZoom.sqf
new file mode 100644
index 000000000..a1eb01438
--- /dev/null
+++ b/f/nametag/functions/fn_getZoom.sqf
@@ -0,0 +1,24 @@
+//====================================================================================
+//
+// fn_getZoom.sqf - Gets player zoom, where default is 1.0
+// > _zoom = call f_fnc_getZoom; <
+//
+// Adapted from code by Killzone Kid.
+// http://killzonekid.com/arma-scripting-tutorials-get-zoom/
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+(
+ (
+ [0.5,0.5]
+ distance2D
+ worldToScreen
+ positionCameraToWorld
+ [0,3,4]
+ ) * (
+ getResolution
+ select 5
+ ) / 2
+) + 0.66666
diff --git a/f/nametag/functions/fn_nametagCache.sqf b/f/nametag/functions/fn_nametagCache.sqf
new file mode 100644
index 000000000..cda01ad8a
--- /dev/null
+++ b/f/nametag/functions/fn_nametagCache.sqf
@@ -0,0 +1,69 @@
+//====================================================================================
+//
+// fn_nametagCache.sqf - Updates global cache of near entities and their data.
+// Updates some other stuff, too.
+//
+// > call f_fnc_nametagCache; <
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// If the nametag system is on, check all the stuff we need to check!
+//------------------------------------------------------------------------------------
+
+if F_NT_NAMETAGS_ON then
+{
+ // Collect the current player.
+ private _player = player;
+
+ // Check the day night cycle...
+ F_NT_VAR_NIGHT = if F_NT_NIGHT then
+ { linearConversion [0, 1, sunOrMoon, 0.25+0.5*(currentVisionMode _player),1,true]; }
+ else { 1 };
+
+ // Check the day night cycle...
+ F_NT_VAR_NIGHT = if F_NT_NIGHT then
+ { linearConversion [0, 1, sunOrMoon, 0.25+0.5*(currentVisionMode _player),1,true]; }
+ else { 1 };
+
+ F_NT_VAR_VEHICLETPP =
+ if (!(isNull objectParent _player) && {(cameraView isEqualTo "EXTERNAL")})
+ then { true }
+ else { false };
+
+
+ //--------------------------------------------------------------------------------
+ // If not set to only draw the cursor, collect nearEntities.
+ //--------------------------------------------------------------------------------
+
+ if !F_NT_DRAWCURSORONLY then
+ {
+ // Collect the player's group.
+ private _playerGroup = group _player;
+
+ // Get the position of the player's camera.
+ private _cameraPositionAGL = positionCameraToWorld[0,0,0];
+ private _cameraPositionASL = AGLtoASL _cameraPositionAGL;
+
+ // Collect all nearEntities of the types we want.
+ private _entities =
+ _player nearEntities [["CAManBase","LandVehicle","Helicopter","Plane","Ship_F"],
+ ((F_NT_DRAWDISTANCE_NEAR+(F_NT_DRAWDISTANCE_NEAR*0.25)+1)*F_NT_VAR_NIGHT)]
+ select
+ {
+ !(_x isEqualTo _player)
+ && (side group _x isEqualTo side group _player)
+ && {!F_NT_VAR_VEHICLETPP || {(vehicle _x != vehicle _player)}}
+ };
+
+ // Collect each filter entities' data.
+ private _data = [_player,_playerGroup,_cameraPositionAGL,_cameraPositionASL,_entities,false]
+ call f_fnc_nametagGetData;
+
+ // Push all those names and their data to the global cache.
+ F_NT_CACHE =+ _data;
+ }
+ else
+ { F_NT_CACHE = [[],[]] };
+};
diff --git a/f/nametag/functions/fn_nametagDraw.sqf b/f/nametag/functions/fn_nametagDraw.sqf
new file mode 100644
index 000000000..6aa1d80e7
--- /dev/null
+++ b/f/nametag/functions/fn_nametagDraw.sqf
@@ -0,0 +1,180 @@
+//====================================================================================
+//
+// fn_nametagDraw.sqf - Initializes values for WH nametags (heavily based on F3 and ST)
+//
+// [_name,_nameColor,_locationData,_role,_groupName,_drawRoleAndGroup,_isCommander,
+// _cameraPositionAGL,_zoom] call f_fnc_nametagDraw;
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Declare variables.
+//------------------------------------------------------------------------------------
+
+params ["_unit","_vehicle","_name","_nameColor","_locationData","_role","_groupName",
+ "_drawRoleAndGroup","_isPassenger","_isCommander","_cameraPositionAGL",
+ "_zoom","_time","_startTime"];
+
+// _unit (CAManBase): Unit the tag is being rendered on.
+// _vehicle (Entity): Vehicle the unit is in. Possibly the unit.
+// _name (string): Friendly name of tag to be rendered.
+// _nameColor (color array [[],[],[],]): Original color of center nametag.
+// _locationData {code}: Code that will be used to find the location to draw the tag.
+// _role (string): Friendly role name to be rendered on top.
+// _groupName (string): Friendly group name to be rendered on bottom.
+// _drawRoleAndGroup (boolean): A flag used to point out noncursor units and prevent
+// them from having group and role tags.
+// _isCommander (boolean): A flag used to point out vehicle non-commanders and prevent
+// them from being rendered as far as vehicle commanders.
+// _cameraPositionAGL (positionAGL array [[],[],[]]): Current position of player camera.
+// _zoom (decimal): Current zoom level of player camera.
+// _time (decimal): For fading tags and displaying voice comms -- current time.
+// _startTime (OPTIONAL, decimal): For fading tags -- time tag was originally rendered.
+
+// Get player from global player setting.
+// This is necessary for Zeus remote control support.
+private _player = player;
+
+
+//------------------------------------------------------------------------------------
+// Get distance from player to target.
+//------------------------------------------------------------------------------------
+
+// HOTFIX: _locationData is sometimes not code. https://puu.sh/yy2QG/5a79f349f7.png
+// If this happens, skip drawing the nametag
+if (!(_locationData isEqualType {})) exitWith {};
+
+// Find position tag will be rendered at using location data.
+private _targetPositionAGL = call _locationData;
+
+// Find the distance from the player camera to this location.
+private _camDistance = _cameraPositionAGL distance _targetPositionAGL;
+private _distance = _player distance _targetPositionAGL;
+
+
+//------------------------------------------------------------------------------------
+// Change the nametag if the target is speaking.
+//------------------------------------------------------------------------------------
+
+// If the unit is speaking, apply little carets around their name.
+// TODO: move up a few scopes. GetData? Will stick on cursor
+
+if (_unit getVariable ["wh_nt_isSpeaking", false]) then
+{
+ private _timeEven = ((round time) % 2 == 0);
+ _nameColor set [3,0.90];
+ _name =
+ if _timeEven then
+ { "> " + _name + " <" }
+ else
+ { ">" + _name + "<" };
+};
+
+
+//------------------------------------------------------------------------------------
+// Applying initial transparency to tag depending on distance and time of day.
+//------------------------------------------------------------------------------------
+
+private _alpha =
+if (!_drawRoleAndGroup || {!(_isCommander)})
+then { linearConversion[F_NT_DRAWDISTANCE_NEAR/1.3,F_NT_DRAWDISTANCE_NEAR,
+ (_distance / F_NT_VAR_NIGHT),1,0,true] }
+else { linearConversion[(((F_NT_DRAWDISTANCE_CURSOR)*(_zoom))/1.3),
+ (F_NT_DRAWDISTANCE_CURSOR*_zoom),(((_distance) / F_NT_VAR_NIGHT)),1,0,true] };
+
+// Apply the alpha coating to each color's transparency.
+_nameColor set [3, (_nameColor select 3) * _alpha];
+
+
+//------------------------------------------------------------------------------------
+// Adjust font size depending on player current zoom level.
+//------------------------------------------------------------------------------------
+
+// TODO: Move up to Update scope.
+// Max out zoom at 1.67 regardless to avoid HUGE text.
+private _zmin = _zoom min 1.67;
+
+// Adjust font sizes.
+private _sizeMain = F_NT_FONT_SIZE_MAIN* _zmin;
+private _sizeSecondary = F_NT_FONT_SIZE_SEC * _zmin;
+private _sizeVehicle = F_NT_FONT_SIZE_VEH * _zmin;
+
+
+//------------------------------------------------------------------------------------
+// If the tag being drawn is on cursor, render the role and group.
+//------------------------------------------------------------------------------------
+
+if (_drawRoleAndGroup && {!(_isPassenger)}) then
+{
+ // Set the color for secondary tags.
+ private _color =+ F_NT_FONT_COLOR_OTHER;
+ _color set [3, (_color select 3) * _alpha];
+
+ // If we're working with a fading tag, fade it out according to the difference
+ // between the start time and now.
+ if (!isNil "_startTime") then
+ {
+ private _alphaCoef = (((_startTime + F_NT_FADETIME) - _time)/F_NT_FADETIME);
+ _nameColor set [3, (_namecolor select 3) * _alphaCoef];
+ _color set [3, (_color select 3) * _alphaCoef];
+ };
+
+ //--------------------------------------------------------------------------------
+ // Use space magic to realign the tags with the player's view.
+ // IE: If the player is above the target, normally the nametags (which are stacked -
+ // - vertically) would appear scrunched inside one another.
+ // This alleviates this by realigning them vertically.
+ //
+ // Special thanks to cptnnick for this idea, code, implementation, everything!
+ //--------------------------------------------------------------------------------
+
+ // First, get vector pointing directly forward from the player's view, wherever it is.
+ // TODO: Move up to update scope.
+ private _vectorDir = _cameraPositionAGL vectorFromTo (positionCameraToWorld[0,0,1]);
+
+ // Second, and the biggest step, get the normal (magnitude 1) vector going upwards
+ // along the player's screen (visually) by taking the cross product of the player's
+ // model upward vector and the player's view vector, and then take the cross product
+ // of that and a vector going directly from the camera to the nametag.
+
+ // Better explanation here
+ // ( forums.bistudio.com/forums/topic/206072-multi-line-text-in-drawicon3d )
+
+ // TODO: Simplify this code if possible.
+ // If not possible, cache what you can (vectorUp player vectorCrossProduct _vectorDir)
+ // in nametagUpdate.
+ private _vectorDiff = (vectorNormalized (((_vectorDir) vectorCrossProduct (vectorUp _player)) vectorCrossProduct (_targetPositionAGL vectorDiff _cameraPositionAGL)));
+
+ // Take that new normal vector and multiply it by the distance, then divide it by the zoom.
+
+ private _targetPositionAGLTop = _targetPositionAGL vectorAdd (_vectorDiff vectorMultiply (F_NT_FONT_SPREAD_TOP_MULTI * _camDistance / _zoom));
+ private _targetPositionAGLBottom = _targetPositionAGL vectorAdd ((_vectorDiff vectorMultiply (F_NT_FONT_SPREAD_BOTTOM_MULTI * _camDistance / _zoom)) vectorMultiply -1);
+
+
+ //--------------------------------------------------------------------------------
+ // Render the nametags.
+ //--------------------------------------------------------------------------------
+
+ // Role tag (top).
+ if ( !(_role isEqualTo "") && {F_NT_SHOW_ROLE} ) then
+ {
+ drawIcon3D ["", _color, _targetPositionAGLTop,
+ 0, 0, 0, _role,F_NT_FONT_SHADOW,_sizeSecondary,F_NT_FONT_FACE_SEC];
+ };
+
+ // Group tag (bottom).
+ if ( !(_groupName isEqualTo "") && {F_NT_SHOW_GROUP} ) then
+ {
+ drawIcon3D ["", _color, _targetPositionAGLBottom,
+ 0, 0, 0, _groupName,F_NT_FONT_SHADOW,_sizeSecondary,F_NT_FONT_FACE_SEC];
+ };
+};
+
+// TODO: Remove this testing thing
+// Name tag (middle).
+//drawIcon3D ["\A3\ui_f\data\map\markers\flags\AAF_ca.paa", [0,0,0,1], _targetPositionAGL, 1, 1, 0, "",0,(_sizeMain+(_sizeMain*0.2)),F_NT_FONT_FACE_MAIN];
+
+// Name tag (middle).
+drawIcon3D ["", _nameColor, _targetPositionAGL, 0,0,0, _name,F_NT_FONT_SHADOW,_sizeMain,F_NT_FONT_FACE_MAIN];
diff --git a/f/nametag/functions/fn_nametagGetData.sqf b/f/nametag/functions/fn_nametagGetData.sqf
new file mode 100644
index 000000000..e8d1354cf
--- /dev/null
+++ b/f/nametag/functions/fn_nametagGetData.sqf
@@ -0,0 +1,304 @@
+//====================================================================================
+//
+// fn_nametagUpdate.sqf - Updates values for F3 nametags
+// Intended to be run each frame.
+//
+// > _data = [_player,_playerGroup,_cameraPositionAGL,_cameraPositionASL,_entities,
+// false] call f_fnc_nametagGetData; <
+//
+// Returns [_names,_data].
+// Names is an array of references to units (CAManBase).
+// Data is nametag data, for each.
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Initializing variables.
+//------------------------------------------------------------------------------------
+
+params ["_player","_playerGroup","_cameraPositionAGL","_cameraPositionASL",
+ "_entities","_isCursor"];
+
+private ["_team","_entity","_locationData","_role","_show","_drawRoleAndGroup",
+ "_isCommander","_isPassenger","_targetPositionAGL","_targetPositionASL",
+ "_vehicle","_vehicleName","_maxSlots","_freeSlots","_name","_nameColor",
+ "_unitGroup","_sameGroup","_groupName","_unitData"];
+
+// _player (object CAManBase): Current player that will be rendering tags.
+// _playerGroup: Group of said player.
+// _cameraPositionAGL (positionAGL array [[],[],[]]): Current position of player camera.
+// _cameraPositionASL (positionASL array [[],[],[]]): Current position of player camera.
+// _entities (array of objects CAManBase or vehicle): Entities tags will be processed for.
+// _isCursor (boolean): Flag signaling that said entities are under cursor.
+
+
+//------------------------------------------------------------------------------------
+// Establishing arrays to be filled with unit names and unit data, respectively.
+//------------------------------------------------------------------------------------
+
+private _names= [];
+private _data = [];
+
+// Temporary fix for zoom not being in here.
+private _zoom = 1;
+
+
+//------------------------------------------------------------------------------------
+// Main loop. Fills above arrays with data for each entity in _entities.
+//------------------------------------------------------------------------------------
+
+// For every entity in _entities...
+{
+ // Store said entity. It may be a vehicle (with multiple people inside), and it
+ // may just be a single unit. We do not know, so we will just process data for
+ // each of the "vehicles" (or units) "crew" (or self).
+ _entity = _x;
+
+ if (! (isNil "_entity" || {_entity in allUnitsUAV} ) ) then // TODO: Find a better solution for this.
+ {
+ {
+ // Reset variables used for each unit.
+ _locationData = {};
+ _role = "";
+ _show = false;
+ _drawRoleAndGroup = false;
+ _isCommander = false;
+ _isPassenger = false; // TODO : Find a smoother solution for this.
+
+ if ( ! (isNil "_x" || {_x isEqualTo _player} ) ) then
+ {
+ // If the unit is NOT in a vehicle...
+ if (isNull objectParent _x) then
+ {
+ // Get the data that will be processed (later) to determine where
+ // to draw the nametag. Either their chest, or above their head.
+ _locationData =
+ if !F_NT_FONT_HEIGHT_ONHEAD
+ then { {_x modelToWorldVisual (_x selectionPosition "spine3")} }
+ else { {_x modelToWorldVisual (_x selectionPosition "pilot")
+ vectorAdd [0,0,((0.2 + (((_cameraPositionAGL distance _x) * 1.5 *
+ F_NT_FONT_SPREAD_BOTTOM_MULTI)/_zoom)))]} };
+
+ _isCommander = true;
+
+ // If the unit is NOT in a vehicle and NOT under the cursor...
+ if !_isCursor then
+ {
+ // Get the location of that unit...
+ _targetPositionAGL = call _locationData;
+ _targetPositionASL = AGLtoASL _targetPositionAGL;
+
+ // ...and check...
+ if
+ (
+ // ( If the man is within the boundaries of the screen )
+ !(worldToScreen _targetPositionAGL isEqualTo []) &&
+ // AND ( If the game can draw a line from the player to the man without hitting anything )
+ { lineIntersectsSurfaces [_cameraPositionASL, _targetPositionASL, _player, _x] isEqualTo [] }
+ )
+ // If those criteria are met, let the system know that the tag will be shown.
+ then { _show = true };
+ }
+ else
+ {
+ // If the unit is NOT in a vehicle but IS under the cursor,
+ // show it, and let the system know that the role and group
+ // should be rendered.
+ _show = true;
+ _drawRoleAndGroup = true;
+ };
+ }
+
+ // Otherwise (if the unit IS in a vehicle)...
+ else
+ {
+ // The vehicle is the thing we're processing the crew for.
+ _vehicle = vehicle _x; //objectParent _x //Note: may be nil
+ if( isNil "_vehicle") then {
+ _vehicle = objNull;
+ };
+
+ // Depending on where the unit is in a vehicle, store it's 'role.'
+ _role = call
+ {
+ if ( commander _vehicle isEqualTo _x ) exitWith {"Commander"};
+ if ( gunner _vehicle isEqualTo _x ) exitWith {"Gunner"};
+ if ( !(driver _vehicle isEqualTo _x)) exitWith {""};
+ if ( driver _vehicle isEqualTo _x && {!(_vehicle isKindOf "helicopter") && {!(_vehicle isKindOf "plane")}} ) exitWith {"Driver"};
+ if ( driver _vehicle isEqualTo _x && { (_vehicle isKindOf "helicopter") || { (_vehicle isKindOf "plane")}} ) exitWith {"Pilot"};
+ ""
+ };
+
+ // The location data is different for vehicles, since many vehicle
+ // positions do not work properly with modelToWorldVisual.
+ _locationData =
+ { ASLtoAGL (getPosASLVisual _x) vectorAdd [0,0,(0.4)] };
+
+ // Use the above location data to get the unit's location.
+ _targetPositionAGL = call _locationData;
+ _targetPositionASL = AGLtoASL _targetPositionAGL;
+
+ // If the unit has a role (isn't a passenger) then...
+ if !(_role isEqualTo "") then
+ {
+ // ...if it's effectively the commander of the vehicle...
+ if ( effectiveCommander _vehicle isEqualTo _x ) then
+ {
+ // ...set a flag that lets the system know if a player has this
+ // vehicle under his cursor from far away, only this guy should
+ // be rendered.
+ _isCommander = true;
+
+ // Also, if the missionmaker has configured vehicle information
+ // to be shown, store that for later.
+ if F_NT_SHOW_VEHICLEINFO then
+ {
+ // Get the vehicle's friendly name from configs.
+ _vehicleName = format ["%1",getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayname")];
+
+ // Get the maximum number of (passenger) seats from configs.
+ _maxSlots = getNumber(configfile >> "CfgVehicles" >> typeof _vehicle >> "transportSoldier") + (count allTurrets [_vehicle, true] - count allTurrets _vehicle);
+
+ // Get the number of empty seats.
+ _freeSlots = _vehicle emptyPositions "cargo";
+
+ // If meaningful, append vehicle name.
+ if !(_vehicleName isEqualTo "") then
+ { _role = format ["%1 %2",_vehicleName,_role]};
+
+ // If meaningful, append some info on seats onto the vehicle info.
+ if (_maxSlots > 0) then
+ { _role = format["%1 [%2/%3]",_role,(_maxSlots-_freeSlots),_maxSlots]; };
+ };
+
+
+ };
+
+ // If the unit is the gunner and is uncomfortably close to the driver (many Arma APCs
+ // without interiors do this), then render the nametag where the turret is.
+ if ( _role isEqualTo "Gunner" && {_targetPositionASL distance (getPosASLVisual(driver _vehicle)) < 0.5} ) then
+ {
+ _locationData =
+ { _vehicle modelToWorldVisual (_vehicle selectionPosition "gunnerview") };
+ };
+
+ // If the unit's location is on-screen...
+ if !(worldToScreen _targetPositionAGL isEqualTo []) then
+ {
+ // Then show it.
+ _show = true;
+
+ // If it's player's vehicle, or if it's under the cursor,
+ // then draw the role and group, too.
+ if ( _vehicle isEqualTo vehicle _player || {_isCursor} ) then
+ { _drawRoleAndGroup = true };
+ };
+ }
+
+ // Otherwise (if it IS a passenger)...
+ else
+ {
+ if
+ (
+ // ( If the man is within the boundaries of the screen )
+ !(worldToScreen _targetPositionAGL isEqualTo []) &&
+ // AND ( If the game can draw a line from the player to the man without hitting anything )
+ { lineIntersectsSurfaces [_cameraPositionASL, _targetPositionASL, _player, _x] isEqualTo [] } &&
+ {_targetPositionAGL distance (ASLToAGL getPosASLVisual(driver _vehicle)) > 0.5}
+ )
+ then
+ {
+ // Don't draw the role and group no matter what.
+ _isPassenger = true;
+ _show = true;
+ };
+ }
+ };
+
+ //----------------------------------------------------------------------------
+ // If the tag's going to be shown, get and add the data.
+ //----------------------------------------------------------------------------
+
+ // If it's shown...
+ if _show then
+ {
+ // Get the unit's name.
+ _name = name _x; //Note: may be nil
+ if( isNil "_name") then {
+ _name = "";
+ };
+
+ // Default the unit's nametag color to the mission default.
+ _nameColor =+ F_NT_FONT_COLOR_DEFAULT;
+
+ // Get the unit's group.
+ _unitGroup = group _x; //Note: may be nil
+ if( isNil "_unitGroup") then {
+ _unitGroup = grpNull;
+ };
+
+ // If the unit is in the same group as the player,
+ // then erase the group tag. It does not need to be shown.
+ _sameGroup = ( _unitGroup isEqualTo _playerGroup );
+ _groupName = if ( ! _sameGroup ) then { groupID _unitGroup } else { "" };
+
+ // ...For normal people...
+ if (_role isEqualTo "") then
+ {
+ // Grab the variable set in F3 AssignGear, if present.
+ // If it's not there, grab the possibly-ugly name from configs.
+ _role = (_x getVariable ["f_var_assignGear_friendly",
+ getText (configFile >> "CfgVehicles" >> typeOf _x >> "displayname")]);
+ }
+ // ...and for vehicle crew, where a role is already present.
+ else { _nameColor =+ F_NT_FONT_COLOR_CREW };
+
+ // For units in the same group as the player, set their color according to color team.
+ if _sameGroup then
+ {
+ _team = assignedTeam _x; //Note: may be nil
+ if( isNil "_team") then {
+ _team = "";
+ };
+ _nameColor = switch _team do
+ {
+ case "RED": { +F_NT_FONT_COLOR_GROUPR };
+ case "GREEN": { +F_NT_FONT_COLOR_GROUPG };
+ case "BLUE": { +F_NT_FONT_COLOR_GROUPB };
+ case "YELLOW": { +F_NT_FONT_COLOR_GROUPY };
+ default { +F_NT_FONT_COLOR_GROUP };
+ };
+ };
+
+ // Huck all this data into an array...
+ _unitData = [];
+ _unitData pushBack _x;
+ _unitData pushBack _entity; // Index 0
+ _unitData pushBack _name; // Index 1
+ _unitData pushBack _nameColor; // Index 2
+ _unitData pushBack _locationData; // Index 3
+ _unitData pushBack _role; // Index 4
+ _unitData pushBack _groupName; // Index 5
+ _unitData pushBack _drawRoleAndGroup; // Index 6
+ _unitData pushBack _isPassenger;
+ _unitData pushBack _isCommander;
+
+ // ...Then add the unit's name to the name array...
+ _names pushBack _x;
+
+ // ...and the unit's data to the data array.
+ _data append [_unitData];
+ };
+ };
+ } forEach (crew _entity);
+ };
+} count _entities;
+
+
+//------------------------------------------------------------------------------------
+// Returns arrays of names and data for all valid entities.
+//------------------------------------------------------------------------------------
+
+[_names,_data]
diff --git a/f/nametag/functions/fn_nametagResetFont.sqf b/f/nametag/functions/fn_nametagResetFont.sqf
new file mode 100644
index 000000000..10a528d0e
--- /dev/null
+++ b/f/nametag/functions/fn_nametagResetFont.sqf
@@ -0,0 +1,115 @@
+//====================================================================================
+//
+// fn_nametagResetFont.sqf - Interprets font sets into typefaces and weights.
+// Updates font size and spread depending on a dynamic
+// spread coefficient and possible CBA setting alterations.
+//
+// > call f_fnc_nametagResetFont; <
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Interpret font presets and parse into primary and secondary typefaces and weights.
+//------------------------------------------------------------------------------------
+
+// Spacing may very between fonts greatly. Etelka is especially broken.
+// Format: [Primary font, secondary font, spacing top, spacing bottom, shadow]
+private _fontData =
+switch F_NT_FONT_FACE do
+{
+ case "Roboto": {["RobotoCondensedBold","RobotoCondensed",0.50,0.65,2]};
+ case "RobotoLight": {["RobotoCondensed","RobotoCondensedLight",0.50,0.65,2]};
+ case "Purista": {["PuristaBold","PuristaMedium",0.47,0.65,2]};
+ case "PuristaLight":{["PuristaMedium","PuristaLight",0.47,0.65,2]};
+ case "Etelka": {["EtelkaNarrowMediumPro","EtelkaNarrowMediumPro",0.4,0.7,2]};
+ case "Tahoma": {["TahomaB","TahomaB",0.55,0.65,2]};
+ default {["RobotoCondensedBold","RobotoCondensed",0.50,0.65,2]};
+};
+
+F_NT_FONT_FACE_MAIN = (_fontData select 0);
+F_NT_FONT_FACE_SEC = (_fontData select 1);
+F_NT_FONT_SHADOW = (_fontData select 4);
+
+
+//------------------------------------------------------------------------------------
+// Interpret font color presets and parse accordingly.
+//------------------------------------------------------------------------------------
+
+// Spacing may very between fonts greatly. Etelka is especially broken.
+// Format: [Main color, secondary color, crew color, same group team white color,
+// team red color, team green color, team blue color, team yellow color]
+private _colorData =
+switch F_NT_FONT_COLOR do
+{
+ case "WHGreen":
+ {[[0.68,0.90,0.36,0.85],[0.90,0.90,0.90,0.85],[0.95,0.80,0.10,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ [0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+ //case "UIColor": TODO: Implement
+ //{[[(profilenamespace getVariable ['IGUI_TEXT_RGB_R',0]),(profilenamespace getVariable ['IGUI_TEXT_RGB_G',0]),(profilenamespace getVariable ['IGUI_TEXT_RGB_B',0]),(profilenamespace getVariable ['IGUI_TEXT_RGB_A',0])],[0.90,0.90,0.90,0.85],[0.95,0.80,0.10,0.85],
+ //[0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ //[0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+ case "ACERust":
+ {[[0.77, 0.51, 0.08, 0.95],[0.90,0.75,0,0.85],[0.77, 0.51, 0.08, 0.95],
+ [1, 1, 1, 0.95],[1,0,0,0.95],[0,1,0,0.95],
+ [0,0,1,0.95],[1,1,0,0.95]]};
+ case "TMTMTeal":
+ {[[0.35,0.80,0.90,0.85],[0.90,0.90,0.90,0.85],[0.15,0.70,0.90,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ [0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+ case "COALCrimson":
+ {[[0.90,0.10,0.10,0.85],[0.80,0.78,0.78,0.85],[0.85,0.6,0.2,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ [0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+ case "FAWhite":
+ {[[0.90,0.90,0.90,0.85],[0.90,0.90,0.90,0.85],[0.80,0.80,0.80,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.70,0.70,0.85],[0.70,0.90,0.70,0.85],
+ [0.75,0.75,0.90,0.85],[0.80,0.80,0.55,0.85]]};
+ case "STSand":
+ {[[0.90,0.75,0,0.85],[0.90,0.90,0.90,0.85],[0.90,0.75,0,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ [0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+ case "BromaPurple":
+ {[[0.85,0.50,0.90,0.85],[0.68,0.90,0.36,0.85],[0.85,0.50,0.90,0.85],
+ [0.85,0.50,0.90,0.85],[0.90,0.4,0.4,0.85],[0.85,0.50,0.90,0.85],
+ [0.6,0.6,0.90,0.85],[0.90,0.90,0.6,0.85]]};
+ default
+ {[[0.68,0.90,0.36,0.85],[0.90,0.90,0.90,0.85],[0.95,0.80,0.10,0.85],
+ [0.90,0.90,0.90,0.85],[0.90,0.25,0.25,0.85],[0.50,0.90,0.40,0.85],
+ [0.45,0.45,0.90,0.85],[0.90,0.90,0.30,0.85]]};
+};
+
+// Distribute colors from data array to global color settings.
+F_NT_FONT_COLOR_DEFAULT= (_colorData select 0);
+F_NT_FONT_COLOR_OTHER = (_colorData select 1);
+F_NT_FONT_COLOR_CREW = (_colorData select 2);
+
+F_NT_FONT_COLOR_GROUP = (_colorData select 3);
+F_NT_FONT_COLOR_GROUPR = (_colorData select 4);
+F_NT_FONT_COLOR_GROUPG = (_colorData select 5);
+F_NT_FONT_COLOR_GROUPB = (_colorData select 6);
+F_NT_FONT_COLOR_GROUPY = (_colorData select 7);
+
+
+//------------------------------------------------------------------------------------
+// Update global font sizes.
+//------------------------------------------------------------------------------------
+
+F_NT_FONT_SIZE_MAIN = F_NT_FONT_SIZE_RAW * F_NT_FONT_SIZE_MULTI;
+F_NT_FONT_SIZE_SEC = F_NT_FONT_SIZE_MAIN * F_NT_FONT_SIZE_SEC_MULTI;
+
+
+//------------------------------------------------------------------------------------
+// Update global font spread.
+//------------------------------------------------------------------------------------
+
+private _spacingMultiplier = F_NT_FONT_SPREAD_MULTI * F_NT_FONT_SIZE_SEC;
+
+// Coefficients are used. Should be changed if you change the default font, probably.
+private _topMultiplier = (_fontData select 2); // Default: (0.50)
+private _bottomMultiplier = (_fontData select 3); // Default: (0.65)
+
+// Top and bottom are separate to avoid a wonky appearance.
+F_NT_FONT_SPREAD_TOP_MULTI = _spacingMultiplier * _topMultiplier;
+F_NT_FONT_SPREAD_BOTTOM_MULTI = _spacingMultiplier * _bottomMultiplier;
diff --git a/f/nametag/functions/fn_nametagUpdate.sqf b/f/nametag/functions/fn_nametagUpdate.sqf
new file mode 100644
index 000000000..8b5e245bf
--- /dev/null
+++ b/f/nametag/functions/fn_nametagUpdate.sqf
@@ -0,0 +1,206 @@
+//====================================================================================
+//
+// fn_nametagUpdate.sqf - Updates values for F3 nametags
+// Intended to be run each frame.
+//
+// > F_NT_EVENTHANDLER = addMissionEventHandler
+// ["Draw3D", { call f_fnc_nametagUpdate }]; <
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Initializing variables.
+//------------------------------------------------------------------------------------
+// TODO: all of this only if there's something to draw
+// Store the player and the player's group.
+private _player = player;
+private _playerGroup = group _player;
+// TODO: Maybe just use playerSide?
+
+// Find player camera's position.
+private _cameraPositionAGL = positionCameraToWorld[0,0,0];
+private _cameraPositionASL = AGLtoASL _cameraPositionAGL;
+
+// Get zoom, which will be used to adjust size and spacing of text.
+private _zoom = call f_fnc_getZoom;
+
+// Make a copy of the global cache containing nearby entities and their data.
+private _toDraw =+ F_NT_CACHE;
+
+// Initialize other variables to be used.
+private _time = time;
+
+//For performance reasons, create private variables used in loops:
+private ["_index", "_unitData", "_startTime"];
+
+//------------------------------------------------------------------------------------
+// Collect player cursor target for drawing tags.
+//------------------------------------------------------------------------------------
+
+// Only collect the cursor target if it's within range and on the player's side.
+private _cursorObject =
+if ( (_player distance cursorTarget) <= (((F_NT_DRAWDISTANCE_CURSOR) * F_NT_VAR_NIGHT) * _zoom) &&
+ {(side group cursorTarget isEqualTo side _playerGroup)} )
+then { cursorTarget }
+else { objNull };
+
+
+//------------------------------------------------------------------------------------
+// If the cursor target fits above criteria, get the data for it.
+//------------------------------------------------------------------------------------
+
+// Only worry about the cursorObject at all if it's not null.
+if !( isNull _cursorObject ) then
+{
+ // Clean out any previous data.
+ private _newData = [[],[]];
+ private _cursorInCache = false;
+ {
+ // If the cursor target is already in the global cache (ie: cursor target
+ // is nearby)...
+ if ( _x in (_toDraw select 0) ) then
+ {
+ // ...then just take that data...
+ _index = (_toDraw select 0) find _x;
+ _unitData =+ ((_toDraw select 1) select _index);
+
+ // ...adjust it so it knows it's the cursor target...
+ _unitData set [7,true];
+
+ // ...take it out of the copy of the global cache...
+ (_toDraw select 0) deleteAt _index;
+ (_toDraw select 1) deleteAt _index;
+
+ // ...and save it for later.
+ (_newData select 0) pushBack _x;
+ (_newData select 1) pushBack _unitData;
+
+ // Also, let us know we don't need to process cursor any further.
+ _cursorInCache = true;
+ }
+ else
+ { _cursorInCache = false };
+ } count (crew _cursorObject);
+
+ // If the cursor target is not already in our global cache...
+ if !_cursorInCache then
+ {
+ // Check the cursor cache, which is used in case we're staring continuously
+ // at something far away.
+ if ( _cursorObject isEqualTo F_NT_CACHE_CURSOR ) then
+ // If it's in there, just take that data.
+ { _newData =+ F_NT_CACHE_CURSOR_DATA }
+ else
+ {
+ // If all else fails and the data is not in the cursor cache nor the global
+ // cache, then find the data anew.
+ _newData =
+ [_player,_playerGroup,_cameraPositionAGL,_cameraPositionASL,[_cursorObject],true]
+ call f_fnc_nametagGetData;
+ };
+ };
+
+ // Whatever data we did save for later, add it to the cursor cache...
+ F_NT_CACHE_CURSOR_DATA =+ _newData;
+
+ // ...and add it to the temporary copy of the global cache, too.
+ (_toDraw select 0) append (_newData select 0);
+ (_toDraw select 1) append (_newData select 1);
+};
+
+
+//------------------------------------------------------------------------------------
+// Draw everything currently in the temporary copy of the global cache.
+// This usually means drawing all nearby entities and the cursor.
+//------------------------------------------------------------------------------------
+
+{
+ _unitData =+ ( (_toDraw select 1) select _forEachIndex );
+
+ // Pass in the player's camera and zoom level.
+ _unitData append [_cameraPositionAGL,_zoom,_time,nil];
+
+ // Call the draw function with the above parameters.
+ _unitData call f_fnc_nametagDraw;
+} forEach (_toDraw select 0);
+
+
+//------------------------------------------------------------------------------------
+// Also, draw everything currently being faded out (ie: moused over it, moused away.)
+//------------------------------------------------------------------------------------
+
+// For every name in the cache of data for fading names...
+{
+ // Get the time we started rendering this tag.
+ _startTime = ( (F_NT_CACHE_FADE select 2) select _forEachIndex );
+
+ // If it hasn't been long enough that it should be invisible, draw it.
+ if ( _time < _startTime + F_NT_FADETIME) then
+ {
+ _unitData =+ ( (F_NT_CACHE_FADE select 1) select _forEachIndex );
+ _unitData append [_cameraPositionAGL,_zoom,_time,_startTime];
+ _unitData call f_fnc_nametagDraw;
+ }
+ // If it has been that long, delete it.
+ else
+ {
+ (F_NT_CACHE_FADE select 0) deleteAt _forEachIndex;
+ (F_NT_CACHE_FADE select 1) deleteAt _forEachIndex;
+ (F_NT_CACHE_FADE select 2) deleteAt _forEachIndex;
+ };
+} forEach (F_NT_CACHE_FADE select 0);
+
+
+//------------------------------------------------------------------------------------
+// If the cursor changed last frame, add the previous cursor to the cache of things
+// to fade out.
+//------------------------------------------------------------------------------------
+
+// TODO: move all fade shit to it's own function
+
+// If the last cursor is something we can draw a tag on...
+// ...and if the last cursor is not the current cursor...
+// ...and this thing isn't already being faded out...
+// ...and we're not already fading too much stuff...
+if (
+ !(isNull F_NT_CACHE_CURSOR)
+ && {!(_cursorObject isEqualTo F_NT_CACHE_CURSOR)}
+ ) then
+{
+ // Prevent the fade system from fading more than four tags
+ // at a time. Give priority to new fades.
+ if ( count (F_NT_CACHE_FADE select 0) > 4) then
+ {
+ _index = (count (F_NT_CACHE_FADE select 0)) - 4;
+
+ for "_i" from 0 to _index do
+ {
+ (F_NT_CACHE_FADE select 0) deleteAt 0;
+ (F_NT_CACHE_FADE select 1) deleteAt 0;
+ (F_NT_CACHE_FADE select 2) deleteAt 0;
+ };
+ };
+
+ // Prevent the fade system from fading the same tag twice.
+ if (((F_NT_CACHE_CURSOR_DATA select 0) select 0) in (F_NT_CACHE_FADE select 0)) then
+ {
+ {
+ _index =
+ (F_NT_CACHE_FADE select 0) find ((F_NT_CACHE_CURSOR_DATA select 0) select _forEachIndex);
+
+ (F_NT_CACHE_FADE select 0) deleteAt _index;
+ (F_NT_CACHE_FADE select 1) deleteAt _index;
+ (F_NT_CACHE_FADE select 2) deleteAt _index;
+ } forEach (F_NT_CACHE_CURSOR_DATA select 0);
+ };
+
+ // Then chuck all that data from the thing into the array of things to fade.
+ (F_NT_CACHE_FADE select 0) append (F_NT_CACHE_CURSOR_DATA select 0);
+ (F_NT_CACHE_FADE select 1) append (F_NT_CACHE_CURSOR_DATA select 1);
+ { (F_NT_CACHE_FADE select 2) pushBack time } forEach (F_NT_CACHE_CURSOR_DATA select 0);
+};
+
+// For the next frame, set the cache of the cursor to the current cursor.
+F_NT_CACHE_CURSOR = _cursorObject;
diff --git a/f/nametag/include/f_nametagBrief.sqf b/f/nametag/include/f_nametagBrief.sqf
new file mode 100644
index 000000000..e54a51ee0
--- /dev/null
+++ b/f/nametag/include/f_nametagBrief.sqf
@@ -0,0 +1,34 @@
+//====================================================================================
+//
+// f_nametagBrief.sqf - Gives non-CBA players options in briefing to config nametags.
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Construct a briefing depending on present settings.
+//------------------------------------------------------------------------------------
+
+[] spawn
+{
+ waitUntil {scriptDone f_script_briefing};
+
+ private _bstr = format ["FA NAMETAGS
Toggle name tags for friendly units by pressing %1.
Name tags are displayed when aiming at individual units up to and above %3m away, and constantly for all units within %2m.
Note that using CBA will disable this menu and replace it with an enchanced and expanded one under ADDON OPTIONS. Code contributed by Whale#5963.
+ ",F_NT_ACTIONKEY_KEYNAMES, F_NT_DRAWDISTANCE_NEAR,F_NT_DRAWDISTANCE_CURSOR];
+
+ if !F_NT_MOD_CBA then
+ {
+ _bstr = _bstr + "
NEARBY TAGS? ( YES / NO )
+
Should nametags be shown for all units nearby, rather than just those under cursor?";
+
+ _bstr = _bstr + "
SHOW GROUP? ( YES / NO )
+
Display the unit's group on mouseover?";
+
+ _bstr = _bstr + "
FONT SIZE? ( SMALL / MEDIUM / LARGE )
Font size of nametag text.";
+
+ };
+
+ // Add brief to map screen.
+ player createDiaryRecord ["Diary", ["FA Nametags (Options)",_bstr]];
+};
diff --git a/f/nametag/include/f_nametagCacheLoop.sqf b/f/nametag/include/f_nametagCacheLoop.sqf
new file mode 100644
index 000000000..a2695a188
--- /dev/null
+++ b/f/nametag/include/f_nametagCacheLoop.sqf
@@ -0,0 +1,54 @@
+//====================================================================================
+//
+// f_nametagCacheLoop.sqf - Checks near entities and processes them for tag data.
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Initial setup.
+//------------------------------------------------------------------------------------
+
+// Array that will hold all cache data.
+F_NT_CACHE = [];
+
+// Variable that will be used to keep track of Arma's day/night cycle.
+F_NT_VAR_NIGHT = 1;
+
+
+//------------------------------------------------------------------------------------
+// Loops every second as long as the scheduler complies.
+//------------------------------------------------------------------------------------
+
+// Check if CBA is present.
+if F_NT_MOD_CBA then
+{
+ F_NT_CACHE_LOOP =
+ [
+ {
+ if F_NT_NAMETAGS_ON then
+ { call f_fnc_nametagCache };
+ },
+ 0.5,
+ []
+ ] call CBA_fnc_addPerFrameHandler;
+}
+else
+{
+ F_NT_CACHE_LOOP = [] spawn
+ {
+ private _delay = 0.5;
+ F_NT_CACHE_LOOP_RUN = true;
+
+ // While the above variable is true, run the loop.
+ while {F_NT_CACHE_LOOP_RUN} do
+ {
+ // ...Cache all nearby units and their data...
+ if F_NT_NAMETAGS_ON then
+ { call f_fnc_nametagCache };
+
+ // ...and then wait for the delay before doing it again.
+ sleep _delay;
+ };
+ };
+};
diff --git a/f/nametag/include/f_nametagCheckMods.sqf b/f/nametag/include/f_nametagCheckMods.sqf
new file mode 100644
index 000000000..b81741385
--- /dev/null
+++ b/f/nametag/include/f_nametagCheckMods.sqf
@@ -0,0 +1,13 @@
+//====================================================================================
+//
+// f_nametagInitMods.sqf - Checks for ACE, ACRE, and/or TFAR presence.
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Checking for mods.
+//------------------------------------------------------------------------------------
+
+// CBA
+F_NT_MOD_CBA = isClass(configFile >> "CfgPatches" >> "cba_settings");
diff --git a/f/nametag/include/f_nametagDisableKey.sqf b/f/nametag/include/f_nametagDisableKey.sqf
new file mode 100644
index 000000000..abb4458e0
--- /dev/null
+++ b/f/nametag/include/f_nametagDisableKey.sqf
@@ -0,0 +1,48 @@
+//====================================================================================
+//
+// f_nametagDisableKey.sqf - Sets up a key that can be used to flip the nametag
+// system on and off with a press.
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// Setup the Action Key, default '='.
+//------------------------------------------------------------------------------------
+
+// None of this will execute if the actionkey line in CONFIG is commented out.
+if (!isNil "F_NT_ACTIONKEY") then
+{
+ F_NT_ACTIONKEY_KEYS = actionKeys F_NT_ACTIONKEY;// This key, a global variable.
+ F_NT_ACTIONKEY_KEYNAMES = actionKeysNames F_NT_ACTIONKEY; // Which is named this...
+
+ // Function that will determine when the disableKey is depressed.
+ F_NT_KEYDOWN =
+ {
+ private _key = _this select 1;
+ private _handled = false;
+ if(_key in F_NT_ACTIONKEY_KEYS) then
+ {
+ F_NT_NAMETAGS_ON = !F_NT_NAMETAGS_ON;
+ _handled = true;
+ };
+ _handled;
+ };
+
+ // Function that will determine when the disableKey is released.
+ F_NT_KEYUP =
+ {
+ private _key = _this select 1;
+ private _handled = false;
+ if(_key in F_NT_ACTIONKEY_KEYS) then
+ {
+ _handled = true;
+ };
+ _handled;
+ };
+
+ // Add eventhandlers (functions above).
+ (findDisplay 46) displayAddEventHandler ["keydown", "_this call F_NT_KEYDOWN"];
+ (findDisplay 46) displayAddEventHandler ["keyup", "_this call F_NT_KEYUP"];
+};
diff --git a/f/nametag/include/f_nametagInitTalking.sqf b/f/nametag/include/f_nametagInitTalking.sqf
new file mode 100644
index 000000000..d76710d55
--- /dev/null
+++ b/f/nametag/include/f_nametagInitTalking.sqf
@@ -0,0 +1,59 @@
+//====================================================================================
+//
+// f_nametagInitTalking.sqf - Places monitors on all players to check if they are
+// speaking.
+//
+// Adapted from code by Killzone Kid, and from ACE3 code.
+// - http://killzonekid.com/arma-scripting-tutorials-whos-talking/
+// - https://github.com/acemod/ACE3
+//
+// Code previously from CSE. Credit to commy2.
+//
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+//------------------------------------------------------------------------------------
+// CBA version, if CBA is present.
+//------------------------------------------------------------------------------------
+
+if F_NT_MOD_CBA then
+{
+ [{
+ // Change setting only if new isn't equal to old.
+ private _old = player getVariable ["wh_nt_isSpeaking", false];
+ private _new = (!(isNull findDisplay 55));
+
+ // Broadcast variable across server.
+ if (!(_old isEqualTo _new)) then
+ { player setVariable ["wh_nt_isSpeaking", _new, true] };
+ } , 0.25, []] call CBA_fnc_addPerFrameHandler;
+}
+
+//------------------------------------------------------------------------------------
+// Scheduled version, if CBA is not present.
+//------------------------------------------------------------------------------------
+
+else
+{
+ F_NT_TALKING_LOOP = [] spawn
+ {
+ private _delay = 0.25;
+ F_NT_TALKING_LOOP_RUN = true;
+
+ // While the above variable is true, run the loop.
+ while {F_NT_TALKING_LOOP_RUN} do
+ {
+ // Change setting only if new isn't equal to old.
+ private _old = player getVariable ["wh_nt_isSpeaking", false];
+ private _new = (!(isNull findDisplay 55));
+
+ // Broadcast variable across server.
+ if (!(_old isEqualTo _new)) then
+ { player setVariable ["wh_nt_isSpeaking", _new, true] };
+
+ // ...and then wait for the delay before doing it again.
+ sleep _delay;
+ };
+ };
+};
diff --git a/f/nametag/include/f_nametagSettings.sqf b/f/nametag/include/f_nametagSettings.sqf
new file mode 100644
index 000000000..2e0ce735c
--- /dev/null
+++ b/f/nametag/include/f_nametagSettings.sqf
@@ -0,0 +1,117 @@
+//====================================================================================
+//
+// f_nametagSettings.sqf - Contains optional CBA addon settings.
+// @ /u/Whalen207 | Whale #5963
+//
+//====================================================================================
+
+// Check if CBA is present.
+if F_NT_MOD_CBA then
+{
+ // Setting for disabling the entire system.
+ [
+ "F_NT_NAMETAGS_ON", // Internal setting name and value set.
+ "CHECKBOX", // Setting type.
+ "F3 Nametag System", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ true // Setting type-specific data.
+ ] call CBA_Settings_fnc_init;
+
+ // Setting for changing the typeface.
+ [
+ "F_NT_FONT_FACE", // Internal setting name and value set.
+ "LIST", // Setting type.
+ "Font Face", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ [
+ [F_NT_FONT_FACE,"Roboto","RobotoLight","Purista","PuristaLight","Etelka","Tahoma"],
+ ["Default","Roboto (Bold) *","Roboto (Light)","Purista (Bold)","Purista (Light)","Etelka Narrow","Tahoma (Bold)"],
+ 0
+ ], // Setting type-specific data.
+ nil,
+ { call f_fnc_nametagResetFont; }
+ // Executed at mission start and every change.
+ ] call CBA_Settings_fnc_init;
+
+ // Setting for changing typeface color.
+ [
+ "F_NT_FONT_COLOR", // Internal setting name and value set.
+ "LIST", // Setting type.
+ "Font Color", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ [
+ [F_NT_FONT_COLOR,"WHGreen","ACERust","TMTMTeal","COALCrimson","FAWhite","STSand","BromaPurple"],
+ ["Default","WH Green *","ACE Rust","TMTM Teal","COAL Crimson","FA White","ST Sand","BromA Purple"],
+ 0
+ ], // Setting type-specific data.
+ nil,
+ { call f_fnc_nametagResetFont; }
+ // Executed at mission start and every change.
+ ] call CBA_Settings_fnc_init;
+
+ // Setting to dynamically alter font size.
+ [
+ "F_NT_FONT_SIZE_MULTI", // Internal setting name and value set.
+ "SLIDER", // Setting type.
+ "Font Size", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ [0.75, 1.25, 1, 2], // Setting type-specific data.
+ nil, // Nil or 0 for changeable, 1 to reset to default, 2 to lock.
+ { call f_fnc_nametagResetFont; }
+ // Executed at mission start and every change.
+ ] call CBA_Settings_fnc_init;
+
+ // Setting to dynamically alter font spread.
+ [
+ "F_NT_FONT_SPREAD_MULTI", // Internal setting name and value set.
+ "SLIDER", // Setting type.
+ "Font Spread", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ [0.75, 1.25, 1, 2], // Setting type-specific data.
+ nil, // Nil or 0 for changeable, 1 to reset to default, 2 to lock.
+ { call f_fnc_nametagResetFont; }
+ // Executed at mission start and every change.
+ ] call CBA_Settings_fnc_init;
+
+ // Setting to flip drawcursoronly.
+ [
+ "F_NT_DRAWCURSORONLY", // Internal setting name and value set.
+ "CHECKBOX", // Setting type.
+ "Cursor Only (Saves FPS)", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ F_NT_DRAWCURSORONLY // Setting type-specific data.
+ ] call CBA_Settings_fnc_init;
+
+
+ // Option to not show group tags.
+ [
+ "F_NT_SHOW_GROUP", // Internal setting name and value set.
+ "CHECKBOX", // Setting type.
+ "Show Group Names", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ F_NT_SHOW_GROUP, // Setting type-specific data.
+ nil, // Nil or 0 for changeable.
+ {}
+ ] call CBA_Settings_fnc_init;
+
+ // Option to not show role tags.
+ [
+ "F_NT_SHOW_ROLE", // Internal setting name and value set.
+ "CHECKBOX", // Setting type.
+ "Show Unit Roles", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ F_NT_SHOW_ROLE, // Setting type-specific data.
+ nil, // Nil or 0 for changeable.
+ {}
+ ] call CBA_Settings_fnc_init;
+
+ // Attaches nametags to player heads, like ACE.
+ // Missionmaker can change the default setting.
+ [
+ "F_NT_FONT_HEIGHT_ONHEAD", // Internal setting name and value set.
+ "CHECKBOX", // Setting type.
+ "Show Above Head", // Name shown in menu.
+ "F3 Nametags", // Category shown in menu.
+ F_NT_FONT_HEIGHT_ONHEAD // Setting type-specific data.
+ ] call CBA_Settings_fnc_init;
+};
\ No newline at end of file
diff --git a/f/preMount/fn_mountGroups.sqf b/f/preMount/fn_mountGroups.sqf
index f72bd6747..4f220354b 100644
--- a/f/preMount/fn_mountGroups.sqf
+++ b/f/preMount/fn_mountGroups.sqf
@@ -1,5 +1,5 @@
// F3 - Mount Groups Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// MAKE SURE THE SCRIPT IS ONLY RUN SERVER-SIDE
@@ -7,50 +7,33 @@ if (!isServer) exitWith {};
// ====================================================================================
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_objects","_crew","_vehs","_grps","_units"];
-
-// ====================================================================================
-
// SET KEY VARIABLES
// Using the arguments passed to the script, we first define some local variables.
-_vehs = _this select 0; // Array of vehicles (objects)
-_grps = _this select 1; // Array of group names (as strings)
-_crew = if (count _this > 2) then {_this select 2} else {true}; // Mount into crew positions? (optional - default:true)
-_fill = if (count _this > 3) then {_this select 3} else {false}; // Ignore fireteam cohesion in favor of filling vehicles? (optional - default:false)
+params [
+ ["_vehs", [], [[]]],
+ ["_grps", [], [[]]],
+ ["_crew", true, [true]],
+ ["_fill", false, [false]]
+];
-// ====================================================================================
-
-// CLEAN THE GROUP ARRAY
-// First we check if there are illegal groups (non-existent) in the array and remove them.
-
-if ({isNil _x} count _grps > 0) then {
- {
- if (isNil _x) then {
- _grps set [_forEachIndex,grpNull];
- };
- } forEach _grps;
-};
-
-_grps = _grps - [grpNull];
+//_vehs: Array of vehicles (objects)
+//_grps: Array of group names (as strings)
+//_crew: Mount into crew positions? (optional - default:true)
+//_fill: Ignore fireteam cohesion in favor of filling vehicles? (optional - default:false)
// ====================================================================================
-// PROCESS GROUPS
-// Check the passed groups to make sure none of them is empty and they have at least one unit that's not inside a vehicle
-{
- _grp = call compile format ["%1",_x];
- _grps set [_forEachIndex,_grp];
-
- if (count (units _grp) == 0 || {isNull (assignedVehicle _x)} count (units _grp) == 0) then {
- _grps set [_forEachIndex,grpNull];
- };
-
-} forEach _grps;
+// CLEAN THE GROUP ARRAY
-_grps = _grps - [grpNull];
+// First we check if there are illegal groups (non-existent) in the array and remove them.
+_grps = _grps select {!isNil _x};
+// Remove duplicates
+_grps = _grps arrayintersect _grps;
+// Transform list of strings to list of groups
+_grps = _grps apply {call compile format ["%1",_x]};
+// Only take groups where at least one unit is not in a vehicle
+_grps = _grps select { count (units _x) > 0 && {isNull (assignedVehicle _x)} count (units _x) > 0 };
// ====================================================================================
@@ -58,24 +41,17 @@ _grps = _grps - [grpNull];
// We make sure that there are only vehicles in the vehicle array
// If a soldier-unit is in the array then we check if we can use the vehicle he's in
{
- if (_x isKindOf "CAManBase") then {
- if (vehicle _x != _x) then {
- _vehs set [_forEachIndex,vehicle _x];
- } else {
- _vehs = _vehs - [_x];
- };
- };
+ if (_x isKindOf "CAManBase") then {
+ if (vehicle _x != _x) then {
+ _vehs set [_forEachIndex,vehicle _x];
+ } else {
+ _vehs = _vehs - [_x];
+ };
+ };
} forEach _vehs;
-// ====================================================================================
-
-// CHECK ARRAY COUNT
-// If any of the arrays is empty we don't need to execute the function and exit with a warning message.
-
-if (count _vehs == 0 || count _grps == 0) exitWith {
- player globalchat format ["f_fnc_preMount DBG: No vehicles and/or groups were parsed! _vehicles: %1,_grps: %2",_vehs,_grps];
- diag_log format ["f_fnc_preMount DBG: No vehicles and/or groups were parsed! _vehicles: %1,_grps: %2",_vehs,_grps];
-};
+//remove duplicates
+_vehs = _vehs arrayintersect _vehs;
// ====================================================================================
@@ -83,9 +59,8 @@ if (count _vehs == 0 || count _grps == 0) exitWith {
// We loop through all vehicles and assign crew & cargo accordingly
{
- private ["_veh","_grpsT","_emptyPositions"];
+ private ["_veh","_grpsT","_emptyPositions","_vehicleRoles"];
_veh = _x;
- _crew = if (count _this > 2) then {_this select 2} else {true};
// Calculate the number of spare seats
_emptyPositions = [typeOf _veh,true] call BIS_fnc_crewCount; // Count all available slots(this includes co-pilot, commander, main-gunner etc.)
@@ -93,41 +68,33 @@ if (count _vehs == 0 || count _grps == 0) exitWith {
_vehicleRoles = (typeOf _veh) call bis_fnc_vehicleRoles; // All available roles for the vehicle
// Temporary group array
- _grpsT = _grps;
+ _grpsT = +_grps;
// As long there are spare seats and groups left
while {_emptyPositions > 0 && count _grpsT > 0 && locked _veh != 2} do {
- private ["_grp","_units","_run"];
+ private ["_grp","_units","_unit","_slot","_path"];
_grp = _grpsT select 0;
_units = units _grp;
- _run = true;
// If fireteam cohesion should be kept count the available vehicle slots, compared to the units in the group that would need a seat
if (!_fill && {{isNull assignedVehicle _x} count _units > _emptyPositions}) then {
-
- _run = false;
-
- //Remove groups that would need to be split up
- _grpsT = _grpsT - [_grp];
- };
-
- if (_run) then {
-
- // Loop through all vehicle roles and place the units in them accordingly
- {
- _unit = _units select 0;
- _slot = _x select 0;
- _path = _x select 1;
-
- // If the slot is not a cargo slot and crew should be slotted
+ //Don't process group that would need to be split up, simply remove it from the array.
+ } else {
+ // Loop through all vehicle roles and place the units in them accordingly
+ {
+ _unit = _units select 0;
+ _slot = _x select 0;
+ _path = _x select 1;
+
+ // If the slot is not a cargo slot and crew should be slotted
if (_crew && {_slot != "CARGO" && isNull assignedVehicle _unit}) then{
if (_slot == "Driver" && (_veh emptyPositions "Driver") > 0 && !(lockedDriver _veh)) exitWith {_unit assignAsDriver _veh;_unit moveInDriver _veh;};
if (_slot == "Turret" && !(_veh lockedTurret _path) && isNull (_veh TurretUnit _path)) exitWith {_unit assignAsTurret [_veh,_path];_unit moveInTurret [_veh,_path];};
};
- if (_slot == "CARGO" && isNull assignedVehicle _unit && !(_veh lockedCargo (_path select 0))) then {
+ if (_slot == "CARGO" && isNull assignedVehicle _unit && !(_veh lockedCargo (_path select 0))) then {
_unit assignAsCargo _veh; _unit moveInCargo _veh;
};
@@ -139,12 +106,12 @@ if (count _vehs == 0 || count _grps == 0) exitWith {
// If no units are left, exit
if (count _units == 0) exitWith {};
- } forEach _vehicleRoles;
-
- // Remove the processed group from the temporary array
- _grpsT = _grpsT - [_grp];
+ } forEach _vehicleRoles;
};
+ // Remove the processed/skipped group from the temporary array
+ _grpsT = _grpsT - [_grp];
+
// Check if all units in the group have been assigned a vehicle, remove group from both group arrays
if ({isNull assignedVehicle _x} count (units _grp) == 0) then {_grpsT = _grpsT - [_grp];_grps = _grps - [_grp]};
@@ -161,4 +128,4 @@ if (count _vehs == 0 || count _grps == 0) exitWith {
// OUTPUT
// We return all groups that weren't fully loaded
-_grps
\ No newline at end of file
+_grps
diff --git a/f/radio/f_channelsList.sqf b/f/radio/f_channelsList.sqf
new file mode 100644
index 000000000..b534c2450
--- /dev/null
+++ b/f/radio/f_channelsList.sqf
@@ -0,0 +1,233 @@
+// F3 - Folk ARPS Long-Range Radio Module
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+/*
+Set up radio channel candidate lists (MISSIONMAKER INPUT REQUIRED)
+Each channel is defined here by a channel name, colour, and an array of items which can grant channel access.
+Channels will be created IN ORDER OF THIS LIST. Keep this in mind if limiting the number of possible channels. All radio access items listed here will be used if channels are not split.
+Do not remove channels from this list. If you need to free up custom channels, use the limiting parameter in init.sqf.
+
+NAME (STRING) is the title visible to players in the UI.
+COLOUR (ARRAY OF 4 NUMBERS) is the RGBA colour value of the channel as it appears in the UI.
+OBJECTS (ARRAY OF STRINGS):
+INVENTORY (classname) items, such as backpacks or equipment, give the player talk and receive access when carried. Only player inventory is checked, NOT vehicles.
+VEHICLES (classname or variable name) give the player receive access when they are inside, and talk access when they are the driver.
+The channel eligibility array is not case-sensitive.
+
+You can also tag a specific unit or vehicle for access to specific channels by setting a variable on them:
+_unit setVariable ["f_var_radioChannelsObjectSpecific",[1,2,3],true];
+
+There is a maximum of 10 channels at any time. Add in these radios for GM and CSLA missions:
+
+ "US85_bpPRC77"
+ "CSLA_bpWpR129"
+ "CSLA_bpWpRF10"
+ "gm_gc_backpack_r105m_brn"
+ "gm_ge_backpack_sem35_oli"
+*/
+
+// Channel 1 (default: generic)
+_channelName1 = "LR Channel 1";
+_channelColour1 = [1, 0.3, 0.1, 1];
+_channelList1 = [
+ "B_RadioBag_01_black_F"
+];
+
+// Channel 2 (default: AAF)
+_channelName2 = "LR Channel 2";
+_channelColour2 = [0.06,0.9,0,1];
+_channelList2 = [
+ "B_RadioBag_01_digi_F",
+ "vehAAF_COV",
+ "vehAAF_IFV1",
+ "vehAAF_IFV2",
+ "vehAAF_AV",
+ "vehAAF_BV",
+ "vehAAF_CV",
+ "vehAAF_TNK1",
+ "vehAAF_TH1",
+ "vehAAF_TH2",
+ "vehAAF_TH3",
+ "vehAAF_TH4",
+ "vehAAF_TH5",
+ "vehAAF_TH6",
+ "vehAAF_TH7",
+ "vehAAF_TH8",
+ "vehAAF_AH1",
+ "vehAAF_CAS1"
+];
+
+// Channel 3 (default: LDF)
+_channelName3 = "LR Channel 3";
+_channelColour3 = [0.06,0.9,0,1];
+_channelList3 = [
+ "B_RadioBag_01_eaf_F",
+ "vehLDF_COV",
+ "vehLDF_IFV1",
+ "vehLDF_IFV2",
+ "vehLDF_AV",
+ "vehLDF_BV",
+ "vehLDF_CV",
+ "vehLDF_TNK1",
+ "vehLDF_TH1",
+ "vehLDF_TH2",
+ "vehLDF_TH3",
+ "vehLDF_TH4",
+ "vehLDF_TH5",
+ "vehLDF_TH6",
+ "vehLDF_TH7",
+ "vehLDF_TH8",
+ "vehLDF_AH1",
+ "vehLDF_CAS1"
+];
+
+// Channel 4 (default: CSAT Pacific)
+_channelName4 = "LR Channel 4";
+_channelColour4 = [0.9,0,0,1];
+_channelList4 = [
+ "B_RadioBag_01_ghex_F",
+ "vehCSAT_COV",
+ "vehCSAT_IFV1",
+ "vehCSAT_IFV2",
+ "vehCSAT_AV",
+ "vehCSAT_BV",
+ "vehCSAT_CV",
+ "vehCSAT_TNK1",
+ "vehCSAT_TH1",
+ "vehCSAT_TH2",
+ "vehCSAT_TH3",
+ "vehCSAT_TH4",
+ "vehCSAT_TH5",
+ "vehCSAT_TH6",
+ "vehCSAT_TH7",
+ "vehCSAT_TH8",
+ "vehCSAT_AH1",
+ "vehCSAT_CAS1"
+];
+
+// Channel 5 (default: CSAT Mediterranean)
+_channelName5 = "LR Channel 5";
+_channelColour5 = [0.9,0,0,1];
+_channelList5 = [
+ "B_RadioBag_01_hex_F",
+ "vehCSAT_COV",
+ "vehCSAT_IFV1",
+ "vehCSAT_IFV2",
+ "vehCSAT_AV",
+ "vehCSAT_BV",
+ "vehCSAT_CV",
+ "vehCSAT_TNK1",
+ "vehCSAT_TH1",
+ "vehCSAT_TH2",
+ "vehCSAT_TH3",
+ "vehCSAT_TH4",
+ "vehCSAT_TH5",
+ "vehCSAT_TH6",
+ "vehCSAT_TH7",
+ "vehCSAT_TH8",
+ "vehCSAT_AH1",
+ "vehCSAT_CAS1"
+];
+
+// Channel 6 (default: CSAT Urban)
+_channelName6 = "LR Channel 6";
+_channelColour6 = [0.9,0,0,1];
+_channelList6 = [
+ "B_RadioBag_01_oucamo_F",
+ "vehCSAT_COV",
+ "vehCSAT_IFV1",
+ "vehCSAT_IFV2",
+ "vehCSAT_AV",
+ "vehCSAT_BV",
+ "vehCSAT_CV",
+ "vehCSAT_TNK1",
+ "vehCSAT_TH1",
+ "vehCSAT_TH2",
+ "vehCSAT_TH3",
+ "vehCSAT_TH4",
+ "vehCSAT_TH5",
+ "vehCSAT_TH6",
+ "vehCSAT_TH7",
+ "vehCSAT_TH8",
+ "vehCSAT_AH1",
+ "vehCSAT_CAS1"
+];
+
+// Channel 7 (default: NATO Mediterranean)
+_channelName7 = "LR Channel 7";
+_channelColour7 = [0.1,0.5,1,1];
+_channelList7 = [
+ "B_RadioBag_01_mtp_F",
+ "vehNATO_COV",
+ "vehNATO_IFV1",
+ "vehNATO_IFV2",
+ "vehNATO_AV",
+ "vehNATO_BV",
+ "vehNATO_CV",
+ "vehNATO_TNK1",
+ "vehNATO_TH1",
+ "vehNATO_TH2",
+ "vehNATO_TH3",
+ "vehNATO_TH4",
+ "vehNATO_TH5",
+ "vehNATO_TH6",
+ "vehNATO_TH7",
+ "vehNATO_TH8",
+ "vehNATO_AH1",
+ "vehNATO_CAS1"
+];
+
+// Channel 8 (default: NATO Woodland)
+_channelName8 = "LR Channel 8";
+_channelColour8 = [0.1,0.5,1,1];
+_channelList8 = [
+ "B_RadioBag_01_wdl_F",
+ "vehNATO_COV",
+ "vehNATO_IFV1",
+ "vehNATO_IFV2",
+ "vehNATO_AV",
+ "vehNATO_BV",
+ "vehNATO_CV",
+ "vehNATO_TNK1",
+ "vehNATO_TH1",
+ "vehNATO_TH2",
+ "vehNATO_TH3",
+ "vehNATO_TH4",
+ "vehNATO_TH5",
+ "vehNATO_TH6",
+ "vehNATO_TH7",
+ "vehNATO_TH8",
+ "vehNATO_AH1",
+ "vehNATO_CAS1"
+];
+
+// Channel 9 (default: NATO Pacific)
+_channelName9 = "LR Channel 9";
+_channelColour9 = [0.1,0.5,1,1];
+_channelList9 = [
+ "B_RadioBag_01_tropic_F",
+ "vehNATO_COV",
+ "vehNATO_IFV1",
+ "vehNATO_IFV2",
+ "vehNATO_AV",
+ "vehNATO_BV",
+ "vehNATO_CV",
+ "vehNATO_TNK1",
+ "vehNATO_TH1",
+ "vehNATO_TH2",
+ "vehNATO_TH3",
+ "vehNATO_TH4",
+ "vehNATO_TH5",
+ "vehNATO_TH6",
+ "vehNATO_TH7",
+ "vehNATO_TH8",
+ "vehNATO_AH1",
+ "vehNATO_CAS1"
+];
+
+// Channel 10 (default: unused)
+_channelName10 = "LR Channel 10";
+_channelColour10 = [0.9,0.2,0.9,1];
+_channelList10 = [
+ "Your stuff here!"
+];
\ No newline at end of file
diff --git a/f/radio/fn_radioAddHandlers.sqf b/f/radio/fn_radioAddHandlers.sqf
new file mode 100644
index 000000000..b11b40164
--- /dev/null
+++ b/f/radio/fn_radioAddHandlers.sqf
@@ -0,0 +1,110 @@
+// F3 - Folk ARPS Long-Range Radio Module
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+/* ========================
+This function adds local event handlers to the player which grant radio channels when picking up a backpack or entering a vehicle. It also makes an initial check to see what they've got to begin with.
+It's activated by f\radio\fn_radioChannels.sqf.
+=========================== */
+
+// Wait for player to be properly initialised
+waitUntil {(!isNull player && {player == player}) && !(isNil "f_var_radioChannelsUnified")};
+
+// Add player to the correct channels if they have a backpack
+[player] spawn f_fnc_radioCheckChannels;
+
+// Now bail if they've already been handled
+if (player getVariable ["f_var_radioHandlersAdded",false]) exitWith {};
+
+// Update channels if they drop a backpack
+player addEventHandler ["put", {
+ params ["_unit", "_container", "_item"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they take a backpack
+player addEventHandler ["take", {
+ params ["_unit", "_container", "_item"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they open their inventory
+player addEventHandler ["inventoryOpened", {
+ params ["_unit", "_container"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they close their inventory
+player addEventHandler ["inventoryClosed", {
+ params ["_unit", "_container"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they get in a vehicle
+player addEventHandler ["getInMan", {
+ params ["_unit", "_role", "_vehicle", "_turret"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they get out of a vehicle
+player addEventHandler ["getOutMan", {
+ params ["_unit", "_role", "_vehicle", "_turret"];
+ [_unit] spawn f_fnc_radioCheckChannels;
+}];
+
+// Update channels if they switch seats in a vehicle
+player addEventHandler ["seatSwitchedMan", {
+ params ["_unit1", "_unit2", "_vehicle"];
+ [_unit1] spawn f_fnc_radioCheckChannels;
+}];
+
+// Players can manually toggle the radio of the vehicle they're in (for themselves only). This is persistent and per-vehicle. The unit's own channels (from items and variables) aren't affected.
+player addAction [
+ "Turn off vehicle radio",
+ {
+ params ["_target", "_caller", "_actionId", "_arguments"];
+ private _radioOn = (vehicle _caller) getVariable ["f_var_radioIsOn",true];
+ (vehicle _caller) setVariable ["f_var_radioIsOn",!_radioOn];
+ [_caller] spawn f_fnc_radioCheckChannels;
+ },
+ nil,
+ 0,
+ false,
+ true,
+ "",
+ "vehicle _this != _this && {vehicle _this getVariable ['f_var_radioIsOn',true]}"
+];
+
+player addAction [
+ "Turn on vehicle radio",
+ {
+ params ["_target", "_caller", "_actionId", "_arguments"];
+ private _radioOn = (vehicle _caller) getVariable ["f_var_radioIsOn",true];
+ (vehicle _caller) setVariable ["f_var_radioIsOn",!_radioOn];
+ [_caller] spawn f_fnc_radioCheckChannels;
+ },
+ nil,
+ 0,
+ false,
+ true,
+ "",
+ "vehicle _this != _this && {!(vehicle _this getVariable ['f_var_radioIsOn',true])}"
+];
+
+// Just to be sure...
+2 enableChannel false;
+// Force enable direct chat, mostly in case they're a reslot - F3 Spectator turns off direct chat
+if (typeOf player != "VirtualSpectator_F") then {
+ 5 enableChannel true;
+};
+
+// Set a variable on the player to prove they've got handlers
+player setVariable ["f_var_radioHandlersAdded",true];
+
+// DEBUG
+if (f_param_debugMode == 1) then
+{
+ systemChat "DEBUG (fn_radioAddHandlers.sqf): added radio event handlers to local player";
+};
+
+sleep 1;
+[player] spawn f_fnc_radioCheckChannels;
\ No newline at end of file
diff --git a/f/radio/fn_radioChannels.sqf b/f/radio/fn_radioChannels.sqf
new file mode 100644
index 000000000..23bd7e357
--- /dev/null
+++ b/f/radio/fn_radioChannels.sqf
@@ -0,0 +1,89 @@
+// F3 - Folk ARPS Long-Range Radio Module
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+/* ========================
+This module is activated in init.sqf.
+Example:
+[true] spawn f_fnc_radioChannels;
+
+Arguments:
+0. Long-range split mode (boolean). If true, each radio backpack type has a separate channel. If false, all backpacks use one channel. Default false.
+1. Number of channels to create (number, optional). If this is set, the number of channels to be created will be limited to this number. If channels are not split, this will be automatically set to 1.
+
+This module requires some missionmaker configuration. If you want to enable vehicle radio access, you need to specify vehicle classes or variable names in "f\radio\f_channelsList.sqf".
+=========================== */
+
+params [["_splitMode",false],["_channelCount",10]];
+
+// Disable the Command channel to avoid cheating
+2 enableChannel false;
+
+if (isServer) then {
+
+ // Make the split mode something we can reference later
+ f_var_radioSplitMode = _splitMode;
+ publicVariable "f_var_radioSplitMode";
+
+ // Make the channel count something we can reference later
+ f_var_radioChannelCount = _channelCount;
+ publicVariable "f_var_radioChannelCount";
+
+ // This will be used later
+ f_var_radioChannelUnified = [];
+
+ // Define the list of channel properties. Go to this file to change which items and vehicles grant radio access.
+ #include "f_channelsList.sqf";
+
+ f_var_radioChannels = createHashmap;
+ f_var_radioChannels set [1, [_channelName1,_channelColour1, (_channelList1 apply {toLower _x})]];
+ f_var_radioChannels set [2, [_channelName2,_channelColour2, (_channelList2 apply {toLower _x})]];
+ f_var_radioChannels set [3, [_channelName3,_channelColour3, (_channelList3 apply {toLower _x})]];
+ f_var_radioChannels set [4, [_channelName4,_channelColour4, (_channelList4 apply {toLower _x})]];
+ f_var_radioChannels set [5, [_channelName5,_channelColour5, (_channelList5 apply {toLower _x})]];
+ f_var_radioChannels set [6, [_channelName6,_channelColour6, (_channelList6 apply {toLower _x})]];
+ f_var_radioChannels set [7, [_channelName7,_channelColour7, (_channelList7 apply {toLower _x})]];
+ f_var_radioChannels set [8, [_channelName8,_channelColour8, (_channelList8 apply {toLower _x})]];
+ f_var_radioChannels set [9, [_channelName9,_channelColour9, (_channelList9 apply {toLower _x})]];
+ f_var_radioChannels set [10, [_channelName10,_channelColour10,(_channelList10 apply {toLower _x})]];
+
+ // You can also tag a specific unit or vehicle for access to specific channels by setting a variable on them:
+ // _unit setVariable ["f_var_radioChannelsObjectSpecific",[1,2,3],true];
+
+ // Flatten all these arrays into one single list for potential later use
+ f_var_radioChannelsUnified = [];
+ f_var_radioChannelsUnified append (flatten (values f_var_radioChannels apply {_x select 1}));
+ f_var_radioChannelsUnified = f_var_radioChannelsUnified arrayIntersect f_var_radioChannelsUnified;
+
+ // If channels are not to be split, only create one.
+ if (!_splitMode) then {
+ _channelCount = 1;
+ };
+
+ // Set up channels to use
+ for "_i" from 1 to (_channelCount) do {
+ _channelName = format ["%1",((f_var_radioChannels get _i) select 0)];
+ _channelColour = ((f_var_radioChannels get _i) select 1);
+ _channelID = (radioChannelCreate [_channelColour, _channelName, "%UNIT_NAME", []]);
+ if (_channelID != _i) exitWith {diag_log format ["F3 Radio: Channel %1 creation failed - unacceptable change to channel list in f\radio\f_radioChannels.sqf or too many channels", _channelName]};
+ };
+
+ // Broadcast variables for client use
+ publicVariable "f_var_radioChannels";
+ publicVariable "f_var_radioChannelsUnified";
+
+ // Add server EH for JIP
+ addMissionEventHandler ["PlayerConnected",
+ {
+ params ["_id", "_uid", "_name", "_jip", "_owner", "_idstr"];
+ if (_jip) then {
+ [] remoteExec ["f_fnc_radioAddHandlers",_owner];
+ };
+ }];
+
+};
+
+// Run clientside stuff
+if (hasInterface) then {
+ [] call f_fnc_radioAddHandlers;
+};
+
diff --git a/f/radio/fn_radioCheckChannels.sqf b/f/radio/fn_radioCheckChannels.sqf
new file mode 100644
index 000000000..8ea2195b8
--- /dev/null
+++ b/f/radio/fn_radioCheckChannels.sqf
@@ -0,0 +1,112 @@
+// F3 - Folk ARPS Long-Range Radio Module
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+/* ========================
+This function checks what channels a player should have access to. It's called by event handlers set up by fn_radioAddHandlers.sqf.
+=========================== */
+params ["_unit"];
+
+// Skip if the unit is an AI, so formerly-player AI units can't break the radio channels of players they're local to.
+if !(isPlayer _unit) exitWith {};
+
+_splitMode = f_var_radioSplitMode;
+
+// Initialise variables
+private _radioChannels_unitSpecific = [];
+private _radioChannelsVehicleSpecific = [];
+private _channelObjects = [];
+private _channelsToAddListen = [];
+private _channelsToAddTalk = [];
+
+// Do all this twice to make sure it happens
+for "_i" from 1 to 2 do {
+
+ // Check whether the user has turned off the radio in this vehicle.
+ private _vicRadioOn = vehicle _unit getVariable ["f_var_radioIsOn",true];
+
+ // Iterate through the whole list of channels
+ for "_i" from 1 to f_var_radioChannelCount do {
+
+ // Check against the list of objects. If they have a backpack or other inventory item, add the currently checked channel number to the list of channels to add send & receive permissions for.
+ _channelObjects = ((f_var_radioChannels get _i) select 2);
+ {
+ if ([_unit,_x] call BIS_fnc_hasItem) then {
+ _channelsToAddListen pushBackUnique _i;
+ _channelsToAddTalk pushBackUnique _i;
+ };
+ } forEach _channelObjects;
+
+ // If the vehicle radio is turned off, don't check for vehicle-provided channels.
+ if _vicRadioOn then {
+ // Check for vehicles. Don't add send permissions unless they're the driver.
+ if ((toLower str vehicle _unit) in _channelObjects) then {
+ _channelsToAddListen pushBackUnique _i;
+ if (_unit in [driver vehicle _unit,commander vehicle _unit,gunner vehicle _unit]) then {
+ _channelsToAddTalk pushBackUnique _i;
+ };
+ };
+ // Same for vehicle classes.
+ if ((toLower typeOf vehicle _unit) in _channelObjects) then {
+ _channelsToAddListen pushBackUnique _i;
+ if (_unit in [driver vehicle _unit,commander vehicle _unit,gunner vehicle _unit]) then {
+ _channelsToAddTalk pushBackUnique _i;
+ };
+ };
+ };
+ };
+
+ // Detect any channels activated by setting a variable on the player or their vehicle
+ {
+ _channelsToAddListen pushBackUnique _x;
+ _channelsToAddTalk pushBackUnique _x;
+ } forEach (_unit getVariable ["f_var_radioChannelsObjectSpecific",[]]);
+
+ // If the vehicle radio is turned off, don't check for vehicle-provided channels.
+ if _vicRadioOn then {
+ {
+ _channelsToAddListen pushBackUnique _x;
+ if (_unit in [driver vehicle _unit,commander vehicle _unit,gunner vehicle _unit]) then {
+ _channelsToAddTalk pushBackUnique _x;
+ };
+ } forEach (vehicle _unit getVariable ["f_var_radioChannelsObjectSpecific",[]]);
+ };
+
+ // If running in unified mode, just compress all numbers down to the one channel if there are any channels to be added.
+ if (!_splitMode) then {
+
+ if ((count _channelsToAddListen) > 0) then {
+ _channelsToAddListen = [1];
+ };
+ if ((count _channelsToAddTalk) > 0) then {
+ _channelsToAddTalk = [1];
+ };
+ };
+
+ // Remove channels player shouldn't have access to
+ for "_i" from 1 to f_var_radioChannelCount do {
+
+ if !(_i in _channelsToAddTalk) then {
+ (_i + 5) enableChannel false;
+ };
+ if !(_i in _channelsToAddListen) then {
+ _i radioChannelRemove [_unit];
+ };
+
+ };
+
+ // Disable the Command channel to avoid cheating
+ 2 enableChannel false;
+
+ // Add player to the correct channels if they are eligible
+ {_x radioChannelAdd [_unit]} forEach _channelsToAddListen;
+ {(_x + 5) enableChannel true} forEach _channelsToAddTalk;
+
+ // DEBUG
+ if (f_param_debugMode == 1) then
+ {
+ systemChat format ["DEBUG (fn_radioCheckChannels.sqf): added listen channels %1, talk channels %2",_channelsToAddListen,_channelsToAddTalk];
+ };
+
+ // Delay between the two check cycles
+ sleep 1;
+};
\ No newline at end of file
diff --git a/f/radios/acre2/acre2_clientInit.sqf b/f/radios/acre2/acre2_clientInit.sqf
deleted file mode 100644
index 528f279e5..000000000
--- a/f/radios/acre2/acre2_clientInit.sqf
+++ /dev/null
@@ -1,209 +0,0 @@
-// F3 - ACRE Clientside Initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_presetName","_ret","_unit","_typeOfUnit"];
-
-// ====================================================================================
-
-// Set up the radio presets according to side.
-_presetName = switch(side player) do {
- case west:{"default2"};
- case east:{"default3"};
- case resistance:{"default4"};
- default {"default"};
-};
-if (f_radios_settings_acre2_disableFrequencySplit) then {
- _presetName = "default";
-};
-
-_ret = ["ACRE_PRC343", _presetName ] call acre_api_fnc_setPreset;
-_ret = ["ACRE_PRC148", _presetName ] call acre_api_fnc_setPreset;
-_ret = ["ACRE_PRC152", _presetName ] call acre_api_fnc_setPreset;
-_ret = ["ACRE_PRC117F", _presetName ] call acre_api_fnc_setPreset;
-_ret = ["ItemRadio", _presetName ] call acre_api_fnc_setPreset;
-
-
-// if dead, set spectator and exit
-if(!alive player) exitWith {[true] call acre_api_fnc_setSpectator;};
-
-_unit = player;
-
-// ====================================================================================
-
-// Set language of the units depending on side (BABEL API)
-switch (side _unit) do {
- case blufor: {
- f_radios_settings_acre2_language_blufor call acre_api_fnc_babelSetSpokenLanguages;
- [f_radios_settings_acre2_language_blufor select 0] call acre_api_fnc_babelSetSpeakingLanguage;
- };
- case opfor: {
- f_radios_settings_acre2_language_opfor call acre_api_fnc_babelSetSpokenLanguages;
- [f_radios_settings_acre2_language_opfor select 0] call acre_api_fnc_babelSetSpeakingLanguage;
- };
- case independent: {
- f_radios_settings_acre2_language_indfor call acre_api_fnc_babelSetSpokenLanguages;
- [f_radios_settings_acre2_language_indfor select 0] call acre_api_fnc_babelSetSpeakingLanguage;
- };
- default {
- f_radios_settings_acre2_language_indfor call acre_api_fnc_babelSetSpokenLanguages;
- [f_radios_settings_acre2_language_indfor select 0] call acre_api_fnc_babelSetSpeakingLanguage;
- };
-};
-
-// ====================================================================================
-
-// RADIO ASSIGNMENT
-
-// Wait for gear assignation to take place
-waitUntil{(player getVariable ["f_var_assignGear_done", false])};
-_typeOfUnit = _unit getVariable ["f_var_assignGear", "NIL"];
-
-// REMOVE ALL RADIOS
-// Wait for ACRE2 to initialise any radios the unit has in their inventory, and then
-// remove them to ensure that duplicate radios aren't added by accident.
-waitUntil{uiSleep 0.3; !("ItemRadio" in (items _unit + assignedItems _unit))};
-uiSleep 1;
-
-waitUntil{[] call acre_api_fnc_isInitialized};
-{_unit removeItem _x;} forEach ([] call acre_api_fnc_getCurrentRadioList);
-// ====================================================================================
-
-// ASSIGN RADIOS TO UNITS
-// Depending on the loadout used in the assignGear component, each unit is assigned
-// a set of radios.
-
-if(_typeOfUnit != "NIL") then {
-
- // If radios are enabled in the settings
- if(!f_radios_settings_acre2_disableRadios) then {
- // Everyone gets a short-range radio by default
- if(isnil "f_radios_settings_acre2_shortRange") then {
- if (_unit canAdd f_radios_settings_acre2_standardSHRadio) then {
- _unit addItem f_radios_settings_acre2_standardSHRadio;
- } else {
- f_radios_settings_acre2_standardSHRadio call f_radios_acre2_giveRadioAction;
- };
- } else {
- if(_typeOfUnit in f_radios_settings_acre2_shortRange) then {
- if (_unit canAdd f_radios_settings_acre2_standardSHRadio) then {
- _unit addItem f_radios_settings_acre2_standardSHRadio;
- } else {
- f_radios_settings_acre2_standardSHRadio call f_radios_acre2_giveRadioAction;
- };
- };
- };
-
- // If unit is in the above list, add a 148
- if(_typeOfUnit in f_radios_settings_acre2_longRange) then {
- if (_unit canAdd f_radios_settings_acre2_standardLRRadio) then {
- _unit addItem f_radios_settings_acre2_standardLRRadio;
- } else {
- f_radios_settings_acre2_standardLRRadio call f_radios_acre2_giveRadioAction;
- };
- };
- // If unit is in the list of units that receive an extra long-range radio, add another 148
- if(_typeOfUnit in f_radios_settings_acre2_extraRadios) then {
- if (_unit canAdd f_radios_settings_acre2_extraRadio) then {
- _unit addItem f_radios_settings_acre2_extraRadio;
- } else {
- f_radios_settings_acre2_extraRadio call f_radios_acre2_giveRadioAction;
- };
- };
- };
-};
-
-// ====================================================================================
-
-// ASSIGN DEFAULT CHANNELS TO RADIOS
-// Depending on the squad joined, each radio is assigned a default starting channel
-
-if(!f_radios_settings_acre2_disableRadios) then {
-
- private ["_presetArray","_presetLRArray","_radioSR","_radioLR","_radioExtra","_hasSR","_hasLR","_hasExtra","_groupID","_groupIDSplit","_groupChannelIndex","_groupLRChannelIndex","_groupName"];
-
- waitUntil {uiSleep 0.1; [] call acre_api_fnc_isInitialized};
-
- _presetArray = switch (side _unit) do {
- case blufor: {f_radios_settings_acre2_sr_groups_blufor};
- case opfor: {f_radios_settings_acre2_sr_groups_opfor};
- case independent: {f_radios_settings_acre2_sr_groups_indfor};
- default {f_radios_settings_acre2_sr_groups_indfor};
- };
-
- _presetLRArray = switch (side _unit) do {
- case blufor: {f_radios_settings_acre2_lr_groups_blufor};
- case opfor: {f_radios_settings_acre2_lr_groups_opfor};
- case independent: {f_radios_settings_acre2_lr_groups_indfor};
- default {f_radios_settings_acre2_lr_groups_indfor};
- };
-
- _radioSR = [f_radios_settings_acre2_standardSHRadio] call acre_api_fnc_getRadioByType;
- _radioLR = [f_radios_settings_acre2_standardLRRadio] call acre_api_fnc_getRadioByType;
- _radioExtra = [f_radios_settings_acre2_extraRadio] call acre_api_fnc_getRadioByType;
-
- _hasSR = ((!isNil "_radioSR") && {_radioSR != ""});
- _hasLR = ((!isNil "_radioLR") && {_radioLR != ""});
- _hasExtra = ((!isNil "_radioExtra") && {_radioExtra != ""});
-
- _groupID = groupID (group _unit);
- _groupIDSplit = [_groupID, " "] call bis_fnc_splitString;
-
- _groupChannelIndex = -1;
- _groupLRChannelIndex = -1;
-
- if ((count _groupIDSplit) > 2) then {
- _groupName = toUpper (_groupIDSplit select (count _groupIDSplit - 2));
-
- if (_hasSR) then {
- {
- if (_groupName in (_x select 1)) exitWith { _groupChannelIndex = _forEachIndex; };
- } forEach _presetArray;
- };
-
- if (_hasLR || _hasExtra) then {
- {
- if (_groupName in (_x select 1)) exitWith { _groupLRChannelIndex = _forEachIndex; };
- } forEach _presetLRArray;
- };
- };
-
- if (_groupChannelIndex == -1 && {_hasSR}) then {
- player sideChat format["[F3 ACRE2] Warning: Unknown group for short-range channel defaults (%1)", _groupID];
- _groupChannelIndex = 0;
- };
-
- if (_groupLRChannelIndex == -1 && {(_hasLR || _hasExtra)}) then {
- player sideChat format["[F3 ACRE2] Warning: Unknown group for long-range channel defaults (%1)", _groupID];
- _groupLRChannelIndex = 0;
- };
-
-
- if (_hasSR) then {
- if (f_var_debugMode == 1) then
- {
- player sideChat format["DEBUG (f\radios\acre2\acre2_clientInit.sqf): Setting radio channel for '%1' to %2", _radioSR, _groupChannelIndex + 1];
- };
- [_radioSR, (_groupChannelIndex + 1)] call acre_api_fnc_setRadioChannel;
- };
-
-
- if (_hasLR) then {
- if (f_var_debugMode == 1) then
- {
- player sideChat format["DEBUG (f\radios\acre2\acre2_clientInit.sqf): Setting radio channel for '%1' to %2", _radioLR, _groupLRChannelIndex + 1];
- };
- [_radioLR, (_groupLRChannelIndex + 1)] call acre_api_fnc_setRadioChannel;
- };
-
- if (_hasExtra) then {
- if (f_var_debugMode == 1) then
- {
- player sideChat format["DEBUG (f\radios\acre2\acre2_clientInit.sqf): Setting radio channel for '%1' to %2", _radioExtra, _groupLRChannelIndex + 1];
- };
- [_radioExtra, (_groupLRChannelIndex + 1)] call acre_api_fnc_setRadioChannel;
- };
-
-};
diff --git a/f/radios/acre2/acre2_init.sqf b/f/radios/acre2/acre2_init.sqf
deleted file mode 100644
index e09166d81..000000000
--- a/f/radios/acre2/acre2_init.sqf
+++ /dev/null
@@ -1,67 +0,0 @@
-// F3 - ACRE2 Init
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-private ["_presetSetup"];
-
-// precompile functions
-f_acre2_presetSetup = compile preprocessFileLineNumbers "f\radios\acre2\acre2_setupPresets.sqf";
-f_acre2_clientInit = compile preprocessFileLineNumbers "f\radios\acre2\acre2_clientInit.sqf";
-f_fnc_GiveSideRadio = compile preprocessFileLineNumbers "f\radios\acre2\fn_giveSideRadio.sqf";
-
-f_radios_acre2_giveRadioAction = {
- private["_x"];
- _x = _this;
- _unit = player;
- //Give the player a message so it isn't forgotten about during the briefing.
- [_x] spawn {
- waitUntil{time>3};
- systemChat format["[F3 ACRE2] Warning: No room to add radio '%1', report this to the mission maker. You now have a scroll-wheel action to get this radio.",_this select 0];
- };
-
- //Create addAction to give radio.
- _radioName = getText (configfile >> "CfgWeapons" >> _x >> "displayName");
- _actionID = _unit addAction [format ["[Radios] Give myself a %1 radio",_radioName],
- {
- _radioToGive = (_this select 3) select 0;
- _unit = (_this select 0),
- if (_unit canAdd _radioToGive) then {
- _unit addItem _radioToGive;
- _unit removeAction (_this select 2);
- } else {
- systemChat format["[F3 ACRE2] Warning: No room to add radio '%1', remove more stuff and try again",_radioToGive];
- };
- }
- ,[_x],0,false,false,"","(_target == _this)"];
- [_actionID,_unit] spawn {
- sleep 300;
- if (!isNull (_this select 1)) then {
- (_this select 1) removeAction (_this select 0);
- };
- };
-};
-
-
-// jip check
-if (!isDedicated && (isNull player)) then
-{
- waitUntil {sleep 0.1; !isNull player};
-};
-
-// include the smaller acre2 settings file.
-#include "acre2_settings.sqf"
-
-
-// setup presets
-_presetSetup = [] call f_acre2_presetSetup;
-
-
-// run client stuff.
-if (hasInterface) then
-{
- // define our languages (need to be the same order for everyone)
- {
- _x call acre_api_fnc_babelAddLanguageType;
- } foreach f_radios_settings_acre2_languages;
- [] call f_acre2_clientInit;
-};
\ No newline at end of file
diff --git a/f/radios/acre2/acre2_settings.sqf b/f/radios/acre2/acre2_settings.sqf
deleted file mode 100644
index b1d71247e..000000000
--- a/f/radios/acre2/acre2_settings.sqf
+++ /dev/null
@@ -1,144 +0,0 @@
-// F3 - ACRE2 Settings
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RADIO STRUCTURE
-
-// Whether any radios should be assigned at all, to any units
-// TRUE = Disable radios for all units
-f_radios_settings_acre2_disableRadios = FALSE;
-
-// Whether or not the radio frequencies should be left as default, and not split per side
-// TRUE = Disable frequency seperation across sides
-f_radios_settings_acre2_disableFrequencySplit = FALSE;
-
-// Set a list of units that get a short wave
-// if its nil, that means all units get a radio
-// empty array means that noone gets
-f_radios_settings_acre2_shortRange = nil;
-
-// Set the list of units that get a long range
-f_radios_settings_acre2_longRange = ["co", "dc", "m", "mmgag","hmgag","matag","hatag", "mtrag","msamag","sp","vc", "pp", "eng", "engm", "uav", "div"];
-
-// Unit types you want to give an extra long-range radio
-// E.G: ["co", "m"] would give the CO and all medics an extra long-range radios
-f_radios_settings_acre2_extraRadios = [];
-
-// Standard Short
-f_radios_settings_acre2_standardSHRadio = "ACRE_PRC343";
-// Standard LongRange
-f_radios_settings_acre2_standardLRRadio = "ACRE_PRC152";
-// Extra radio
-f_radios_settings_acre2_extraRadio = "ACRE_PRC117F";
-
-// ====================================================================================
-// BABEL API
-
-// Defines the languages that exist in the mission.
-// string id, displayname
-f_radios_settings_acre2_languages = [["english","English"],["farsi","Farsi"],["greek","Greek"]];
-
-// defines the language that a player can speak.
-// can define multiple
-f_radios_settings_acre2_language_blufor = ["english"];
-f_radios_settings_acre2_language_opfor = ["farsi"];
-f_radios_settings_acre2_language_indfor = ["greek"];
-
-// Channel names and group defaults
-// first item in the array will correspond to the first channel
-// item definition: ["CHANNEL NAME", ["GROUP1 NAME", "GROUP2 NAME"]]
-// note that if using a 343 only the first 16 channels are available for the short-range array
-// also note these only work if f_radios_settings_acre2_disableFrequencySplit is set to false
-f_radios_settings_acre2_sr_groups_blufor = [
- ["Alpha", ["ASL","A1","A2","A3"]],
- ["Bravo", ["BSL","B1","B2","B3"]],
- ["Charlie", ["CSL","C1","C2","C3"]],
- ["Delta", ["CO","DC"]],
- ["Echo", ["MMG1","HMG1"]],
- ["Foxtrot", ["MAT1","HAT1"]],
- ["Golf", ["MTR1"]],
- ["Hotel", ["MSAM1","HSAM1"]],
- ["India", ["ST1"]],
- ["Juliet", ["DT1"]],
- ["Kilo", ["ENG1"]],
- ["Lima", ["IFV1","IFV2","IFV3","IFV4","IFV5","IFV6","IFV7","IFV8"]],
- ["Mike", ["TNK1"]],
- ["November", ["TH1","TH2","TH3","T4","TH5","TH6","TH7","TH8"]],
- ["Oscar", ["AH1"]],
- ["Papa", []],
- ["Quebec", []],
- ["Romeo", []],
- ["Sierra", []],
- ["Tango", []],
- ["Uniform", []],
- ["Victor", []],
- ["Whiskey", []],
- ["X-ray", []],
- ["Yankee", []],
- ["Zulu", []]
-];
-
-f_radios_settings_acre2_sr_groups_opfor = f_radios_settings_acre2_sr_groups_blufor;
-f_radios_settings_acre2_sr_groups_indfor = f_radios_settings_acre2_sr_groups_blufor;
-
-f_radios_settings_acre2_lr_groups_blufor = [
- ["Alpha", []],
- ["Bravo", []],
- ["Charlie", []],
- ["Delta",
- [
- "CO", "DC",
- "ASL","BSL","CSL",
- "MMG1","HMG1","MAT1","HAT1","MTR1","MSAM1","HSAM1",
- "ST1","DT1","ENG1",
- "IFV1","IFV2","IFV3","IFV4","IFV5","IFV6","IFV7","IFV8","TNK1",
- "TH1","TH2","TH3","T4","TH5","TH6","TH7","TH8",
- "AH1"
- ]
- ],
- ["Echo", []],
- ["Foxtrot", []],
- ["Golf", []],
- ["Hotel", []],
- ["India", []],
- ["Juliet", []],
- ["Kilo", []],
- ["Lima", []],
- ["Mike", []],
- ["November", []],
- ["Oscar", []],
- ["Papa", []],
- ["Quebec", []],
- ["Romeo", []],
- ["Sierra", []],
- ["Tango", []],
- ["Uniform", []],
- ["Victor", []],
- ["Whiskey", []],
- ["X-ray", []],
- ["Yankee", []],
- ["Zulu", []]
-];
-
-f_radios_settings_acre2_lr_groups_opfor = f_radios_settings_acre2_lr_groups_blufor;
-f_radios_settings_acre2_lr_groups_indfor = f_radios_settings_acre2_lr_groups_blufor;
-
-// ====================================================================================
-// MISC ACRE2 settings, these are all set the ACRE2 defaults
-
-// ACRE Radio loss settings.
-// Indiciates how much terrian loss should be modelled.
-// Values: 0 no loss, 1 full terrian loss, default: 1
-[1] call acre_api_fnc_setLossModelScale;
-
-// ACRE full Duplex
-// Sets the duplex of radio transmissions. If set to true, it means that you will receive transmissions even while talking and multiple people can speak at the same time.
-[false] call acre_api_fnc_setFullDuplex;
-
-// ACRE Interference
-// Sets whether transmissions will interfere with eachother. This, by default, causes signal loss when multiple people are transmitting on the same frequency.
-[true] call acre_api_fnc_setInterference;
-
-// ACRE can AI hear players?
-// False - AI not hear players, true - AI hear players.
-[false] call acre_api_fnc_setRevealToAI;
diff --git a/f/radios/acre2/acre2_setupPresets.sqf b/f/radios/acre2/acre2_setupPresets.sqf
deleted file mode 100644
index 04243f924..000000000
--- a/f/radios/acre2/acre2_setupPresets.sqf
+++ /dev/null
@@ -1,23 +0,0 @@
-// F3 - ACRE2 Preset Setup
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-private ["_radioName"];
-
-//Set the names for all the radios properly.
-{
- _radioName = _x;
-
- {
- [_radioName, "default2", _forEachIndex + 1, "label", _x select 0] call acre_api_fnc_setPresetChannelField;
- } forEach f_radios_settings_acre2_lr_groups_blufor;
-
- {
- [_radioName, "default3", _forEachIndex + 1, "label", _x select 0] call acre_api_fnc_setPresetChannelField;
- } forEach f_radios_settings_acre2_lr_groups_opfor;
-
- {
- [_radioName, "default4", _forEachIndex + 1, "label", _x select 0] call acre_api_fnc_setPresetChannelField;
- } forEach f_radios_settings_acre2_lr_groups_indfor;
-
-} forEach ["ACRE_PRC148","ACRE_PRC152","ACRE_PRC117F"];
diff --git a/f/radios/acre2/fn_giveSideRadio.sqf b/f/radios/acre2/fn_giveSideRadio.sqf
deleted file mode 100644
index 623c79ad8..000000000
--- a/f/radios/acre2/fn_giveSideRadio.sqf
+++ /dev/null
@@ -1,24 +0,0 @@
-////////// f_fnc_GiveSideRadio
-////////// Must happen after radios have been setup...
-////////// 0: Unit to receive radio
-////////// 1: The side the radio should be configured for
-////////// 2: radio classname
-////////// Example: [player,opfor,"ACRE_PRC148"];
-
-private ["_unit","_side","_radio","_presetName","_ret"];
-
-_unit = _this select 0;
-_side = _this select 1;
-_radio = _this select 2;
-
-_presetName = switch(_side) do {
- case west:{"default2"};
- case east:{"default3"};
- case resistance:{"default4"};
- default {"default"};
-};
-
-// must be local.
-if (!local _unit) ExitWith {};
-_ret = [_radio, _presetName] call acre_api_fnc_setDefaultChannels;
-_unit addItem _radio;
diff --git a/f/radios/radio_init.sqf b/f/radios/radio_init.sqf
deleted file mode 100644
index 96ac0b604..000000000
--- a/f/radios/radio_init.sqf
+++ /dev/null
@@ -1,27 +0,0 @@
-// F3 - Radio Framework initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RUN RELEVANT SCRIPTS, DEPENDING ON SYSTEM IN USE
-// Each radio modification requires a different set of scripts to be used, and so we
-// split into a seperate script file for initialisation of each mod, on both the
-// server and client.
-
-// If any radio system selected
-if(f_param_radios != 0) then {
-
- switch (f_param_radios) do {
-
- // TFR
- case 2: {
- [] execVM "f\radios\tfr\tfr_init.sqf";
- };
- // acre2
- case 3: {
- [] execVM "f\radios\acre2\acre2_init.sqf";
- };
-
- };
-};
-
-// ====================================================================================
diff --git a/f/radios/tfr/fn_tfr_addRadios.sqf b/f/radios/tfr/fn_tfr_addRadios.sqf
deleted file mode 100644
index a6c4aab46..000000000
--- a/f/radios/tfr/fn_tfr_addRadios.sqf
+++ /dev/null
@@ -1,94 +0,0 @@
-// F3 - Add TFR Radios Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES
-
-private["_unit", "_typeOfUnit", "_longRange","_radio1","_radio2","_radio3", "_backpackItems"];
-
-_unit = player;
-
-_typeOfUnit = _unit getVariable ["f_var_assignGear", "NIL"];
-
-// DEFINE THE RADIOS THAT WILL BE USED
-
-switch ((side player)) do { //longrange, shortrange, rifradio
- case (west): {
- _radio1 = TF_defaultWestBackpack;
- _radio2 = TF_defaultWestPersonalRadio;
- _radio3 = TF_defaultWestRiflemanRadio;};
- case (east): {
- _radio1 = TF_defaultEastBackpack;
- _radio2 = TF_defaultEastPersonalRadio;
- _radio3 = TF_defaultEastRiflemanRadio;};
- default {
- _radio1 = TF_defaultGuerBackpack;
- _radio2 = TF_defaultGuerPersonalRadio;
- _radio3 = TF_defaultGuerRiflemanRadio;};
-};
-
-// ====================================================================================
-
-// ASSIGN RADIOS TO UNITS
-// Depending on the loadout used in the assignGear component, each unit is assigned
-// a set of radios.
-
-if(_typeOfUnit != "NIL") then {
-
- // If radios are enabled in the settings
- if(!f_radios_settings_tfr_disableRadios) then {
-
-
- // Set the list of units that get a rifleman's radio
- _rifradio = ["ar","aar","rat","dm","mmgg","matg","hmgg","hatg","mtrg","msamg","hsamg","vg","vd","pcc","pc","r","car","smg","gren"];
-
- // Set the list of units that get a shortrange radio
- _shortrange = ["co", "dc", "ftl", "m","mmgag","matag","hmgag","hatag","mtrag","msamag","hsamag","sn","sp"];
-
- // Give out respective radios
-
- if (_typeOfUnit in _rifradio) then {
- _unit linkItem _radio3;
- } else {
- if (_typeOfUnit in _shortrange) then {
- _unit linkItem _radio2;
- };
- };
-
- // Special cases
- _specialist = ["vc", "pp", "eng", "engm", "div","uav"];
-
- // If unit is leader of group and in the above list, give SR. Else, give them
- // a rifleman's radio.
-
- if (_typeOfUnit in _specialist) then {
- if (_unit == (leader (group _unit))) then {
- _unit linkItem _radio2;
- } else {
- _unit linkItem _radio3;
- };
- };
-
- // Give out LR backpacks according to f\radios\tfr_settings.sqf.
- if(f_radios_settings_tfr_defaultLRBackpacks) then {
- if (_unit == (leader (group _unit))) then {
- _backpackItems = backpackItems player;
- removeBackpack _unit;
- _unit addBackpack _radio1;
- {player addItemToBackpack _x;} forEach _backpackItems;
- };
- } else {
- // If unit is in the list of units that receive a long-range radio, do so.
- if(_typeOfUnit in f_radios_settings_tfr_backpackRadios) then {
- _backpackItems = backpackItems player;
- removeBackpack _unit;
- _unit addBackpack _radio1;
- {player addItemToBackpack _x;} forEach _backpackItems;
- };
- };
-
- };
-
-};
-
-// ====================================================================================
diff --git a/f/radios/tfr/fn_tfr_configureSpectatorChat.sqf b/f/radios/tfr/fn_tfr_configureSpectatorChat.sqf
deleted file mode 100644
index 0473a08a6..000000000
--- a/f/radios/tfr/fn_tfr_configureSpectatorChat.sqf
+++ /dev/null
@@ -1,30 +0,0 @@
-// F3 - Configure TFR Spectator Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES
-
-private["_unit"];
-
-_unit = player;
-
-// ====================================================================================
-
-// SET SPECTATOR MODE
-// If the player is alive and hence not a JIP player, the spectator voice chat will be
-// disabled. If the player is dead, and hence a JIP player that hasn't selected an
-// active slot, spectator chat will be enabled.
-
-if(alive _unit) then {
-
- // Disable spectator chat
- [_unit, false] call TFAR_fnc_forceSpectator;
-
-} else {
-
- // Enable spectator chat
- [_unit, true] call TFAR_fnc_forceSpectator;
-
-};
-
-// ====================================================================================
diff --git a/f/radios/tfr/fn_tfr_removeRadios.sqf b/f/radios/tfr/fn_tfr_removeRadios.sqf
deleted file mode 100644
index f5b9796e4..000000000
--- a/f/radios/tfr/fn_tfr_removeRadios.sqf
+++ /dev/null
@@ -1,21 +0,0 @@
-// F3 - Remove TFR Radios Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES
-
-private["_unit", "_vanillaRadio"];
-
-_unit = player;
-_vanillaRadio = "itemRadio";
-
-// ====================================================================================
-
-// REMOVE ALL RADIOS
-// Check all items, removing any TFR radios, using the TFR API call to distinguish
-// between radios and normal items.
-
-{ _isRadio = _x call TFAR_fnc_isRadio; if(_isRadio) then {_unit unlinkItem _x}; } foreach items _unit;
-{ _isRadio = _x call TFAR_fnc_isRadio; if(_isRadio) then {_unit unlinkItem _x}; } foreach assignedItems _unit;
-
-// ====================================================================================
diff --git a/f/radios/tfr/fn_tfr_setRadioFrequencies.sqf b/f/radios/tfr/fn_tfr_setRadioFrequencies.sqf
deleted file mode 100644
index d5dbab8bc..000000000
--- a/f/radios/tfr/fn_tfr_setRadioFrequencies.sqf
+++ /dev/null
@@ -1,12 +0,0 @@
-// F3 - Set TFR Frequencies Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-tf_freq_west = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, getPlayerUID player, false];
-tf_freq_west_lr = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, false];
-tf_freq_east = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, getPlayerUID player, false];
-tf_freq_east_lr = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, false];
-tf_freq_guer = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, getPlayerUID player, false];
-tf_freq_guer_lr = [0 ,7, ["31","32","33","34","35","36","37","38","39"],0, nil, -1, 0, false];
-
-// ====================================================================================
diff --git a/f/radios/tfr/tfr_clientInit.sqf b/f/radios/tfr/tfr_clientInit.sqf
deleted file mode 100644
index e8032cb85..000000000
--- a/f/radios/tfr/tfr_clientInit.sqf
+++ /dev/null
@@ -1,39 +0,0 @@
-// F3 - TFR Clientside Initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// WAIT FOR TFR
-// Give TFR some time to initialise
-
-sleep 3;
-
-// ====================================================================================
-
-// CARRY OUT CLEANUP PROCEDURE, FREQUENCY SETUP AND RADIO HANDOUT
-// Clear the unit's inventory of any added radios, just in case the defaults change
-// or a mistake is made with loadouts. Then, set the frequency network up according
-// to the settings in tfr_settings.sqf and assign radios depending on unit loadout.
-
-// Check player is alive
-if(alive player) then {
-
- // Remove all existing radios
- [] call f_fnc_tfr_removeRadios;
-
- // Wait for gear assignation to take place
- waitUntil{(player getVariable ["f_var_assignGear_done", false])};
-
- // Add radios to each unit
- [] call f_fnc_tfr_addRadios;
-
- // Configure spectator chat
- [] call f_fnc_tfr_configureSpectatorChat;
-
-} else {
-
- // No need to fix radios, just move into spectator chat
- [] call f_fnc_tfr_configureSpectatorChat;
-
-};
-
-// ====================================================================================
diff --git a/f/radios/tfr/tfr_init.sqf b/f/radios/tfr/tfr_init.sqf
deleted file mode 100644
index 61444b2fc..000000000
--- a/f/radios/tfr/tfr_init.sqf
+++ /dev/null
@@ -1,16 +0,0 @@
-
- // Retrieve TFR relevant setting
- #include "tfr_settings.sqf"
-
- // If script is being run on the server
- if(isDedicated) then {
-
- [] execVM "f\radios\tfr\tfr_serverInit.sqf";
-
- } else {
-
- [] execVM "f\radios\tfr\tfr_clientInit.sqf";
-
- //If locally hosting, run both client and server script
- if((!isDedicated) && (isServer)) then {[] execVM "f\radios\tfr\tfr_serverInit.sqf";};
- };
\ No newline at end of file
diff --git a/f/radios/tfr/tfr_serverInit.sqf b/f/radios/tfr/tfr_serverInit.sqf
deleted file mode 100644
index e33744d0b..000000000
--- a/f/radios/tfr/tfr_serverInit.sqf
+++ /dev/null
@@ -1,41 +0,0 @@
-// F3 - TFR Serverside Initialisation
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// WAIT FOR F3 COMMON LOCAL VARIABLES
-
-waitUntil {scriptDone f_script_setLocalVars};
-
-// ====================================================================================
-
-// SET RADIO FREQUENCIES
-// Store a short list of radio frequencies, to be used by clients.
-
-[] call f_fnc_tfr_setRadioFrequencies;
-
-// ====================================================================================
-
-// SET INDEP RADIO CODE
-// Depending on the setting in tfr_settings.sqf, change INDEP radio code to the faction
-// they're friendly to. If friendly to nobody or everybody, use own code.
-
-if(!f_radios_settings_tfr_indepUseRadioCode) then {
-
- private["_friendWest","_friendEast","_bluefor","_opfor"];
-
- _friendWest = (resistance getFriend West);
- _friendEast = (resistance getFriend east);
- _bluefor = tf_west_radio_code;
- _opfor = tf_east_radio_code;
-
- if ((_friendWest > 0.6) && (_friendEast < 0.6)) then {
- tf_guer_radio_code = _bluefor;
- };
-
- if ((_friendWest < 0.6) && (_friendEast > 0.6)) then {
- tf_guer_radio_code = _opfor;
- };
-
-};
-
-// ====================================================================================
diff --git a/f/radios/tfr/tfr_settings.sqf b/f/radios/tfr/tfr_settings.sqf
deleted file mode 100644
index 163fc7397..000000000
--- a/f/radios/tfr/tfr_settings.sqf
+++ /dev/null
@@ -1,31 +0,0 @@
-// F3 - TFR Settings
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RADIO STRUCTURE
-
-// Whether long range radios are automatically added
-tf_no_auto_long_range_radio = true;
-
-// Should a side use the same short-wave frequencies
-tf_same_sw_frequencies_for_side = true;
-
-// Should a side use the same long-wave frequencies
-tf_same_lr_frequencies_for_side = true;
-
-// Whether any radios should be assigned at all, to any units
-// TRUE = Disable radios for all units
-f_radios_settings_tfr_disableRadios = FALSE;
-
-// Which units should be given LR backpacks
-// TRUE = all group leaders get backpacks
-// FALSE = only units defined in next variable will get LR backpacks
-f_radios_settings_tfr_defaultLRBackpacks = FALSE;
-
-// Unit types you want to give long-range radios if previous is
-// E.G: ["co", "m"] would give the CO and all medics 2 long-range radios
-f_radios_settings_tfr_backpackRadios = ["co","dc","ftl","sp"];
-
-// Independent radio encryption code: Independent faction use radio code of side
-// they are friendly to if they are only friendly to one side.
-f_radios_settings_tfr_indepUseRadioCode = FALSE;
diff --git a/f/removeBody/f_addRemoveBodyEH.sqf b/f/removeBody/f_addRemoveBodyEH.sqf
deleted file mode 100644
index a0c9db768..000000000
--- a/f/removeBody/f_addRemoveBodyEH.sqf
+++ /dev/null
@@ -1,55 +0,0 @@
-// F3 - Automatic Body Removal
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RUN THE SCRIPT ONLY SERVER SIDE AND ON HEADLESS CLIENT
-
-if (!isServer && hasInterface) exitWith {};
-
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_men","_str_Men","_handle"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-// Using a common variable, we will create an array containing all men, minus playable units.
-
-_men = allUnits - playableUnits;
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- _str_men = str _men;
- player sideChat format ["DEBUG (f\removeBody\f_addRemoveBodyEH.sqf): _men = %1",_str_men];
-};
-
-// ====================================================================================
-
-// PREVENT UNTIS FROM BEING REMOVED
-// All units in the corresponding array are flagged to never be removed
-if (isNil "f_var_doNotRemoveBodies") then {f_var_doNotRemoveBodies = []};
-
-{
- if (!isNil format ["%1",_x]) then {_x setVariable ["f_removeBodyEH",true];};
-} forEach f_var_doNotRemoveBodies;
-
-// ====================================================================================
-
-// ADD EVENT HANDLER
-// A killed event handler is added to all units in the array _men that are not part of the exempt group
-
-{
-_handle = _x getVariable ["f_removeBodyEH",false];
-if !(_handle && local _x) then {
- _x addEventHandler ["killed", {(_this select 0) spawn f_fnc_removeBody}];
- _x setVariable ["f_removeBodyEH",true];
- };
-} forEach _men;
-
-
-// ====================================================================================
-
-
diff --git a/f/removeBody/fn_removeBody.sqf b/f/removeBody/fn_removeBody.sqf
deleted file mode 100644
index 9e4a49b0a..000000000
--- a/f/removeBody/fn_removeBody.sqf
+++ /dev/null
@@ -1,58 +0,0 @@
-// F3 - Automatic Body Removal
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES AND FUNCTIONS
-
-private ["_body","_wait","_group","_distance","_pos","_nearPlayers","_nearUnits","_check"];
-
-// ====================================================================================
-
-// SET KEY VARIABLES
-// The body to remove is passed to this script by the event handler itself. The time to sleep and minimal distance to remove are defined by global variables
-
-_body = _this;
-_group = group _this;
-
-if (isNil "f_var_removeBodyDelay") then {f_var_removeBodyDelay = 20};
-if (isNil "f_var_removeBodyDistance") then {f_var_removeBodyDistance = 50};
-
-_wait = f_var_removeBodyDelay;
-_distance = f_var_removeBodyDistance;
-
-waitUntil {!isNull _body};
-
-_pos = getPos _body;
-_nearPlayers = [objNull];
-
-// ====================================================================================
-
-// WAITING UNTIL ALL CONDITIONS ARE MET
-// While there's at least 1 player within the minimal radius around the body the script sleeps the designated time.
-
-_loop = true;
-while {_loop} do {
- sleep _wait;
- _loop = [_body,_distance] call f_fnc_nearPlayer;
-};
-
-
-// ====================================================================================
-
-// REMOVE BODY
-// Hide and remove the body from the game
-
-hideBody _body;
-sleep 5;
-deleteVehicle _body;
-
-// ====================================================================================
-
-// REMOVE BODY'S GROUP IF EMPTY
-// We wait a while to make sure the body has been removed from the group. Then we count the living units in it and remove the group if it is empty
-sleep 30;
-_check = count (units (_group));
-if (_check == 0) then {deleteGroup _group};
-
-
-
diff --git a/f/safeStart/f_safeStart.sqf b/f/safeStart/f_safeStart.sqf
index 127ef1457..afd01c1d1 100644
--- a/f/safeStart/f_safeStart.sqf
+++ b/f/safeStart/f_safeStart.sqf
@@ -1,5 +1,5 @@
// F3 - Safe Start
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// This script inits the Mission Timer and the Safe Start, has the server setup the publicVariable
// while the client waits, sets units invincibility and displays hints, then disables it.
diff --git a/f/safeStart/f_safeStartLoop.sqf b/f/safeStart/f_safeStartLoop.sqf
index a568c9d0f..a20d18b10 100644
--- a/f/safeStart/f_safeStartLoop.sqf
+++ b/f/safeStart/f_safeStartLoop.sqf
@@ -1,5 +1,5 @@
// F3 - Safe Start, Server Loop
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
//=====================================================================================
// Run the loop only on the server
@@ -8,26 +8,34 @@ if !(isServer) exitWith {};
// Redundant sleep to give everything a second to settle
sleep 2;
+//Intervals for checking the timer and for sending notifications
+//_intervalCheck should be a small number to avoid a delay when the
+//safeStart is being ended using the briefing page.
+private _intervalCheck = 2;
+private _intervalNotification = _intervalCheck * 30; //Must be a multiple of _intervalCheck
+
+private _started = false;
while {f_param_mission_timer > 0} do {
// Broadcast remaining time to players
- [["SafeStart",[format["Time Remaining: %1 min",f_param_mission_timer]]],"bis_fnc_showNotification",true] call BIS_fnc_MP;
-
- uisleep 60; // Sleep 60 seconds
+ // The _started flag makes sure it is shown at the beginning of the mission.
+ if (!_started || f_param_mission_timer % _intervalNotification == 0) then {
+ ["SafeStart",[format["Time Remaining: %1 min",(f_param_mission_timer / 60) toFixed 1]]] remoteExec ["bis_fnc_showNotification", 0];
+ _started = true;
+ };
- // If mission timer has been terminated by admin briefing, simply exit
- if (f_param_mission_timer < 0) exitWith {};
+ uisleep _intervalCheck; // Sleep _intervalCheck seconds
- // Reduce the mission timer by one
- f_param_mission_timer = f_param_mission_timer - 1;
+ // Reduce the mission timer by _intervalCheck seconds
+ f_param_mission_timer = f_param_mission_timer - _intervalCheck;
publicVariable "f_param_mission_timer";
};
//Once the mission timer has reached 0, disable the safeties
-if (f_param_mission_timer == 0) then {
+if (f_param_mission_timer <= 0) then {
// Broadcast message to players
- [["SafeStartMissionStarting",["Mission starting now!"]],"bis_fnc_showNotification",true] call BIS_fnc_MP;
+ ["SafeStartMissionStarting",["Safe start ended!"]] remoteExec ["bis_fnc_showNotification", 0];
// Remotely execute script to disable safety for all selectable units
- [[false],"f_fnc_safety",playableUnits + switchableUnits] call BIS_fnc_MP;
-};
\ No newline at end of file
+ [false] remoteExec ["f_fnc_safety", playableUnits + switchableUnits];
+};
diff --git a/f/safeStart/fn_safety.sqf b/f/safeStart/fn_safety.sqf
index b23fb13c2..0214d4202 100644
--- a/f/safeStart/fn_safety.sqf
+++ b/f/safeStart/fn_safety.sqf
@@ -1,28 +1,21 @@
// F3 - Safe Start, Safety Toggle
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
//=====================================================================================
//Exit if server
if(isDedicated) exitwith {};
-switch (_this select 0) do
+params [["_enableSafeStart", true, [true]]];
+
+switch (_enableSafeStart) do
{
//Turn safety on
case true:
{
- // Delete bullets from fired weapons
- if (isNil "f_eh_safetyMan") then {
- f_eh_safetyMan = player addEventHandler["Fired", {deletevehicle (_this select 6);}];
- };
-
- // Disable guns and damage for vehicles if player is crewing a vehicle
+ // Disable damage for vehicles if player is crewing a vehicle
if (vehicle player != player && {player in [gunner vehicle player,driver vehicle player,commander vehicle player]}) then {
player setVariable ["f_var_safetyVeh",vehicle player];
(player getVariable "f_var_safetyVeh") allowDamage false;
-
- if (isNil "f_eh_safetyVeh") then {
- f_eh_safetyVeh = (player getVariable "f_var_safetyVeh") addEventHandler["Fired", {deletevehicle (_this select 6);}];
- };
};
// Make player invincible
@@ -32,25 +25,13 @@ switch (_this select 0) do
//Turn safety off
case false;
default {
-
- //Allow player to fire weapons
- if !(isNil "f_eh_safetyMan") then {
- player removeEventhandler ["Fired", f_eh_safetyMan];
- f_eh_safetyMan = nil;
- };
-
- // Re-enable guns and damage for vehicles if they were disabled
+ // Re-enable damage for vehicles if it was disabled
if !(isNull(player getVariable ["f_var_safetyVeh",objnull])) then {
(player getVariable "f_var_safetyVeh") allowDamage true;
-
- if !(isNil "f_eh_safetyVeh") then {
- (player getVariable "f_var_safetyVeh") removeeventhandler ["Fired", f_eh_safetyVeh];
- f_eh_safetyVeh = nil;
- };
player setVariable ["f_var_safetyVeh",nil];
};
// Make player vulnerable
player allowDamage true;
};
-};
\ No newline at end of file
+};
diff --git a/f/setAISkill/f_setAISkill.sqf b/f/setAISkill/f_setAISkill.sqf
index d7ac1d387..f9c327844 100644
--- a/f/setAISkill/f_setAISkill.sqf
+++ b/f/setAISkill/f_setAISkill.sqf
@@ -1,11 +1,5 @@
// F3 - AI Skill Selector
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// RUN THE SCRIPT ONLY SERVER SIDE
-
-if !(isServer) exitWith {};
-
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// WAIT FOR THE MISSION TO BEGIN
@@ -15,36 +9,59 @@ sleep 2;
// ====================================================================================
-// DECLARE VARIABLES AND FUNCTIONS
+// RUN THE SCRIPT ONLY SERVER SIDE
+
+//If the argument is an empty array, then it is called from init.sqf and should only run on the server.
+//Otherwise it should be allowed to run on the server or on the headless client.
+if (count _this == 0) then {
+ if (!isServer) exitWith {};
+} else {
+ if (!isServer && hasInterface) exitWith {};
+};
+
+// ====================================================================================
-private ["_units","_superSkill","_highSkill","_mediumSkill","_lowSkill"];
+// SET KEY VARIABLES
+// If an array of units was passed, the skill change will apply only to the units in the array
+private _units = if (count _this > 0) then [{_this},{allUnits}];
// ====================================================================================
// DEFINE SKILL LEVELS
-// These values define the total skill level as set by the parameter
-_superSkill = 1.00;
-_highSkill = 0.7;
-_mediumSkill = 0.6;
-_lowSkill = 0.5;
+// This value is used as a default value for error handling.
+f_var_skillError = 99;
-// This are the minimal skills a soldier set to _superSkill would have. For all other skill levels the values are rounded using the numbers above.
-// These are recommended levels to avoid "laser" AI snipers. Change them accordingly if you are finding the AI to be too inaccurate or are using AI mods.
+// These values define the total skill level as set by the parameter
+private _skillLevels = [
+ 1.00, // 0 Super
+ 0.7, // 1 High
+ 0.6, // 2 Medium
+ 0.5, // 3 Low
+ f_var_skillError // last: Default
+];
+// These are the minimal skills a soldier set to "Super" would have.
+// For all other skill levels the values are multiplied with the numbers above.
+// These are recommended levels to avoid "laser" AI snipers.
+// Change them accordingly if you are finding the AI to be too inaccurate or are using AI mods.
+// Note: setSkill takes values between 0 and 1. Other values will be rounded to the nearest valid value.
+// e.g. If we have 2 in this array and then 0.5 as the lowest value in _skillLevels,
+// then this means that this particular skill will always be 1
+// for all possible skillLevels that were set via parameter.
f_var_skillSet = [
- 0.55, // aimingAccuracy
- 0.6, // aimingShake
- 0.6, // aimingSpeed
- 0.7, // spotDistance
- 0.7, // spotTime
- 1.2, // courage
- 2, // reloadSpeed
- 2, // commanding
- 1.2 // general
+ 0.45, // aimingAccuracy
+ 0.5, // aimingShake
+ 0.5, // aimingSpeed
+ 0.65, // spotDistance
+ 0.7, // spotTime
+ 1.2, // courage
+ 2, // reloadSpeed
+ 2, // commanding
+ 1.2 // general
];
-// The final skill will within +/- this range
+// The final skill will be within +/- this range
f_var_skillRandom = 0.08;
// ====================================================================================
@@ -52,58 +69,62 @@ f_var_skillRandom = 0.08;
// BROADCAST PUBLIC VARIABLES
// Make the relevant global variables known to all clients
-{publicVariable _x} forEach ["f_var_skillRandom","f_var_skillSet"];
+{publicVariable _x} forEach ["f_var_skillRandom","f_var_skillSet","f_var_skillError"];
// ====================================================================================
// SET UP SKILL Levels
// As the params can only set full numbers, we interpret each of them to set the correct value
-#include "f_setAISkillValues.sqf";
+// CHECK ACTIVATED PARAMETERS
+if (isNil "f_param_AISkill_BLUFOR") then {f_param_AISkill_BLUFOR = (count _skillLevels) - 1};
+if (isNil "f_param_AISkill_OPFOR") then {f_param_AISkill_OPFOR = (count _skillLevels) - 1};
+if (isNil "f_param_AISkill_INDP") then {f_param_AISkill_INDP = (count _skillLevels) - 1};
-// ====================================================================================
+// SELECT BLUFOR AI SKILLS
+if (isNil "f_var_skillBlu") then
+{
+ f_var_skillBlu = _skillLevels select f_param_AISkill_BLUFOR;
+ publicVariable "f_var_skillBlu";
+};
-// SET KEY VARIABLES
-// If an array of units was passed, the skill change will apply only to the units in the array
+// SELECT OPFOR AI SKILLS
+if (isNil "f_var_skillOpf") then
+{
+ f_var_skillOpf = _skillLevels select f_param_AISkill_OPFOR;
+ publicVariable "f_var_skillOpf";
+};
-_units = if (count _this > 0) then [{_this},{allUnits}];
+// SELECT INDEPENDENT AI SKILLS
+if (isNil "f_var_skillRes") then
+{
+ f_var_skillRes = _skillLevels select f_param_AISkill_INDP;
+ publicVariable "f_var_skillRes";
+};
+
+// SELECT CIVILIAN AI SKILLS
+// If the civilian side variable is enabled, their level will be set accordingly
+if (!isNil "f_var_civAI" && isNil "f_var_skillCiv") then {
+ f_var_skillCiv = switch (f_var_civAI) do {
+ case west: {f_var_skillBlu};
+ case blufor: {f_var_skillBlu};
+ case east: {f_var_skillOpfor};
+ case opfor: {f_var_skillOpfor};
+ case independent: {f_var_skillRes};
+ case resistance: {f_var_skillRes};
+ default {f_var_skillError};
+ };
+ publicVariable "f_var_skillCiv";
+};
// ====================================================================================
// SET SKILL LEVELS FOR ALL AI
// AI Skill for all AIs is set using side levels (see above).
-// By using the BI function BIS_fnc_MP we ensure that AI is set to the correct level for all connected clients, including the server
{
-
-private ["_skill","_skillarray"];
-_skill = 0;
-_skillArray = [];
-
- if !(_x getVariable ["f_setAISkill",false]) then {
- // We change the value of skill to the appropiate one depending on the unit's side
- switch (side _x) do {
- case west: {_skill = f_var_skillBLU};
- case blufor: {_skill = f_var_skillBLU};
- case east: {_skill = f_var_skillOPF};
- case opfor: {_skill = f_var_skillOPF};
- case independent: {_skill = f_var_skillRES};
- case resistance: {_skill = f_var_skillRES};
- case civilian: {_skill = f_var_skillCIV};
- };
-
- // If skill is 99 it is not configured in the params and the unit will be ignored
- if (_skill == 99) exitWith {
- _x setVariable ["f_setAISkill",true];
- };
-
- for "_i" from 0 to 8 do {
- _skilllevel = (f_var_skillSet select _i) * _skill;
- _skillArray pushBack (_skilllevel + random f_var_skillRandom - random f_var_skillRandom);
- };
-
+ if !(_x getVariable ["f_setAISkill",false]) then {
// Call the function to set the skills for the unit
- [_x,_skillArray] call f_fnc_setAISkill;
- };
-
-} forEach _units;
\ No newline at end of file
+ [_x] call f_fnc_setAISkill;
+ };
+} forEach _units;
diff --git a/f/setAISkill/f_setAISkillValues.sqf b/f/setAISkill/f_setAISkillValues.sqf
deleted file mode 100644
index e1dcc0aa9..000000000
--- a/f/setAISkill/f_setAISkillValues.sqf
+++ /dev/null
@@ -1,158 +0,0 @@
-// F3 - Set AI Skill Values
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
-// ====================================================================================
-
-// CHECK ACTIVATED PARAMETERS
-// Depending on enabled parameters, the skill level for each side are set up
-
-if (isNil "f_param_AISkill_BLUFOR") then {f_param_AISkill_BLUFOR = 99};
-if (isNil "f_param_AISkill_OPFOR") then {f_param_AISkill_OPFOR = 99};
-if (isNil "f_param_AISkill_INDP") then {f_param_AISkill_INDP = 99};
-
-// ====================================================================================
-
-// SELECT BLUFOR AI SKILLS
-// Using the value of f_param_AISkill_BLUFOR, a value for _skillSideBLUFOR is set.
-
-if (isNil "f_var_skillBlu") then
-{
-f_var_skillBlu =
- switch (f_param_AISkill_BLUFOR) do
- {
- // Super
- case 0:
- {
- _superSkill;
- };
- // High
- case 1:
- {
- _highSkill;
- };
- // Medium
- case 2:
- {
- _mediumSkill;
- };
- // Low
- case 3:
- {
- _lowSkill;
- };
- // Default
- default {
- 99;
- };
- };
- publicVariable "f_var_skillBlu";
-};
-
-
-// ====================================================================================
-
-// SELECT OPFOR AI SKILLS
-// Using the value of f_param_AISkill_OPFOR, a value for _skillSideOPFOR is set.
-
-if (isNil "f_var_skillOpf") then
-{
- f_var_skillOpf =
- switch (f_param_AISkill_OPFOR) do
- {
- // Super
- case 0:
- {
- _superSkill;
- };
- // High
- case 1:
- {
- _highSkill;
- };
- // Medium
- case 2:
- {
- _mediumSkill;
- };
- // Low
- case 3:
- {
- _lowSkill;
- };
- // Default
- default {
- 99;
- };
- };
- publicVariable "f_var_skillOpf";
-};
-// ====================================================================================
-
-// SELECT INDEPENDENT AI SKILLS
-// Using the value of f_param_AISkill_INDP, a value for _skillSideOPFOR is set.
-
-if (isNil "f_var_skillRes") then
-{
- f_var_skillRes =
- switch (f_param_AISkill_INDP) do
- {
- // Super
- case 0:
- {
- _superSkill;
- };
- // High
- case 1:
- {
- _highSkill;
- };
- // Medium
- case 2:
- {
- _mediumSkill;
- };
- // Low
- case 3:
- {
- _lowSkill;
- };
- // Default
- default {
- 99;
- };
- };
- publicVariable "f_var_skillRes";
-};
-
-// ====================================================================================
-
-// SELECT CIVILIAN AI SKILLS
-// If the civilian side variable is enabled, their level will be set accordingly
-
-f_var_skillCiv = 99;
-if (!isNil "f_var_civAI") then {
- f_var_skillCiv =
- switch (f_var_civAI) do {
- case west: {f_var_skillBlu};
- case blufor: {f_var_skillBlu};
- case east: {f_var_skillOpfor};
- case opfor: {f_var_skillOpfor};
- case independent: {f_var_skillRes};
- case resistance: {f_var_skillRes};
- default {99};
- };
-};
-publicVariable "f_var_skillCiv";
-
-// ====================================================================================
-
-// DEBUG
-if (f_param_debugMode == 1) then
-{
- player sideChat format ["DEBUG (f\setAISkill\f_setAISkillAD.sqf): f_skillBLU = %1",f_var_skillBlu];
- player sideChat format ["DEBUG (f\setAISkill\f_setAISkillAD.sqf): f_skillRES = %1",f_var_skillOpf];
- player sideChat format ["DEBUG (f\setAISkill\f_setAISkillAD.sqf): f_skillOPF = %1",f_var_skillRes];
- player sideChat format ["DEBUG (f\setAISkill\f_setAISkillAD.sqf): f_skillCIV = %1",f_var_skillCiv];
-};
-
-// ====================================================================================
\ No newline at end of file
diff --git a/f/setAISkill/fn_setAISkill.sqf b/f/setAISkill/fn_setAISkill.sqf
index dbbbf474e..a34f2b62c 100644
--- a/f/setAISkill/fn_setAISkill.sqf
+++ b/f/setAISkill/fn_setAISkill.sqf
@@ -1,19 +1,13 @@
// F3 - SetAISkill
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-// DECLARE VARIABLES
-
-private ["_unit","_skill","_skillset","_skillarray"];
-
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SET KEY VARIABLES
-_unit = _this select 0;
-_skillset = if (count _this > 1) then [{_this select 1},{false}];
-_skill = 99;
-_skillarray = _skillset; // If _skillset is not an array of skills, _skillarray will be properly set further down
+params [
+ ["_unit", objNull, [objNull]],
+ ["_skillOverride", f_var_skillError, [0]]
+];
// ====================================================================================
@@ -29,47 +23,44 @@ if (_unit getVariable ["f_setAISkill",false]) exitWith {};
// ====================================================================================
-// If no skill-array was passed, set it to the relevant side's skill-level at first
-if (typeName _skillset == typeName false) then {
- _skillset =
- switch (side _unit) do {
- case west: {f_var_skillBLU};
- case blufor: {f_var_skillBLU};
- case east: {f_var_skillOPF};
- case opfor: {f_var_skillOPF};
- case independent: {f_var_skillRES};
- case resistance: {f_var_skillRES};
- case civilian: {f_var_skillCIV};
- default {0};
- };
+// Set the skill to the relevant side's skill-level
+private _skill = switch (side _unit) do {
+ case west: {f_var_skillBLU};
+ case blufor: {f_var_skillBLU};
+ case east: {f_var_skillOPF};
+ case opfor: {f_var_skillOPF};
+ case independent: {f_var_skillRES};
+ case resistance: {f_var_skillRES};
+ case civilian: {f_var_skillCIV};
+ default {f_var_skillError};
+};
+
+//Parameter override
+if (_skillOverride != f_var_skillError) then {
+ _skill = _skillOverride;
};
// ====================================================================================
// If the faction's skill level is not configured, exit and ignore the unit from now on
-if (typename _skillset == typename 0 && {_skillset == 99}) exitWith {_unit setVariable ["f_setAISkill",true];};
+if (_skill == f_var_skillError) exitWith {
+ _unit setVariable ["f_setAISkill",true];
+};
// ====================================================================================
-// If a specific skill level was passed, populate _skillArray using the new value.
-if (typename _skillset == typename 0) then {
- _skill = _skillset;
- _skillArray = [];
- for '_x' from 0 to 8 do {
- _skilllevel = (f_var_skillSet select _x) * _skill;
- _skillArray pushBack (_skilllevel + random f_var_skillRandom - random f_var_skillRandom);
- };
-};
+// Populate _skillArray using the new skill.
+private _skillArray = f_var_skillSet apply {(_x * _skill) + random f_var_skillRandom - random f_var_skillRandom};
// ====================================================================================
// We loop through all skilltypes and set them for the individual unit
{
- _unit setSkill [_x,_skillarray select _forEachIndex];
+ _unit setSkill [_x, _skillArray select _forEachIndex];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];
// Mark the unit as processed
_unit setVariable ["f_setAISkill",true];
// Return true
-true
\ No newline at end of file
+true
diff --git a/f/setGroupID/f_setGroupIDs.sqf b/f/setGroupID/f_setGroupIDs.sqf
index 4455ea35e..020aa232e 100644
--- a/f/setGroupID/f_setGroupIDs.sqf
+++ b/f/setGroupID/f_setGroupIDs.sqf
@@ -1,427 +1,36 @@
// F3 - Set Group IDs
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
-// OPEN THE ARRAY CONTAING ALL GROUPS
-// Do not comment or delete this line!
-_groups = [
-
-// ====================================================================================
-
-// GROUP IDs: BLUFOR > NATO
-// Automatically assigns intelligible names to groups
-
-["GrpNATO_CO","NATO CO -"],
-["GrpNATO_DC","NATO DC -"],
-["GrpNATO_COV","NATO COV -"],
-
-["GrpNATO_ASL","NATO ASL -"],
-["GrpNATO_A1","NATO A1 -"],
-["GrpNATO_A2","NATO A2 -"],
-["GrpNATO_AV","NATO AV -"],
-
-["GrpNATO_BSL","NATO BSL -"],
-["GrpNATO_B1","NATO B1 -"],
-["GrpNATO_B2","NATO B2 -"],
-["GrpNATO_BV","NATO BV -"],
-
-["GrpNATO_CSL","NATO CSL -"],
-["GrpNATO_C1","NATO C1 -"],
-["GrpNATO_C2","NATO C2 -"],
-["GrpNATO_CV","NATO CV -"],
-
-["GrpNATO_JSL","NATO JSL -"],
-["GrpNATO_J1","NATO J1 -"],
-["GrpNATO_J2","NATO J2 -"],
-["GrpNATO_JV","NATO JV -"],
-
-["GrpNATO_MMG1","NATO MMG1 -"],
-["GrpNATO_MMG2","NATO MMG2 -"],
-["GrpNATO_HMG1","NATO HMG1 -"],
-["GrpNATO_MAT1","NATO MAT1 -"],
-["GrpNATO_MAT2","NATO MAT2 -"],
-["GrpNATO_HAT1","NATO HAT1 -"],
-["GrpNATO_MTR1","NATO MTR1 -"],
-["GrpNATO_MSAM1","NATO MSAM1 -"],
-["GrpNATO_HSAM1","NATO HSAM1 -"],
-["GrpNATO_ST1","NATO ST1 -"],
-["GrpNATO_DT1","NATO DT1 -"],
-["GrpNATO_ENG1","NATO ENG1 -"],
-
-["GrpNATO_IFV1","NATO IFV1 -"],
-["GrpNATO_IFV2","NATO IFV2 -"],
-["GrpNATO_TNK1","NATO TNK1 -"],
-
-["GrpNATO_TH1","NATO TH1 -"],
-["GrpNATO_TH2","NATO TH2 -"],
-["GrpNATO_TH3","NATO TH3 -"],
-["GrpNATO_TH4","NATO TH4 -"],
-["GrpNATO_TH5","NATO TH5 -"],
-["GrpNATO_TH6","NATO TH6 -"],
-["GrpNATO_TH7","NATO TH7 -"],
-["GrpNATO_TH8","NATO TH8 -"],
-["GrpNATO_AH1","NATO AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: BLUFOR > FIA
-// Automatically assigns intelligible names to groups
-
-["GrpFIA_CO","FIA CO -"],
-["GrpFIA_DC","FIA DC -"],
-["GrpFIA_COV","FIA COV -"],
-
-["GrpFIA_ASL","FIA ASL -"],
-["GrpFIA_A1","FIA A1 -"],
-["GrpFIA_A2","FIA A2 -"],
-["GrpFIA_AV","FIA AV -"],
-
-["GrpFIA_BSL","FIA BSL -"],
-["GrpFIA_B1","FIA B1 -"],
-["GrpFIA_B2","FIA B2 -"],
-["GrpFIA_BV","FIA BV -"],
-
-["GrpFIA_CSL","FIA CSL -"],
-["GrpFIA_C1","FIA C1 -"],
-["GrpFIA_C2","FIA C2 -"],
-["GrpFIA_CV","FIA CV -"],
-
-["GrpFIA_JSL","FIA JSL -"],
-["GrpFIA_J1","FIA J1 -"],
-["GrpFIA_J2","FIA J2 -"],
-["GrpFIA_JV","FIA JV -"],
-
-["GrpFIA_MMG1","FIA MMG1 -"],
-["GrpFIA_MMG2","FIA MMG2 -"],
-["GrpFIA_HMG1","FIA HMG1 -"],
-["GrpFIA_MAT1","FIA MAT1 -"],
-["GrpFIA_MAT2","FIA MAT2 -"],
-["GrpFIA_HAT1","FIA HAT1 -"],
-["GrpFIA_MTR1","FIA MTR1 -"],
-["GrpFIA_MSAM1","FIA MSAM1 -"],
-["GrpFIA_HSAM1","FIA HSAM1 -"],
-["GrpFIA_ST1","FIA ST1 -"],
-["GrpFIA_DT1","FIA DT1 -"],
-["GrpFIA_ENG1","FIA ENG1 -"],
-
-["GrpFIA_IFV1","FIA TECH1 -"],
-["GrpFIA_IFV2","FIA TECH2 -"],
-["GrpFIA_TNK1","FIA TNK1 -"],
-
-["GrpFIA_TH1","FIA TH1 -"],
-["GrpFIA_TH2","FIA TH2 -"],
-["GrpFIA_TH3","FIA TH3 -"],
-["GrpFIA_TH4","FIA TH4 -"],
-["GrpFIA_TH5","FIA TH5 -"],
-["GrpFIA_TH6","FIA TH6 -"],
-["GrpFIA_TH7","FIA TH7 -"],
-["GrpFIA_TH8","FIA TH8 -"],
-["GrpFIA_AH1","FIA AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: BLUFOR > GENDARMERIE
-// Automatically assigns intelligible names to groups
-
-["GrpGEN_CO","Gendarmerie CO -"],
-["GrpGEN_DC","Gendarmerie DC -"],
-["GrpGEN_A","Gendarmerie Alpha -"],
-["GrpGEN_B","Gendarmerie Bravo -"],
-["GrpGEN_C","Gendarmerie Charlie -"],
-["GrpGEN_J","Gendarmerie Juliet -"],
-["GrpGEN_MK","Gendarmerie Marksman -"],
-["GrpGEN_TH1","Gendarmerie TH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: OPFOR > CSAT
-// Automatically assigns intelligible names to groups
-
-["GrpCSAT_CO","CSAT CO -"],
-["GrpCSAT_DC","CSAT DC -"],
-["GrpCSAT_COV","CSAT COV -"],
-
-["GrpCSAT_ASL","CSAT ASL -"],
-["GrpCSAT_A1","CSAT A1 -"],
-["GrpCSAT_A2","CSAT A2 -"],
-["GrpCSAT_AV","CSAT AV -"],
-
-["GrpCSAT_BSL","CSAT BSL -"],
-["GrpCSAT_B1","CSAT B1 -"],
-["GrpCSAT_B2","CSAT B2 -"],
-["GrpCSAT_BV","CSAT BV -"],
-
-["GrpCSAT_CSL","CSAT CSL -"],
-["GrpCSAT_C1","CSAT C1 -"],
-["GrpCSAT_C2","CSAT C2 -"],
-["GrpCSAT_CV","CSAT CV -"],
-
-["GrpCSAT_JSL","CSAT JSL -"],
-["GrpCSAT_J1","CSAT J1 -"],
-["GrpCSAT_J2","CSAT J2 -"],
-["GrpCSAT_JV","CSAT JV -"],
-
-["GrpCSAT_MMG1","CSAT MMG1 -"],
-["GrpCSAT_MMG2","CSAT MMG2 -"],
-["GrpCSAT_HMG1","CSAT HMG1 -"],
-["GrpCSAT_MAT1","CSAT MAT1 -"],
-["GrpCSAT_MAT2","CSAT MAT2 -"],
-["GrpCSAT_HAT1","CSAT HAT1 -"],
-["GrpCSAT_MTR1","CSAT MTR1 -"],
-["GrpCSAT_MSAM1","CSAT MSAM1 -"],
-["GrpCSAT_HSAM1","CSAT HSAM1 -"],
-["GrpCSAT_ST1","CSAT ST1 -"],
-["GrpCSAT_DT1","CSAT DT1 -"],
-["GrpCSAT_ENG1","CSAT ENG1 -"],
-
-["GrpCSAT_IFV1","CSAT IFV1 -"],
-["GrpCSAT_IFV2","CSAT IFV2 -"],
-["GrpCSAT_TNK1","CSAT TNK1 -"],
-
-["GrpCSAT_TH1","CSAT TH1 -"],
-["GrpCSAT_TH2","CSAT TH2 -"],
-["GrpCSAT_TH3","CSAT TH3 -"],
-["GrpCSAT_TH4","CSAT TH4 -"],
-["GrpCSAT_TH5","CSAT TH5 -"],
-["GrpCSAT_TH6","CSAT TH6 -"],
-["GrpCSAT_TH7","CSAT TH7 -"],
-["GrpCSAT_TH8","CSAT TH8 -"],
-["GrpCSAT_AH1","CSAT AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: OPFOR > FIA
-// Automatically assigns intelligible names to groups
-
-["GrpOFIA_CO","FIA O CO -"],
-["GrpOFIA_DC","FIA O DC -"],
-["GrpOFIA_COV","FIA O COV -"],
-
-["GrpOFIA_ASL","FIA O ASL -"],
-["GrpOFIA_A1","FIA O A1 -"],
-["GrpOFIA_A2","FIA O A2 -"],
-["GrpOFIA_AV","FIA O AV -"],
-
-["GrpOFIA_BSL","FIA O BSL -"],
-["GrpOFIA_B1","FIA O B1 -"],
-["GrpOFIA_B2","FIA O B2 -"],
-["GrpOFIA_BV","FIA O BV -"],
-
-["GrpOFIA_CSL","FIA O CSL -"],
-["GrpOFIA_C1","FIA O C1 -"],
-["GrpOFIA_C2","FIA O C2 -"],
-["GrpOFIA_CV","FIA O CV -"],
-
-["GrpOFIA_JSL","FIA O JSL -"],
-["GrpOFIA_J1","FIA O J1 -"],
-["GrpOFIA_J2","FIA O J2 -"],
-["GrpOFIA_JV","FIA O JV -"],
-
-["GrpOFIA_MMG1","FIA O MMG1 -"],
-["GrpOFIA_MMG2","FIA O MMG2 -"],
-["GrpOFIA_HMG1","FIA O HMG1 -"],
-["GrpOFIA_MAT1","FIA O MAT1 -"],
-["GrpOFIA_MAT2","FIA O MAT2 -"],
-["GrpOFIA_HAT1","FIA O HAT1 -"],
-["GrpOFIA_MTR1","FIA O MTR1 -"],
-["GrpOFIA_MSAM1","FIA O MSAM1 -"],
-["GrpOFIA_HSAM1","FIA O HSAM1 -"],
-["GrpOFIA_ST1","FIA O ST1 -"],
-["GrpOFIA_DT1","FIA O DT1 -"],
-["GrpOFIA_ENG1","FIA O ENG1 -"],
-
-["GrpOFIA_IFV1","FIA O TECH1 -"],
-["GrpOFIA_IFV2","FIA O TECH2 -"],
-["GrpOFIA_TNK1","FIA O TNK1 -"],
-
-["GrpOFIA_TH1","FIA O TH1 -"],
-["GrpOFIA_TH2","FIA O TH2 -"],
-["GrpOFIA_TH3","FIA O TH3 -"],
-["GrpOFIA_TH4","FIA O TH4 -"],
-["GrpOFIA_TH5","FIA O TH5 -"],
-["GrpOFIA_TH6","FIA O TH6 -"],
-["GrpOFIA_TH7","FIA O TH7 -"],
-["GrpOFIA_TH8","FIA O TH8 -"],
-["GrpOFIA_AH1","FIA O AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: INDEPENDENT > AAF
-// Automatically assigns intelligible names to groups
-
-["GrpAAF_CO","AAF CO -"],
-["GrpAAF_DC","AAF DC -"],
-["GrpAAF_COV","AAF COV -"],
-
-["GrpAAF_ASL","AAF ASL -"],
-["GrpAAF_A1","AAF A1 -"],
-["GrpAAF_A2","AAF A2 -"],
-["GrpAAF_AV","AAF AV -"],
-
-["GrpAAF_BSL","AAF BSL -"],
-["GrpAAF_B1","AAF B1 -"],
-["GrpAAF_B2","AAF B2 -"],
-["GrpAAF_BV","AAF BV -"],
-
-["GrpAAF_CSL","AAF CSL -"],
-["GrpAAF_C1","AAF C1 -"],
-["GrpAAF_C2","AAF C2 -"],
-["GrpAAF_CV","AAF CV -"],
-
-["GrpAAF_JSL","AAF JSL -"],
-["GrpAAF_J1","AAF J1 -"],
-["GrpAAF_J2","AAF J2 -"],
-["GrpAAF_JV","AAF JV -"],
-
-["GrpAAF_MMG1","AAF MMG1 -"],
-["GrpAAF_MMG2","AAF MMG2 -"],
-["GrpAAF_HMG1","AAF HMG1 -"],
-["GrpAAF_MAT1","AAF MAT1 -"],
-["GrpAAF_MAT2","AAF MAT2 -"],
-["GrpAAF_HAT1","AAF HAT1 -"],
-["GrpAAF_MTR1","AAF MTR1 -"],
-["GrpAAF_MSAM1","AAF MSAM1 -"],
-["GrpAAF_HSAM1","AAF HSAM1 -"],
-["GrpAAF_ST1","AAF ST1 -"],
-["GrpAAF_DT1","AAF DT1 -"],
-["GrpAAF_ENG1","AAF ENG1 -"],
-
-["GrpAAF_IFV1","AAF IFV1 -"],
-["GrpAAF_IFV2","AAF IFV2 -"],
-["GrpAAF_TNK1","AAF TNK1 -"],
-
-["GrpAAF_TH1","AAF TH1 -"],
-["GrpAAF_TH2","AAF TH2 -"],
-["GrpAAF_TH3","AAF TH3 -"],
-["GrpAAF_TH4","AAF TH4 -"],
-["GrpAAF_TH5","AAF TH5 -"],
-["GrpAAF_TH6","AAF TH6 -"],
-["GrpAAF_TH7","AAF TH7 -"],
-["GrpAAF_TH8","AAF TH8 -"],
-["GrpAAF_AH1","AAF AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: INDEPENDENT > SYNDIKAT
// Automatically assigns intelligible names to groups
-["GrpSyn_CO","Syndikat CO -"],
-["GrpSyn_DC","Syndikat DC -"],
-["GrpSyn_COV","Syndikat COV -"],
-
-["GrpSyn_ASL","Syndikat ASL -"],
-["GrpSyn_A1","Syndikat A1 -"],
-["GrpSyn_A2","Syndikat A2 -"],
-["GrpSyn_AV","Syndikat AV -"],
-
-["GrpSyn_BSL","Syndikat BSL -"],
-["GrpSyn_B1","Syndikat B1 -"],
-["GrpSyn_B2","Syndikat B2 -"],
-["GrpSyn_BV","Syndikat BV -"],
-
-["GrpSyn_CSL","Syndikat CSL -"],
-["GrpSyn_C1","Syndikat C1 -"],
-["GrpSyn_C2","Syndikat C2 -"],
-["GrpSyn_CV","Syndikat CV -"],
-
-["GrpSyn_JSL","Syndikat JSL -"],
-["GrpSyn_J1","Syndikat J1 -"],
-["GrpSyn_J2","Syndikat J2 -"],
-["GrpSyn_JV","Syndikat JV -"],
-
-["GrpSyn_MMG1","Syndikat MMG1 -"],
-["GrpSyn_MMG2","Syndikat MMG2 -"],
-["GrpSyn_HMG1","Syndikat HMG1 -"],
-["GrpSyn_MAT1","Syndikat MAT1 -"],
-["GrpSyn_MAT2","Syndikat MAT2 -"],
-["GrpSyn_HAT1","Syndikat HAT1 -"],
-["GrpSyn_MTR1","Syndikat MTR1 -"],
-["GrpSyn_MSAM1","Syndikat MSAM1 -"],
-["GrpSyn_HSAM1","Syndikat HSAM1 -"],
-["GrpSyn_ST1","Syndikat ST1 -"],
-["GrpSyn_DT1","Syndikat DT1 -"],
-["GrpSyn_ENG1","Syndikat ENG1 -"],
-
-["GrpSyn_IFV1","Syndikat IFV1 -"],
-["GrpSyn_IFV2","Syndikat IFV2 -"],
-["GrpSyn_TNK1","Syndikat TNK1 -"],
-
-["GrpSyn_TH1","Syndikat TH1 -"],
-["GrpSyn_TH2","Syndikat TH2 -"],
-["GrpSyn_TH3","Syndikat TH3 -"],
-["GrpSyn_TH4","Syndikat TH4 -"],
-["GrpSyn_TH5","Syndikat TH5 -"],
-["GrpSyn_TH6","Syndikat TH6 -"],
-["GrpSyn_TH7","Syndikat TH7 -"],
-["GrpSyn_TH8","Syndikat TH8 -"],
-["GrpSyn_AH1","Syndikat AH1 -"],
-
-// ====================================================================================
-
-// GROUP IDs: Independent > FIA
-// Automatically assigns intelligible names to groups
-
-["GrpIFIA_CO","FIA I CO -"],
-["GrpIFIA_DC","FIA I DC -"],
-["GrpIFIA_COV","FIA I COV -"],
-
-["GrpIFIA_ASL","FIA I ASL -"],
-["GrpIFIA_A1","FIA I A1 -"],
-["GrpIFIA_A2","FIA I A2 -"],
-["GrpIFIA_AV","FIA I AV -"],
-
-["GrpIFIA_BSL","FIA I BSL -"],
-["GrpIFIA_B1","FIA I B1 -"],
-["GrpIFIA_B2","FIA I B2 -"],
-["GrpIFIA_BV","FIA I BV -"],
-
-["GrpIFIA_CSL","FIA I CSL -"],
-["GrpIFIA_C1","FIA I C1 -"],
-["GrpIFIA_C2","FIA I C2 -"],
-["GrpIFIA_CV","FIA I CV -"],
-
-["GrpIFIA_JSL","FIA I JSL -"],
-["GrpIFIA_J1","FIA I J1 -"],
-["GrpIFIA_J2","FIA I J2 -"],
-["GrpIFIA_JV","FIA I JV -"],
-
-["GrpIFIA_MMG1","FIA I MMG1 -"],
-["GrpIFIA_MMG2","FIA I MMG2 -"],
-["GrpIFIA_HMG1","FIA I HMG1 -"],
-["GrpIFIA_MAT1","FIA I MAT1 -"],
-["GrpIFIA_MAT2","FIA I MAT2 -"],
-["GrpIFIA_HAT1","FIA I HAT1 -"],
-["GrpIFIA_MTR1","FIA I MTR1 -"],
-["GrpIFIA_MSAM1","FIA I MSAM1 -"],
-["GrpIFIA_HSAM1","FIA I HSAM1 -"],
-["GrpIFIA_ST1","FIA I ST1 -"],
-["GrpIFIA_DT1","FIA I DT1 -"],
-["GrpIFIA_ENG1","FIA I ENG1 -"],
-
-["GrpIFIA_IFV1","FIA I TECH1 -"],
-["GrpIFIA_IFV2","FIA I TECH2 -"],
-["GrpIFIA_TNK1","FIA I TNK1 -"],
-
-["GrpIFIA_TH1","FIA I TH1 -"],
-["GrpIFIA_TH2","FIA I TH2 -"],
-["GrpIFIA_TH3","FIA I TH3 -"],
-["GrpIFIA_TH4","FIA I TH4 -"],
-["GrpIFIA_TH5","FIA I TH5 -"],
-["GrpIFIA_TH6","FIA I TH6 -"],
-["GrpIFIA_TH7","FIA I TH7 -"],
-["GrpIFIA_TH8","FIA I TH8 -"],
-["GrpIFIA_AH1","FIA I AH1 -"]
-
-// Always make sure there's no comma after the last entry!
-
-// ====================================================================================
-
-// END OF THE ARRAY CONTAING ALL GROUPS
-// Do not comment or delete this line!
-];
-
-// ====================================================================================
-
// SET GROUP IDS
// Execute setGroupID Function for all factions
-{_x call f_fnc_setGroupID} forEach _groups;
\ No newline at end of file
+// Note: The actual group IDs are defined in f/groupMarkers/fn_groupData.sqf
+{
+ _x params ["_grp", "", "", "", "_id"];
+ if (_id != "") then {
+ [_grp, _id] call f_fnc_setGroupID;
+ }
+} forEach f_var_groupData_all;
+
+// ====================================================================================
+
+// Warn if there are groups with playable units that are not present in f_var_groupData_all
+// Otherwise groups would show a generic name in the chat and in the ORBAT briefing page.
+private _groupDataGroups = f_var_groupData_all apply {
+ missionNamespace getVariable[_x select 0,grpNull]
+ } select {
+ _x isEqualType grpNull && {! (_x isEqualTo grpNull)}
+ };
+
+private _playableGroups = playableUnits select {
+ roleDescription _x find " Reporter" < 0
+ } apply {group _x};
+_playableGroups = _playableGroups arrayIntersect _playableGroups;
+private _groupsWithoutIDs = _playableGroups select {! (_x in _groupDataGroups)};
+if (count _groupsWithoutIDs > 0) then {
+ private _msg = format ["ERROR (f_setGroupIDs.sqf): %1 groups have no group ID set: %2", count _groupsWithoutIDs, _groupsWithoutIDs];
+ systemChat _msg;
+ diag_log _msg;
+};
diff --git a/f/setGroupID/fn_setGroupID.sqf b/f/setGroupID/fn_setGroupID.sqf
index 74bf5b33f..f1a089320 100644
--- a/f/setGroupID/fn_setGroupID.sqf
+++ b/f/setGroupID/fn_setGroupID.sqf
@@ -1,13 +1,18 @@
// F3 - Set Group ID Function
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES
private ["_grp"];
+params [
+ ["_grp_var", "", [""]],
+ ["_grp_id", "", [""]]
+];
+
// Check first if the group exists
-_grp = missionNamespace getVariable[(_this select 0),grpNull];
-if(!isNull _grp) then {
- _grp setGroupId [(_this select 1),"GroupColor0"];
+_grp = missionNamespace getVariable[_grp_var,grpNull];
+if(!isNull _grp && _grp isEqualType grpNull) then {
+ _grp setGroupId [_grp_id,"GroupColor0"];
};
diff --git a/f/setTeamColours/f_setTeamColours.sqf b/f/setTeamColours/f_setTeamColours.sqf
index 9411aec35..5048b3c4d 100644
--- a/f/setTeamColours/f_setTeamColours.sqf
+++ b/f/setTeamColours/f_setTeamColours.sqf
@@ -1,5 +1,5 @@
// F3 - Buddy Team Colours
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
if (!hasInterface) exitWith {};
@@ -20,11 +20,13 @@ if (!isDedicated && (isNull player)) then
private _leaders = ["_FTL"];
// Set suffixes for each color
-private _white = [];
-private _red = ["_AT","_R1","_R2"];
-private _blue = ["_AR1","_AR2","_FTL"];
-private _yellow = [];
-private _green = [];
+private _colors = [
+ ["MAIN", [] ],
+ ["RED", ["_AT","_R1","_R2","_CLS"] ],
+ ["BLUE", ["_AR1","_AR2","_FTL"] ],
+ ["YELLOW", [] ],
+ ["GREEN", [] ]
+];
// ====================================================================================
@@ -32,7 +34,6 @@ private _green = [];
sleep 10;
-private _unit = player;
private _isFireteam = false;
// ====================================================================================
@@ -41,44 +42,28 @@ private _isFireteam = false;
// If the group isn't a full fireteam, leave teams as default.
{
- if ([_x, format["%1",(leader (group _unit))]] call BIS_fnc_inString) exitWith {_isFireteam = true;}
+ if ((format["%1",(leader (group player))] find _x) != -1) exitWith {_isFireteam = true;}
} forEach _leaders;
if(!_isFireteam) exitWith {};
-// SET TEAM COLOURS
-{
- _unit = _x;
- _unitStr = str _x;
-
- {
- if ((_unitStr find _x) != -1) then {
- _unit assignTeam "RED";
- };
- } forEach _red;
-
- {
- if ((_unitStr find _x) != -1) then {
- _unit assignTeam "blue";
- };
- } forEach _blue;
+// Only run this for the group leader:
+if((((units group player) select {isPlayer _x}) #0) != player) exitWith {};
- {
- if ((_unitStr find _x) != -1) then {
- _unit assignTeam "yellow";
- };
- } forEach _yellow;
+// ====================================================================================
- {
- if ((_unitStr find _x) != -1) then {
- _unit assignTeam "green";
- };
- } forEach _green;
+// SET TEAM COLOURS
+{
+ private _unit = _x;
+ private _unitStr = str _unit;
{
- if ((_unitStr find _x) != -1) then {
- _unit assignTeam "white";
- };
- } forEach _white;
-
-} forEach units (group _unit);
+ _x params ["_color", "_suffixes"];
+ {
+ if ((_unitStr find _x) != -1) then {
+ _unit assignTeam _color;
+ };
+ } forEach _suffixes;
+ } forEach _colors;
+
+} forEach units (group player);
diff --git a/f/simplewoundingsystem/fn_EjectWounded.sqf b/f/simplewoundingsystem/fn_EjectWounded.sqf
deleted file mode 100644
index 55555619f..000000000
--- a/f/simplewoundingsystem/fn_EjectWounded.sqf
+++ /dev/null
@@ -1,16 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-_veh = _this select 0;
-_caller = _this select 1;
-
-{
- if(_x getVariable ["f_wound_down",false]) then
- {
- _x action["eject",_veh];
- sleep 0.2
- ;
- _x switchmove "acts_InjuredLookingRifle02";
- };
-} foreach crew _veh;
-_veh removeAction (_this select 2);
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_GetAnimation.sqf b/f/simplewoundingsystem/fn_GetAnimation.sqf
deleted file mode 100644
index 97be9fa70..000000000
--- a/f/simplewoundingsystem/fn_GetAnimation.sqf
+++ /dev/null
@@ -1,11 +0,0 @@
-params ["_unit"];
-_anim = "";
-if(vehicle _unit == _unit) then
-{
- _anim = "acts_InjuredLookingRifle02";
-}
-else
-{
- _anim = (getArray (configfile >> "CfgMovesMaleSdr" >> "States" >> animationState _unit >> "interpolateTo")) select 0;
-};
-_anim
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_HasWounded.sqf b/f/simplewoundingsystem/fn_HasWounded.sqf
deleted file mode 100644
index a21922a44..000000000
--- a/f/simplewoundingsystem/fn_HasWounded.sqf
+++ /dev/null
@@ -1,12 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-_veh = _this select 0;
-_ret = false;
-{
- if(_x getVariable ["f_wound_down",false]) then
- {
- _ret = true;
- };
-} foreach crew _veh;
-_ret
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_LifeTick.sqf b/f/simplewoundingsystem/fn_LifeTick.sqf
deleted file mode 100644
index 9accea718..000000000
--- a/f/simplewoundingsystem/fn_LifeTick.sqf
+++ /dev/null
@@ -1,56 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-_unit = _this;
-
-// handles the woundeffect
-[_unit] spawn
-{
- _unit = _this select 0;
-
- while{alive _unit} do
- {
- _downed = _unit getVariable ["f_wound_down",false];
- _bleeding = _unit getVariable ["f_wound_bleeding",false];
- if(_downed || _bleeding) then
- {
- [] call f_fnc_WoundedEffect;
- };
- sleep 2.5;
- };
-};
-
-// ticker for life, calculates death and blood.
-while {alive _unit} do
-{
- _downed = _unit getVariable ["f_wound_down",false];
- _bleeding = _unit getVariable ["f_wound_bleeding",false];
- _blood = _unit getVariable ["f_wound_blood",100];
- if(_bleeding && damage _unit < 0.26) then
- {
- // stops units from not being able to first aid.
- _unit setdamage 0.26;
- };
- if(_downed || _bleeding) then
- {
- // blood loss
- _unit setVariable ["f_wound_blood",_blood - 0.6 max 0];
- if(damage _unit < 0.251) then { _unit setDamage 0.251};
- if(getBleedingRemaining _unit <= 0) then { _unit setBleedingRemaining 10;};
- if(_downed && {animationstate _unit != [_unit] call f_fnc_GetAnimation)} && !{(["heal",animationstate _unit] call bis_fnc_inString)) then
- {
- _unit playMove "";
- _unit switchmove ([_unit] call f_fnc_GetAnimation);
- };
- }
- else
- {
- // blood regens.
- _unit setVariable ["f_wound_blood",_blood + 0.6 min 100];
- };
- if(_blood <= 0) then
- {
- _unit setdamage 1;
- };
- sleep 1;
-};
diff --git a/f/simplewoundingsystem/fn_OnDamage.sqf b/f/simplewoundingsystem/fn_OnDamage.sqf
deleted file mode 100644
index dc2ed5e8c..000000000
--- a/f/simplewoundingsystem/fn_OnDamage.sqf
+++ /dev/null
@@ -1,30 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-_unit = _this select 0;
-_selection = _this select 1;
-_damage = _this select 2;
-_totalDamage = damage _unit + _damage;
-if (f_param_debugMode == 1) then
-{
- player sidechat format["%1 - '%2' - %3 - %4",_unit,_selection,_damage,_totalDamage];
-};
-
-// if selection is not head or hands or "" check if we can save him.
-if((_selection != "head") && _selection != "" && _selection != "hands" && _totalDamage > 1) then
-{
- if(!(_unit getVariable ["f_wound_down",false])) then
- {
- [[_unit,true], "f_fnc_SetDowned", true] spawn BIS_fnc_MP;
-
- _damage = 0;
- _unit spawn {_this allowDammage false;sleep 1;_this allowDammage true};
- };
-};
-
-if(isBleeding _unit && _unit getVariable ["f_wound_bleeding",false]) then
-{
- _unit setVariable ["f_wound_bleeding",true];
-};
-_damage
-
diff --git a/f/simplewoundingsystem/fn_OnDeath.sqf b/f/simplewoundingsystem/fn_OnDeath.sqf
deleted file mode 100644
index e9278bc1b..000000000
--- a/f/simplewoundingsystem/fn_OnDeath.sqf
+++ /dev/null
@@ -1,9 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// this just makes sure that the wounded people die and ragdoll after a while.
-_unit = _this select 0;
-if(_unit getVariable ["f_wound_down",false]) then
-{
- [[_unit,false], "f_fnc_SetDowned", true] spawn BIS_fnc_MP;
-};
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_OnDrag.sqf b/f/simplewoundingsystem/fn_OnDrag.sqf
deleted file mode 100644
index b139530df..000000000
--- a/f/simplewoundingsystem/fn_OnDrag.sqf
+++ /dev/null
@@ -1,68 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-_unit = _this select 0;
-_dragger = _this select 1;
-_dragger setVariable ["f_wound_dragging",_unit,true];
-
-// the dragger gets a release option.
-if(local _dragger) then
-{
- _dragger addAction [format["Release %1",name _unit],{(_this select 1) setVariable ["f_wound_dragging",nil];(_this select 1) removeAction (_this select 2);}, nil, 6, false, true, "", "true"];
-
-
- switch (currentWeapon _dragger) do {
- case (primaryWeapon _dragger): {
- _dragger switchMove "acinpknlmstpsraswrfldnon";
- };
- case (secondaryWeapon _dragger): {
- _dragger switchMove "AcinPknlMstpSnonWnonDnon";
- };
- };
-};
-_unit switchMove "AinjPpneMrunSnonWnonDb";
-
-if(local _unit) then
-{
- // setup the unit and all that fun stuff.
- _unit attachTo [_dragger, [0, 1.1, 0.092]];
- _unit SetDir 180;
- _unit SetPos (getpos _unit);
- };
-
-// lets wait a while.
-waitUntil {
- sleep 0.1;
- _dude = _dragger getVariable ["f_wound_dragging",nil];
- ( isNil "_dude" || !alive _dragger || (_dragger getVariable ["f_wound_down",false]))
-};
-
-
-_dragger setVariable ["f_wound_dragging",nil,true];
-// release unit.
-detach _unit;
-_unit setPosATL getposATL _dragger;
-
-if(!(_dragger getVariable ["f_wound_down",false])) then
-{
- _unit switchMove "AinjPpneMstpSnonWrflDb_release";
-};
-
-sleep 0.1;
-if(_unit getVariable ["f_wound_down",false]) then
-{
- _unit switchMove "acts_InjuredLookingRifle02";
-}
-else
-{
- _unit switchMove "amovppnemstpsraswrfldnon";
-};
-
-if(_dragger getVariable ["f_wound_down",false]) then
-{
- _dragger switchMove "acts_InjuredLookingRifle02";
-}
-else
-{
- _dragger switchMove "";
-};
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_OnHeal.sqf b/f/simplewoundingsystem/fn_OnHeal.sqf
deleted file mode 100644
index 6219f5188..000000000
--- a/f/simplewoundingsystem/fn_OnHeal.sqf
+++ /dev/null
@@ -1,25 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// runs on the healer.
-_unit = _this select 0;
-_healer = _this select 1;
-_ret = true;
-[_unit,_healer] spawn {
- _unit = _this select 0;
- _healer = _this select 1;
- waitUntil {(["medic",animationstate _healer] call bis_fnc_inString)};
- waitUntil {!(["medic",animationstate _healer] call bis_fnc_inString)};
- // if unit is bleeding, stop bleeding
- if(_unit getVariable ["f_wound_bleeding",false]) then
- {
- [[_unit,false], "f_fnc_SetBleeding", true] spawn BIS_fnc_MP;
- };
-
- // if unit is down , revive him.
- if(_unit getVariable ["f_wound_down",false] ) then
- {
- [[_unit,false], "f_fnc_SetDowned", true] spawn BIS_fnc_MP;
- };
-};
-_ret
diff --git a/f/simplewoundingsystem/fn_SetBleeding.sqf b/f/simplewoundingsystem/fn_SetBleeding.sqf
deleted file mode 100644
index 32bb3984a..000000000
--- a/f/simplewoundingsystem/fn_SetBleeding.sqf
+++ /dev/null
@@ -1,5 +0,0 @@
-_unit = _this select 0;
-_value = _this select 1;
-
-_unit setVariable ["f_wound_bleeding",_value];
-if(!_value) then {[] spawn f_fnc_WoundedEffect;};
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_SetDowned.sqf b/f/simplewoundingsystem/fn_SetDowned.sqf
deleted file mode 100644
index 1400bfa70..000000000
--- a/f/simplewoundingsystem/fn_SetDowned.sqf
+++ /dev/null
@@ -1,78 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-
-_unit = _this select 0;
-_bool = _this select 1;
-
-// ====================================================================================
-if(_bool && alive _unit) then
-{
- /// Check if they already down, don't down them again.
- if(_unit getVariable ["f_wound_down",false]) exitWith {};
-
- // The ai is a bit too triggerhappy so lets set the units as captive
- _unit setVariable ["f_wound_down",true];
- _unit setCaptive 1;
-
-
- // If the unit is local and a player, remove their magazines (otherwise they can throw grenades while down)
- if(local _unit && isPlayer _unit) then
- {
- _unit setVariable ["f_wound_down_mags",magazines _unit];
- {
- _unit removeMagazine _x;
- } foreach magazines _unit;
- // this disables the actionmenu for the users
- showHud false;
-
- };
-
- // Just a safety switch to ensure that the unit is wounded enough to have the firstaid option
- if(damage _unit < 0.251) then { _unit setDamage 0.251};
- _unit playMove "";
- _unit switchmove ([_unit] call f_fnc_GetAnimation);
-
- // if _unit is not in a vehicle, play this animation otherwise fetch the dead animations from the vehicles.
- if(vehicle _unit != _unit) then
- {
- (vehicle _unit) addAction ["Pull out wounded", {[_this, "f_fnc_EjectWounded", true] spawn BIS_fnc_MP;}, nil, 5, false, true, "", "_target distance _this < 5 && [_target] call f_fnc_HasWounded"];
- };
-}
-else
-{
- if(!(_unit getVariable ["f_wound_down",false])) exitWith {};
-
- _unit setVariable ["f_wound_down",false];
- // if the unit is not in a vehicle, play pretty animation otherwise just reset to thier default animation
- if(vehicle _unit == _unit) then
- {
- _unit switchmove "AinjPpneMstpSnonWnonDnon_rolltofront";
- }
- else
- {
- _unit switchmove "";
- };
- // clean up.
- _unit setCaptive 0;
- _dragIndex = _unit getVariable ["f_wound_dragIndex",-1];
- if(_dragIndex >= 0) then {_unit removeAction _dragIndex};
- _unit setVariable ["f_wound_dragIndex",-1];
-
- // give the unit back his magazines if hes local
- if(local _unit) then
- {
- _mags = _unit getVariable ["f_wound_down_mags",magazines _unit];
- {
- _unit addMagazine _x;
- } foreach _mags;
-
- showHud true;
- // reset the PP
- F_UncToggle = true;
- [] spawn f_fnc_WoundedEffect;
- sleep 0.1;
- // force him into prone otherwise he can get stuck in the rolltofrontanimation.
- _unit playMove "amovppnemstpsraswrfldnon";
- };
-};
\ No newline at end of file
diff --git a/f/simplewoundingsystem/fn_WoundedEffect.sqf b/f/simplewoundingsystem/fn_WoundedEffect.sqf
deleted file mode 100644
index 9999ed7d7..000000000
--- a/f/simplewoundingsystem/fn_WoundedEffect.sqf
+++ /dev/null
@@ -1,45 +0,0 @@
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// I don't know how this works but it does ;)
-_damage=f_damage_effect + damage player;
-if(!F_UncToggle) then
-{
- F_UncCC ppEffectAdjust [1,1,0,[0.17, 0.0008, 0.0008, 0.001 max (1 min ((0.05/(_damage-0.8))-0.25))],[0.17, 0.0008, 0.0008, 1],[1, 1, 1, 0]];
- F_UncCC ppEffectAdjust [1,1,0,[0,0,0,0],[0.17, 0.0008, 0.0008, 0.218 max (1 min ((0.03/(_damage-0.819))+0.05))],[1, 1, 1, 0]];
- F_UncCC ppEffectEnable TRUE;
- F_UncCC ppEffectForceInNVG TRUE;
- F_UncCC ppEffectCommit 2.5;
- F_UncBlur ppEffectAdjust [0.5];
- F_UncBlur ppEffectEnable TRUE;
- F_UncBlur ppEffectCommit 0;
-
-
- F_UncCC ppEffectAdjust [1,1,0,[0.15, 0.0, 0.0, (3.33*_damage)-2.83], [1.0, 0.5, 0.5, 1-((3.33*_damage)-2.83)], [0.587, 0.199, 0.114, 0.0]];
- F_UncCC ppEffectEnable TRUE;
- F_UncCC ppEffectForceInNVG TRUE;
- F_UncCC ppEffectCommit 2.5;
-
- F_UncBlur ppEffectAdjust [0.8];
- F_UncBlur ppEffectEnable TRUE;
- F_UncBlur ppEffectCommit 0;
- F_UncToggle = true;
-}
-else
-{
- F_UncCC ppEffectAdjust [1,1,0,[0,0,0,0],[1,1,1,1],[0,0,0,0]];
- F_UncCC ppEffectCommit 3.5; //2.5
-
- F_UncRadialBlur ppEffectAdjust [0.0, 0.0, 0.5, 0.5];
- F_UncRadialBlur ppEffectCommit 2.5; //2.5
-
- F_UncBlur ppEffectAdjust [0];
- F_UncBlur ppEffectCommit 2.5; //2.5
- //sleep 3.5;
- F_UncBlur ppEffectEnable FALSE;
- F_UncToggle = false;
-};
-
-
-
-
diff --git a/f/simplewoundingsystem/init.sqf b/f/simplewoundingsystem/init.sqf
deleted file mode 100644
index a647302c3..000000000
--- a/f/simplewoundingsystem/init.sqf
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// F3 - SimpleWoundingSystem
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-if (isDedicated) ExitWith {};
-_unit = _this select 0;
-
-
-
-// add breifing
-if(isNil "f_wound_briefing") then{f_wound_briefing = true;};
-if(isNil "f_wound_extraFAK") then {f_wound_extraFAK = 0};
-
-if(f_wound_briefing) then
-{
- [] spawn
- {
- waitUntil {scriptDone f_script_briefing};
- _bstr = format ["
OVERVIEW
-When a player is wounded to the point of being 'incapacitated' they become a casualty. Casualties are prone and unable to move.
-
-TREATING CASUALTIES
-Players equipped with at least 1 x FAK can treat a casualty by moving next to them and selecting the relevant action menu option. Treatment uses up 1 x FAK.
-
-DRAGGING CASUALTIES
-Players can drag a casualty by moving next to them and selecting the relevant action menu option. Whilst dragging, the player has an action menu option for releasing the casualty.
-
-BLEEDING OUT
-An incapacitated player only has a few minutes before her/his wounds become fatal and they die."];
- player createDiaryRecord ["Diary", ["F3 Simple Wounding System",_bstr]];
- };
-};
-
-
-
-for [{_i=1},{_i<=f_wound_extraFAK},{_i=_i+1}] do {
- _unit addItem "FirstAidKit";
-};
-
-/// lets wait a bit.
-sleep 5;
-
-// default variables.
-_unit setVariable ["f_wound_down",false];
-_unit setVariable ["f_wound_bleeding",false];
-_unit setVariable ["f_wound_blood",100]; // other player dont need know this
-_unit setVariable ["f_wound_dragging",nil];
-f_wound_healAnimations = ["ainvpknlmstpslaywpstdnon_medic","ainvpknlmstpslaywrfldnon_medic","ainvpknlmstpslaywnondnon_medic","ainvppnemstpslaywnondnon_medic","AinvPpneMstpSlayWnonDnon_medic","AinvPpneMstpSlayWpstDnon_medic","AinvPpneMstpSlayWrflDnon_medic",""];
-
-/// Lifeticker, manages bleeding and blood values.
-_unit spawn f_fnc_LifeTick;
-
-
-// HandleHeal needs to be one the player you heal.
-{
- _x setVariable ["f_wound_down",false];
- _x setVariable ["f_wound_bleeding",false];
- _x addEventHandler ["HandleHeal",{_this call f_fnc_OnHeal}];
- // Drag Action.
- _addIndex = _x addAction [format ["Drag %1", name _x],{[_this, "f_fnc_OnDrag", [_this select 0,_this select 1],false] spawn BIS_fnc_MP;}, nil, 6, false, true, "", "_var = _this getVariable ['f_wound_dragging',nil];_target distance _this < 2 && isNil '_var' && _target getVariable['f_wound_down',false] && !(_this getVariable ['f_wound_down',false])"];
-} foreach playableUnits;
-
-// defines the PP effects for the downed effect.
-F_UncCC = ppEffectCreate ["ColorCorrections", 1603];
-F_UncRadialBlur = ppEffectCreate ["RadialBlur", 280];
-F_UncBlur = ppEffectCreate ["DynamicBlur", 180];
-F_UncToggle = false;
-f_damage_effect = 1.1;
-
-// Eventhandlers for the player.
-_unit addEventHandler ["killed", {_this call f_fnc_OnDeath}];
-_unit addEventHandler ["HandleDamage",{_this call f_fnc_OnDamage}];
-
diff --git a/f/skulls/f_skullsSounds.hpp b/f/skulls/f_skullsSounds.hpp
new file mode 100644
index 000000000..ea4c040b7
--- /dev/null
+++ b/f/skulls/f_skullsSounds.hpp
@@ -0,0 +1,9 @@
+// FA3 - Skulls module - sounds config included in description.ext
+class f_gruntBirthdayParty
+{
+ // how the sound is referred to in the editor (e.g. trigger effects)
+ name = "Grunt Birthday Party";
+ // filename, volume, pitch, distance (optional)
+ sound[] = { "f\skulls\gruntBirthdayParty.ogg", 1, 1, 100 };
+ titles[] = {};
+};
\ No newline at end of file
diff --git a/f/skulls/fn_gruntBirthdayParty.sqf b/f/skulls/fn_gruntBirthdayParty.sqf
new file mode 100644
index 000000000..86aa7faff
--- /dev/null
+++ b/f/skulls/fn_gruntBirthdayParty.sqf
@@ -0,0 +1,45 @@
+// FA3 - Skulls module (Grunt Birthday Party)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// This component creates a colourful celebration of a late unit's life. And death.
+// ====================================================================================
+
+params ["_unit"];
+
+// basic setup
+private _pos = getPosATL _unit;
+private _soundSource = "#particlesource" createVehicleLocal _pos;
+
+// create a particle source
+private _particleSource1 = "#particlesource" createVehicleLocal _pos;
+// attach it to the head of the victim
+_particleSource1 attachTo [_unit,[0,0,0],"Head",true];
+// fancy particles! I don't remember how this works
+_particleSource1 setParticleClass "TestEmitterEffect";
+_particleSource1 setParticleParams [["\A3\Data_f\cl_basic.p3d",16,7,48,1],"","Billboard",1,5,[0,0,0],[0,0,0.5],0,0.5,0.01,0.1,[0.1],[[1,0,0,1]],[1],0.01,1,"","","",0,false,0,[[0,0,0,0]]];
+_particlesource1 setParticleRandom [0,[0,0,0],[0.1,0.1,0.1],0,0,[0,0,0,1],0,0.1,1,0];
+_particleSource1 setDropInterval 0.01;
+
+private _particleSource2 = "#particlesource" createVehicleLocal _pos;
+_particleSource2 attachTo [_unit,[0,0,0],"Head",true];
+_particleSource2 setParticleClass "TestEmitterEffect";
+_particleSource2 setParticleParams [["\A3\Data_f\cl_basic.p3d",16,7,48,1],"","Billboard",1,5,[0,0,0],[0,0,0.5],0,0.5,0.01,0.1,[0.1],[[0,1,0,1]],[1],0.01,1,"","","",0,false,0,[[0,0,0,0]]];
+_particlesource2 setParticleRandom [0,[0,0,0],[0,0,0],0,0,[1,0.954608,0,0],0,0,1,0];
+_particleSource2 setDropInterval 0.01;
+
+private _particleSource3 = "#particlesource" createVehicleLocal _pos;
+_particleSource3 attachTo [_unit,[0,0,0],"Head",true];
+_particleSource3 setParticleClass "TestEmitterEffect";
+_particleSource3 setParticleParams [["\A3\Data_f\cl_basic.p3d",16,7,48,1],"","Billboard",1,5,[0,0,0],[0,0,0.5],0,0.5,0.01,0.1,[0.1],[[1,0.716538,0,1]],[1],0.01,1,"","","",0,false,0,[[0,0,0,0]]];
+_particlesource3 setParticleRandom [0,[0,0,0],[0,0,0],0,0,[1,0.954608,0,0],0,0,1,0];
+_particleSource3 setDropInterval 0.01;
+
+// yaaay!
+_soundSource say3D "f_gruntBirthdayParty";
+
+sleep 0.75;
+deleteVehicle _particleSource1;
+deleteVehicle _particleSource2;
+deleteVehicle _particleSource3;
+
+sleep 2;
+deleteVehicle _soundSource;
diff --git a/f/skulls/fn_skullsInit.sqf b/f/skulls/fn_skullsInit.sqf
new file mode 100644
index 000000000..b028e7d26
--- /dev/null
+++ b/f/skulls/fn_skullsInit.sqf
@@ -0,0 +1,16 @@
+// FA3 - Skulls module
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// This component initialises various special effects if they're turned on by a mission parameter.
+// ====================================================================================
+
+// Grunt Birthday Party - yaaaayyyy!
+if (f_param_gruntBirthdayParty > 0) then {
+ f_var_gruntBirthdayPartyEH = addMissionEventHandler ["EntityKilled",{
+ params ["_unit", "_killer", "_instigator", "_useEffects"];
+ if (_unit isKindOf "CAManBase") then {
+ // If running in Players Only mode and this isn't a player, do nothing.
+ if (!(isPlayer [_unit]) && (f_param_gruntBirthdayParty == 1)) exitWith {};
+ [_unit] spawn f_fnc_gruntBirthdayParty;
+ };
+ }];
+};
diff --git a/f/skulls/gruntBirthdayParty.ogg b/f/skulls/gruntBirthdayParty.ogg
new file mode 100644
index 000000000..a4a73ed30
Binary files /dev/null and b/f/skulls/gruntBirthdayParty.ogg differ
diff --git a/f/spect/config.hpp b/f/spect/config.hpp
deleted file mode 100644
index f42e19844..000000000
--- a/f/spect/config.hpp
+++ /dev/null
@@ -1,827 +0,0 @@
-#define BACKGROUND_COLOR {0.059,0.059,0.059,1}
-#define PRIMARYCOLOR {0.918,0.655,0.141,1}
-class RscSpectListBox {
- access = 0;
- type = 5;
- w = 0.4;
- h = 0.4;
- rowHeight = 0;
- rowWidth = 0;
- colorText[] = {1, 1, 1, 1};
- colorScrollbar[] = {1, 0, 0, 0};
- colorSelect[] = {0, 0, 0, 1};
- colorSelect2[] = {0, 0, 0, 1};
- colorSelectBackground[] = {0.95, 0.95, 0.95, 1};
- colorSelectBackground2[] = {1, 1, 1, 0.5};
- colorBackground[] = {0, 0, 0, 1};
- soundSelect[] = {"", 0.1, 1};
- arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
- arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
- class ListScrollBar {
- color[] = {1, 1, 1, 0.6};
- colorActive[] = {1, 1, 1, 1};
- colorDisabled[] = {1, 1, 1, 0.3};
- shadow = 0;
- thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
- border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
- };
- style = 528;
- font = "TahomaB";
- sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 50) * 1)";
- shadow = 0;
- colorShadow[] = {0, 0, 0, 0.5};
- color[] = {1, 1, 1, 0.1};
- colorDisabled[] = {1, 1, 1, 0.25};
- period = 1.2;
- maxHistoryDelay = 99999999999999999;
- autoScrollSpeed = -1;
- autoScrollDelay = 5;
- autoScrollRewind = 0;
-};
-class RscSpectFrame {
- type = 0;
- idc = -1;
- style = 64;
- shadow = 2;
- colorBackground[] = {0, 0, 0, 0};
- colorText[] = PRIMARYCOLOR;
- font = "PuristaMedium";
- sizeEx = 0.02;
- text = "";
-
-};
-class RscSpectMapControl
-{
- access = 0;
- alphaFadeEndScale = 2;
- alphaFadeStartScale = 2;
- colorBackground[] = {0.969,0.957,0.949,1};
- colorCountlines[] = {0.572,0.354,0.188,0.25};
- colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
- colorForest[] = {0.624,0.78,0.388,0.5};
- colorForestBorder[] = {0,0,0,0};
- colorGrid[] = {0.1,0.1,0.1,0.6};
- colorGridMap[] = {0.1,0.1,0.1,0.6};
- colorInactive[] = {1,1,1,0.5};
- colorLevels[] = {0.286,0.177,0.094,0.5};
- colorMainCountlines[] = {0.572,0.354,0.188,0.5};
- colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
- colorMainRoads[] = {0.9,0.5,0.3,1};
- colorMainRoadsFill[] = {1,0.6,0.4,1};
- colorNames[] = {0.1,0.1,0.1,0.9};
- colorOutside[] = {0,0,0,1};
- colorPowerLines[] = {0.1,0.1,0.1,1};
- colorRailWay[] = {0.8,0.2,0,1};
- colorRoads[] = {0.7,0.7,0.7,1};
- colorRoadsFill[] = {1,1,1,1};
- colorRocks[] = {0,0,0,0.3};
- colorRocksBorder[] = {0,0,0,0};
- colorSea[] = {0.467,0.631,0.851,0.5};
- colorText[] = {0,0,0,1};
- colorTracks[] = {0.84,0.76,0.65,0.15};
- colorTracksFill[] = {0.84,0.76,0.65,1};
- font = "TahomaB";
- fontGrid = "TahomaB";
- fontInfo = "PuristaMedium";
- fontLabel = "PuristaMedium";
- fontLevel = "TahomaB";
- fontNames = "PuristaLight";
- fontUnits = "TahomaB";
- h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
- idc = 51;
- maxSatelliteAlpha = 0.85;
- moveOnEdges = 1;
- ptsPerSquareCLn = 10;
- ptsPerSquareCost = 10;
- ptsPerSquareExp = 10;
- ptsPerSquareFor = 9;
- ptsPerSquareForEdge = 9;
- ptsPerSquareObj = 9;
- ptsPerSquareRoad = 6;
- ptsPerSquareSea = 5;
- ptsPerSquareTxt = 20;
- scaleDefault = 0.16;
- scaleMax = 1;
- scaleMin = 0.001;
- shadow = 0;
- showCountourInterval = 0;
- sizeEx = 0.04;
- sizeExGrid = 0.02;
- sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
- sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
- sizeExLevel = 0.02;
- sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
- sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
- stickX[] = {0.2,["Gamma",1,1.5]};
- stickY[] = {0.2,["Gamma",1,1.5]};
- style = 48;
- text = "#(argb,8,8,3)color(1,1,1,1)";
- type = 101;
- w = "SafeZoneWAbs";
- x = "SafeZoneXAbs";
- y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
- class Legend {
- colorBackground[] = {1, 1, 1, 0.5};
- color[] = {0, 0, 0, 1};
- x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
- y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
- w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
- h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
- font = "PuristaMedium";
- sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
- };
- class ActiveMarker {
- color[] = {0.3, 0.1, 0.9, 1};
- size = 50;
- };
- class Command {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
- size = 18;
- importance = 1;
- coefMin = 1;
- coefMax = 1;
- };
- class Task {
- colorCreated[] = {1, 1, 1, 1};
- colorCanceled[] = {0.7, 0.7, 0.7, 1};
- colorDone[] = {0.7, 1, 0.3, 1};
- colorFailed[] = {1, 0.3, 0.2, 1};
- color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
- icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
- iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
- iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
- iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
- iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
- size = 27;
- importance = 1;
- coefMin = 1;
- coefMax = 1;
- };
- class CustomMark {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
- size = 24;
- importance = 1;
- coefMin = 1;
- coefMax = 1;
- };
- class Tree {
- color[] = {0.45, 0.64, 0.33, 0.4};
- icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
- size = 12;
- importance = "0.9 * 16 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class SmallTree {
- color[] = {0.45, 0.64, 0.33, 0.4};
- icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
- size = 12;
- importance = "0.6 * 12 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class Bush {
- color[] = {0.45, 0.64, 0.33, 0.4};
- icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
- size = "14/2";
- importance = "0.2 * 14 * 0.05 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class Church {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Chapel {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Cross {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Rock {
- color[] = {0.1, 0.1, 0.1, 0.8};
- icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
- size = 12;
- importance = "0.5 * 12 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class Bunker {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
- size = 14;
- importance = "1.5 * 14 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class Fortress {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
- size = 16;
- importance = "2 * 16 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class Fountain {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
- size = 11;
- importance = "1 * 12 * 0.05";
- coefMin = 0.25;
- coefMax = 4;
- };
- class ViewTower {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
- size = 16;
- importance = "2.5 * 16 * 0.05";
- coefMin = 0.5;
- coefMax = 4;
- };
- class Lighthouse {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Quay {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Fuelstation {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Hospital {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class BusStop {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Transmitter {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Stack {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
- size = 20;
- importance = "2 * 16 * 0.05";
- coefMin = 0.9;
- coefMax = 4;
- };
- class Ruin {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
- size = 16;
- importance = "1.2 * 16 * 0.05";
- coefMin = 1;
- coefMax = 4;
- };
- class Tourism {
- color[] = {0, 0, 0, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
- size = 16;
- importance = "1 * 16 * 0.05";
- coefMin = 0.7;
- coefMax = 4;
- };
- class Watertower {
- color[] = {1, 1, 1, 1};
- icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- };
- class Waypoint {
- color[] = {0, 0, 0, 0};
- size = 24;
- importance = 1;
- coefMin = 1;
- coefMax = 1;
- icon = "";
- };
- class WaypointCompleted {
- color[] = {0, 0, 0, 0};
- size = 24;
- importance = 1;
- coefMin = 1;
- coefMax = 1;
- icon = "";
- };
- class power {
- icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- color[] = {1, 1, 1, 1};
- };
- class powersolar {
- icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- color[] = {1, 1, 1, 1};
- };
- class powerwave {
- icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- color[] = {1, 1, 1, 1};
- };
- class powerwind {
- icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- color[] = {1, 1, 1, 1};
- };
- class shipwreck {
- icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
- size = 24;
- importance = 1;
- coefMin = 0.85;
- coefMax = 1;
- color[] = {1, 1, 1, 1};
- };
-};
-class RscSpectPic
-{
- idc = -1;
- type = 0;
- style = 48; //1 2 3...176
- tileH = 2; //Tile Picture height (style = 144)
- tileW = 5; //Tile Picture width (style = 144)
- x = 0.25;
- y = 0.25;
- h = 0.5;
- w = 0.5;
- font = "EtelkaNarrowMediumPro";
- sizeEx = 0.05;
- colorBackground[] = {1,1,1,1}; //white background
- colorText[] = {1,1,1,1}; //grey foreground
- text = "#(argb,8,8,3)color(0.918,0.655,0.141,1)";
- lineSpacing = 1; //required for multi-line style
-};
-class RscSpectButton {
- access = 0;
- borderSize = 0.001 * safezoneW;
- colorBorder[] = PRIMARYCOLOR;
- colorBackgroundActive[] = {0.314,0.314,0.314,1};
- colorBackgroundDisabled[] = BACKGROUND_COLOR;
- colorDisabled[] = {0.4,0.4,0.4,1};
- colorFocused[] = BACKGROUND_COLOR;
- colorShadow[] = PRIMARYCOLOR;
- colorText[] = PRIMARYCOLOR;
- color[] = {1,1,1,1};
- colorBackground[] = BACKGROUND_COLOR;
- font = "PuristaLight";
- h = 0.039216;
- offsetPressedX = 0;
- offsetPressedY = 0;
- offsetX = 0;
- offsetY = 0;
- shadow = 0;
- sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
- soundClick[] = {"\A3\ui_f\data\sound\RscSpectButton\soundClick",0.09,1};
- soundEnter[] = {"\A3\ui_f\data\sound\RscSpectButton\soundEnter",0.09,1};
- soundEscape[] = {"\A3\ui_f\data\sound\RscSpectButton\soundEscape",0.09,1};
- soundPush[] = {"\A3\ui_f\data\sound\RscSpectButton\soundPush",0.09,1};
- style = 0x02 + 160;
- text = "";
- type = 1;
- blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
- tooltipColorShade[] = BACKGROUND_COLOR; // Tooltip background color
- tooltipColorText[] = PRIMARYCOLOR; // Tooltip text color
- tooltipColorBox[] = PRIMARYCOLOR; // Tooltip frame color
- w = 0.095589;
- x = 0;
- y = 0;
- };
- class RscSpectStructuredText {
- access = 0;
- h = 0.035;
- idc = -1;
- shadow = 1;
- color = "#EAA724";
- colorBackground[] = BACKGROUND_COLOR;
- size = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
- style = 0;
- text = "";
- type = 13;
- w = 0.1;
- x = 0;
- y = 0;
-};
-class RscSpectIGUIBack {
- type = 0;
- idc = 124;
- style = 128;
- text = "";
- colorText[] = {0, 0, 0, 0};
- font = "PuristaMedium";
- sizeEx = 0;
- shadow = 0;
- x = 0.1;
- y = 0.1;
- w = 0.1;
- h = 0.1;
- colorbackground[] = {"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])", "(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])", "(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])", "(profilenamespace getvariable ['IGUI_BCG_RGB_A',0.8])"};
-};
-class RscSpectText {
- access = 0;
- type = 0;
- idc = -1;
- colorBackground[] = {0, 0, 0, 0};
- colorText[] = {1, 1, 1, 1};
- text = "";
- fixedWidth = 0;
- x = 0;
- y = 0;
- h = 0.037;
- w = 0.3;
- style = 0;
- shadow = 1;
- colorShadow[] = {0, 0, 0, 0.5};
- font = "PuristaLight";
- SizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
- linespacing = 1;
-};
-class RscSpectControlsGroup {
- type = 15;
- idc = -1;
- style = 0;
- x = 0;
- y = 0;
- w = 1;
- h = 1;
- class VScrollbar {
- color[] = {1,1,1,1 };
- width = 0.021000;
- autoScrollSpeed = -1;
- autoScrollDelay = 5;
- autoScrollRewind = 0;
- };
- class HScrollbar {
- color[] = {1, 1, 1, 1};
- height = 0.028;
- };
- class ListScrollBar {
- arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
- arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
- border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
- color[] = {1,1,1,0.6};
- colorActive[] = {1,1,1,1};
- colorDisabled[] = {1,1,1,0.3};
- shadow = 0;
- thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
- };
- class Controls {};
-};
-
-
-class RscSpectList
-{
- access = 0;
- rowHeight = 0;
- rowWidth = 0;
- arrowEmpty = "";
- arrowFull = "";
- color[] = {1,1,1,1};
- colorActive[] = {1,0,0,0.8};
- colorBackground[] = {0,0,0,0};
- colorDisabled[] = {1,1,1,0.25};
- colorScrollbar[] = {1,0,0,0};
- colorSelect[] = {1,1,1,0.8};
- colorSelectBackground[] = {1,1,1,0.7};
- colorText[] = {1,1,1,1};
- font = "TahomaB";
- h = 0.035;
- maxHistoryDelay = 1;
- shadow = 1;
- sizeEx = "( ( ( ((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
- soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
- soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
- // style = "0x10 + 0x200";
- type = 5;
- // type = 5;
- style = 528;
- w = 0.12;
- wholeHeight = 0.45;
- x = 0;
- y = 0;
- class ListScrollBar
- {
- arrowEmpty = "";
- arrowFull = "";
- border = "";
- color[] = {1,1,1,0};
- colorActive[] = {1,1,1,0};
- colorDisabled[] = {1,1,1,0.1};
- shadow = 0;
- thumb = "";
- };
- autoScrollSpeed = 0;
- autoScrollDelay = 0;
- autoScrollRewind = 0;
-
-};
-
-class RscSpectCombo
-{
- access = 0;
- arrowEmpty = "#(argb,8,8,3)color(0.918,0.655,0.141,1)";
- arrowFull = "#(argb,8,8,3)color(0.918,0.655,0.141,1)";
- color[] = PRIMARYCOLOR;
- colorActive[] = BACKGROUND_COLOR;
- colorBackground[] = BACKGROUND_COLOR;
- colorDisabled[] = {1,1,1,0.25};
- colorScrollbar[] = BACKGROUND_COLOR;
- colorSelect[] = {1,1,1,1};
- colorSelectBackground[] = BACKGROUND_COLOR;
- colorText[] = PRIMARYCOLOR;
- font = "PuristaLight";
- h = 0.035;
- maxHistoryDelay = 1;
- shadow = 0;
- colorBorder[] = PRIMARYCOLOR;
- sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.0) / 1.0) / 25) * 1)";
- soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
- soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
- soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
- style = 0x02 + 160;
- type = 4;
- w = 0.12;
- wholeHeight = "5 * safezoneH";
- x = 0;
- y = 0;
- class ComboScrollBar
- {
- arrowEmpty = "";
- arrowFull = "";
- border = "";
- color[] = {1,1,1,0.0};
- colorActive[] = {1,1,1,0.0};
- colorDisabled[] = {1,1,1,0.0};
- shadow = 0;
- thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
- };
-
-};
-
-class f_spec_dialog {
- idd = 9228;
- movingEnable = 1;
- enableSimulation = 1;
- enableDisplay = 1;
- fadein = 0;
- fadeout = 0;
- duration = 2147483647;
- onKeyDown = "[""KeyDown"",_this] call F_fnc_EventHandler";
- onKeyUp= "[""KeyUp"",_this] call F_fnc_EventHandler";
- onUnload = "[] spawn f_fnc_OnUnload";
- class controlsBackground {
- class mouseHandler: RscSpectControlsGroup {
- class ListScrollBar
- {
- color[] = {1,1,1,0.6};
- colorActive[] = {1,1,1,1};
- colorDisabled[] = {1,1,1,0.0};
- thumb = "";
- arrowFull = "";
- arrowEmpty = "";
- border = "";
- };
- onMouseButtonDown = "[""MouseButtonDown"",_this] call F_fnc_EventHandler";
- onMouseButtonUp = "[""MouseButtonUp"",_this] call F_fnc_EventHandler";
- onMouseZChanged = "[""MouseZChanged"",_this] call F_fnc_EventHandler";
- onMouseMoving = "['MouseMoving',_this] call F_fnc_EventHandler";
- idc = 123;
- x = SafeZoneX; y = SafeZoneY;
- w = SafeZoneW; h = SafeZoneH;
- colorBackground[] = {0.2, 0.0, 0.0, 0.0};
- };
- class OnEnterBox : RscSpectButton
- {
- idc = 4344;
- x = -0.1 * safezoneW + safezoneX;
- y = -0.1 * safezoneH + safezoneY;
- w = 0.4 * safezoneW;
- h = 0.2 * safezoneH;
- // onMouseEnter = "[true] spawn f_fnc_showMenu;f_cam_menuShownTime=time;";
- // onMouseExit = "[false] spawn f_fnc_showMenu;";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
- borderSize = 0;
- colorBorder[] = {0,0,0,0};
- colorBackgroundActive[] = {0,0,0,0};
- colorBackgroundDisabled[] = {0,0,0,0};
- colorDisabled[] = {0,0,0,0};
- colorFocused[] = {0,0,0,0};
- colorShadow[] = {0,0,0,0};
- colorText[] = {0,0,0,0};
- color[] = {0,0,0,0};
- colorBackground[] = {0,0,0,0};
- };
- class Devider: RscSpectPic
- {
- idc = 4302;
- x = 0.00293747 * safezoneW + safezoneX;
- y = -0.00160002 * safezoneH + safezoneY;
- w = 0.180469 * safezoneW;
- h = 0.02 * safezoneH;
- };
- class SpectStrText: RscSpectStructuredText
- {
- idc = 1310;
- x = 0.341317 * safezoneW + safezoneX;
- y = 0.283882 * safezoneH + safezoneY;
- w = 0.317366 * safezoneW;
- h = 0.375858 * safezoneH;
- text = "";
- // text = "
Use the mouse or the WASD to control the camera, H to show and close the help window.
Press M for the map.
";
- };
- class SpecFrame: RscSpectFrame
- {
- idc = 1300;
- x = 0.341317 * safezoneW + safezoneX;
- y = 0.283882 * safezoneH + safezoneY;
- w = 0.317366 * safezoneW;
- h = 0.375858 * safezoneH;
- // text = "
Use the mouse or the WASD to control the camera, H to show and close the help window.
Press M for the map.
";
- };
-
- };
- class controls {
- class SpectButtonExit: RscSpectButton
- {
- idc = 1315;
- x = 0.6 * safezoneW + safezoneX;
- y = 0.609136 * safezoneH + safezoneY;
- w = 0.0352629 * safezoneW;
- h = 0.0287929 * safezoneH;
- text = "Okay";
- action = "ctrlShow [1315, !ctrlVisible 1315];ctrlShow [1310, !ctrlVisible 1310];ctrlShow [1300, !ctrlVisible 1300];";
- };
- class FilterAIButton: RscSpectButton
- {
- idc = 2111;
- x = 0.00046248 * safezoneW + safezoneX;
- y = -5.99921e-005 * safezoneH + safezoneY;
- w = 0.04 * safezoneW;
- h = 0.02 * safezoneH;
- text = "All units";
- tooltip = "Toggle AI";
- sizeEx = "( ( ( ((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- onButtonClick = "[_this select 0,0] call f_fnc_HandleMenu";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
-
- };
- class SideFilterButton: RscSpectButton
- {
- idc = 2112;
- x = 0.0425375 * safezoneW + safezoneX;
- y = -5.99921e-005 * safezoneH + safezoneY;
- w = 0.04 * safezoneW;
- h = 0.02 * safezoneH;
- text = "All Sides";
- tooltip = "Filter by side";
- sizeEx = "(((((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- onButtonClick = "[_this select 0,1] call f_fnc_HandleMenu";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
- };
- class TagsNameButton: RscSpectButton
- {
- idc = 2113;
- x = 0.0846125 * safezoneW + safezoneX;
- y = -5.99921e-005 * safezoneH + safezoneY;
- w = 0.04 * safezoneW;
- h = 0.02 * safezoneH;
- text = "Tags";
- tooltip = "Toggle tags";
- sizeEx = "(((((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- onButtonClick = "[_this select 0,2] call f_fnc_HandleMenu";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
- };
- class FirstPersonButton: RscSpectButton
- {
- idc = 2114;
- x = 0.12679 * safezoneW + safezoneX;
- y = -5.99921e-005 * safezoneH + safezoneY;
- w = 0.05 * safezoneW;
- h = 0.02 * safezoneH;
- text = "First Person";
- tooltip = "Switch between First Person or Third person";
- sizeEx = "(((((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- onButtonClick = "[_this select 0,3] call f_fnc_HandleMenu";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
- };
- class SpecUnitBox: RscSpectList
- {
- idc = 2100;
- x = 0 * safezoneW + safezoneX;
- y = 0.03 * safezoneH + safezoneY;
- w = 0.1 * safezoneW;
- h = 0.9 * safezoneH;
- onLBSelChanged = "[""LBListSelChanged"",_this] call F_fnc_EventHandler";
- };
- class SpecModes: RscSpectCombo
- {
- idc = 2101;
- x = 0.178999 * safezoneW + safezoneX;
- y = -5.99921e-005 * safezoneH + safezoneY;
- w = 0.07 * safezoneW;
- h = 0.02 * safezoneH;
- sizeEx = "(((((safezoneW / safezoneH) min 0.9) / 1.2) / 25) * 1)";
- onLBSelChanged = "[""LBListSelChanged_modes"",_this] call F_fnc_EventHandler";
- onMouseHolding = "f_cam_menuShownTime=time";
- onMouseMoving = "f_cam_menuShownTime=time";
- };
- class SpecText: RscSpectText
- {
- idc = 1000;
- text = "Spectating:Unknown"; //--- ToDo: Localize;
- x = 0.430336 * safezoneW + safezoneX;
- y = 0.00159198 * safezoneH + safezoneY;
- w = 0.800 * safezoneW;
- h = 0.0200 * safezoneH;
- };
- class SpectMap : RscSpectMapControl
- {
- type = 100;
- idc = 1350;
- x = 0.00640556 * safezoneW + safezoneX;
- y = 0.772714 * safezoneH + safezoneY;
- w = 0.132213 * safezoneW;
- h = 0.21629 * safezoneH;
- onMouseZChanged = "[""MapZoom"",_this] call F_fnc_EventHandler;";
- onMouseButtonClick = "_this call F_fnc_OnMapClick";
- onDraw = "_this call F_fnc_DrawMarkers";
- };
- class FullSpectMap : RscSpectMapControl
- {
- idc = 1360;
- type = 100;
- x = 0 * safezoneW + safezoneX;
- y = 0 * safezoneH + safezoneY;
- w = 1 * safezoneW;
- h = 1 * safezoneH;
- onDraw = "_this call F_fnc_DrawMarkers";
- onMouseButtonClick = "_this call F_fnc_OnMapClick";
-
- };
- };
-};
diff --git a/f/spect/fn_CamInit.sqf b/f/spect/fn_CamInit.sqf
deleted file mode 100644
index 8fdc4b713..000000000
--- a/f/spect/fn_CamInit.sqf
+++ /dev/null
@@ -1,236 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// params
-_this spawn {
-_unit = [_this, 0, player,[objNull]] call BIS_fnc_param;
-_oldUnit = [_this, 1, objNull,[objNull]] call BIS_fnc_param;
-_forced = [_this, 4, false,[false]] call BIS_fnc_param;
-if(isNil "f_cam_isJIP") then { f_cam_isJIP = false; };
-// if they are jip, these are null
-if(isNull _unit ) then {_unit = cameraOn;f_cam_isJIP=true;};
-// escape the script if you are not a seagull unless forced
-if (typeof _unit != "seagull" && !_forced || !hasInterface) ExitWith {};
-// disable this to instantly switch to the spectator script.
-waituntil {missionnamespace getvariable ["BIS_fnc_feedback_allowDeathScreen",true] || isNull (_oldUnit) || f_cam_isJIP || _forced };
-hintsilent "";
-
-
-// ====================================================================================
-
-if(!isnil "BIS_fnc_feedback_allowPP") then
-{
- // disable effects death effects
- BIS_fnc_feedback_allowPP = false;
-};
-
-if(f_cam_isJIP) then
-{
- ["F_ScreenSetup",false] call BIS_fnc_blackOut;
- systemChat "Initializing Spectator Script";
- uiSleep 3;
- ["F_ScreenSetup"] call BIS_fnc_blackIn;
-};
-
-// Create a Virtual Agent to act as our player to make sure we get to keep Draw3D
-if(isNil "f_cam_VirtualCreated") then
-{
- createCenter sideLogic;
- _newGrp = createGroup sideLogic;
- _newUnit = _newGrp createUnit ["VirtualCurator_F", [0,0,5], [], 0, "FORM"];
- _newUnit allowDamage false;
- _newUnit hideObjectGlobal true;
- _newUnit enableSimulationGlobal false;
- _newUnit setpos [0,0,5];
- selectPlayer _newUnit;
- waituntil{player == _newUnit};
- deleteVehicle _unit;
- f_cam_VirtualCreated = true;
-};
-
-if(isNull _oldUnit ) then {if(count playableUnits > 0) then {_oldUnit = (playableUnits select 0)} else {_oldUnit = (allUnits select 0)};};
-
-// ====================================================================================
-// Set spectator mode for whichever radio system is in use
-if (isClass (configFile >> "CfgPatches" >> "task_force_radio")) then {
- [player, true] call TFAR_fnc_forceSpectator;
-};
-
-if (isClass(configFile >> "CfgPatches" >> "acre_main")) then {
- [true] call acre_api_fnc_setSpectator;
- if (!isNil "f_radios_settings_acre2_languages") then {
- _languages = [];
- {
- _languages pushBack (_x select 0);
- } forEach f_radios_settings_acre2_languages;
- _languages call acre_api_fnc_babelSetSpokenLanguages;
- };
-};
-
-// ====================================================================================
-
-_listBox = 2100;
-lbClear _listBox;
-// set inital values.
-#include "macros.hpp"
-f_cam_controls = [F_CAM_HELPFRAME,F_CAM_HELPBACK,F_CAM_MOUSEHANDLER,F_CAM_UNITLIST,F_CAM_MODESCOMBO,F_CAM_SPECTEXT,F_CAM_SPECHELP,F_CAM_HELPCANCEL,F_CAM_HELPCANCEL,F_CAM_MINIMAP,F_CAM_FULLMAP,F_CAM_BUTTIONFILTER,F_CAM_BUTTIONTAGS,F_CAM_BUTTIONTAGSNAME,F_CAM_BUTTIONFIRSTPERSON,F_CAM_DIVIDER];
-f_cam_units = [];
-f_cam_players = [];
-f_cam_startX = 0;
-f_cam_startY = 0;
-f_cam_detlaX = 0;
-f_cam_detlaY = 0;
-f_cam_zoom = 0;
-f_cam_hideUI = false;
-f_cam_map_zoom = 0.5;
-f_cam_mode = 0;
-f_cam_toggleCamera = false;
-f_cam_playersOnly = false;
-f_cam_toggleTags = true;
-f_cam_ads = false;
-f_cam_nvOn = false;
-f_cam_tiBHOn = false;
-f_cam_tiWHOn = false;
-f_cam_tagsEvent = -1;
-f_cam_mShift = false;
-f_cam_freecamOn = false;
-f_cam_toggleTagsName = true;
-f_cam_mapMode = 0;
-f_cam_MouseButton = [false,false];
-f_cam_mouseCord = [0.5,0.5];
-f_cam_mouseDeltaX = 0.5;
-f_cam_mouseDeltaY = 0.5;
-f_cam_mouseLastX = 0.5;
-f_cam_mouseLastY = 0.5;
-f_cam_angleYcached = 0;
-f_cam_angleX = 0;
-f_cam_tracerOn = false;
-f_cam_angleY = 60;
-f_cam_ctrl_down = false;
-f_cam_shift_down = false;
-f_cam_freecam_buttons = [false,false,false,false,false,false];
-f_cam_forcedExit = false;
-f_freecam_x_speed = 0;
-f_freecam_y_speed = 0;
-f_freecam_z_speed = 0;
-
-
-f_cam_timestamp = time;
-f_cam_muteSpectators = true;
-
-// ====================================================================================
-// Menu (Top left)
-f_cam_menuControls = [2111,2112,2113,2114,2101,4302];
-f_cam_menuShownTime = 0;
-f_cam_menuShown = true;
-f_cam_menuWorking = false;
-f_cam_sideButton = 0; // 0 = ALL, 1 = BLUFOR , 2 = OPFOR, 3 = INDFOR , 4 = Civ
-f_cam_sideNames = ["All Sides","Blufor","Opfor","Indfor","Civ"];
-// ====================================================================================
-// Colors
-
-f_cam_blufor_color = [BLUFOR] call bis_fnc_sideColor;
-f_cam_opfor_color = [OPFOR] call bis_fnc_sideColor;
-f_cam_indep_color = [independent] call bis_fnc_sideColor;
-f_cam_civ_color = [civilian] call bis_fnc_sideColor;
-f_cam_empty_color = [sideUnknown] call bis_fnc_sideColor;
-
-// ================================
-// Camera
-f_cam_angle = 360;
-f_cam_zoom = 3;
-f_cam_height = 3;
-f_cam_fovZoom = 1.2;
-f_cam_scrollHeight = 0;
-f_cam_cameraMode = 0; // set camera mode (default)
-// ====================================================================================
-
-f_cam_listUnits = [];
-
-f_cam_ToggleFPCamera = {
- f_cam_toggleCamera = !f_cam_toggleCamera;
- if(f_cam_toggleCamera) then
- {
- f_cam_mode = 1; //(view)
- f_cam_camera cameraEffect ["terminate", "BACK"];
- f_cam_curTarget switchCamera "internal";
- }
- else
- {
- f_cam_mode = 0;
- f_cam_camera cameraEffect ["internal", "BACK"];
- };
- call F_fnc_ReloadModes;
-};
-f_cam_GetCurrentCam = {
- _camera = f_cam_camera;
- switch(f_cam_mode) do
- {
- case 0:
- {
- _camera = f_cam_camera; // Standard
- };
- case 1:
- {
- _camera = cameraOn; // FP
- };
- case 3:
- {
- _camera = f_cam_freecamera; // freecam
- };
- };
- _camera
-};
-
-
-// =============================================================================
-
-// create the UI
-createDialog "f_spec_dialog";
-// add keyboard events
-// hide minimap
-((findDisplay 9228) displayCtrl 1350) ctrlShow false;
-((findDisplay 9228) displayCtrl 1350) mapCenterOnCamera false;
-
-// hide big map
-((findDisplay 9228) displayCtrl 1360) ctrlShow false;
-((findDisplay 9228) displayCtrl 1360) mapCenterOnCamera false;
-
-f_cam_helptext = "
Hold right-click to pan the camera
Use the scroll wheel or numpad+/- to zoom in and out.
Use ctrl + rightclick to fov zoom
Press H to show and close the help window.
Press M to toggle between no map,minimap and full size map.
T for switching on tracers on the map
Space to switch to freecam
Press H to close this window";
-((findDisplay 9228) displayCtrl 1310) ctrlSetStructuredText parseText (f_cam_helptext);
-// create the camera and set it up.
-f_cam_camera = "camera" camCreate [position _oldUnit select 0,position _oldUnit select 1,3];
-
-f_cam_fakecamera = "camera" camCreate [position _oldUnit select 0,position _oldUnit select 1,3];
-
-f_cam_curTarget = _oldUnit;
-f_cam_freecamera = "camera" camCreate [position _oldUnit select 0,position _oldUnit select 1,3];
-f_cam_camera camCommit 0;
-f_cam_fakecamera camCommit 0;
-f_cam_camera cameraEffect ["internal","back"];
-f_cam_camera camSetTarget f_cam_fakecamera;
-f_cam_camera camSetFov 1.2;
-f_cam_freecamera camSetFov 1.2;
-f_cam_zeusKey = 21;
-if( count (actionKeys "curatorInterface") > 0 ) then
-{
- f_cam_zeusKey = (actionKeys "curatorInterface") select 0;
-};
-f_cam_MouseMoving = false;
-cameraEffectEnableHUD true;
-showCinemaBorder false;
-f_cam_fired = [];
-{
- _event = _x addEventHandler ["fired",{f_cam_fired = f_cam_fired - [objNull];f_cam_fired pushBack (_this select 6)}];
- _x setVariable ["f_cam_fired_eventid",_event];
-
-} foreach (allunits + vehicles);
-// ====================================================================================
-// spawn sub scripts
-call f_fnc_ReloadModes;
-lbSetCurSel [2101,0];
-//f_cam_freeCam_script = [] spawn F_fnc_FreeCam;
-f_cam_updatevalues_script = [] spawn F_fnc_UpdateValues;
- ["f_spect_tags", "onEachFrame", {_this call F_fnc_DrawTags}] call BIS_fnc_addStackedEventHandler;
- ["f_spect_cams", "onEachFrame", {_this call F_fnc_FreeCam}] call BIS_fnc_addStackedEventHandler;
-};
\ No newline at end of file
diff --git a/f/spect/fn_DrawMarkers.sqf b/f/spect/fn_DrawMarkers.sqf
deleted file mode 100644
index aec9b1d37..000000000
--- a/f/spect/fn_DrawMarkers.sqf
+++ /dev/null
@@ -1,40 +0,0 @@
-if(f_cam_mapMode == 0) exitWith {};
-disableSerialization;
-params["_fullmapWindow"];
-_camera = ([] call f_cam_GetCurrentCam);
-_fullmapWindow drawIcon ["\A3\ui_f\data\GUI\Rsc\RscDisplayMissionEditor\iconCamera_ca.paa", [0,0,0,1],getpos _camera ,20,20,getDir _camera,"",0];
-{
- if(alive _x) then
- {
- _name = "";
- _color = switch (side _x) do {
- case blufor: {f_cam_blufor_color};
- case opfor: {f_cam_opfor_color};
- case independent: {f_cam_indep_color};
- case civilian: {f_cam_civ_color};
- default {f_cam_empty_color};
- };
- if(isPlayer _x) then {_name = name _x};
- if(leader _x == _x && {isPlayer _x} count units _x > 0) then {_name = format["%1 - %2",toString(toArray(groupID (group _x)) - [45]),_name]};
- if(vehicle _x != _x && crew (vehicle _x) select 0 == _x || vehicle _x == _x) then
- {
- _icon = (vehicle _x getVariable ["f_cam_icon",""]);
- if(_icon == "") then {_icon = gettext (configfile >> "CfgVehicles" >> typeOf (vehicle _x) >> "icon");vehicle _x setVariable ["f_cam_icon",_icon]};
- _fullmapWindow drawIcon [_icon,_color,getpos _x,19,19,getDir (vehicle _x),_name,1];
- };
- };
-
-} foreach allunits;
-f_cam_fired = f_cam_fired - [objNull];
-if(f_cam_tracerOn) then
-{
- {
- if(!isNull _x) then
- {
- _pos = getpos _x;
- _newPos = [(_pos select 0) + (3 * sin(getdir _x)), (_pos select 1) + (3 * cos(getdir _x)), _pos select 2];
- _fullmapWindow drawLine [_pos,_newPos,[1,0,0,1]];
- };
- } foreach f_cam_fired;
-};
-
diff --git a/f/spect/fn_DrawTags.sqf b/f/spect/fn_DrawTags.sqf
deleted file mode 100644
index 005fe1b25..000000000
--- a/f/spect/fn_DrawTags.sqf
+++ /dev/null
@@ -1,63 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ==================================================================
-// draw tags
-if(!f_cam_toggleTags || f_cam_mapMode == 2 ) exitWith{};
-{
- _drawUnits = [];
- _drawGroup = false;
- _isPlayerGroup = false;
- {
- _distToCam = (call f_cam_GetCurrentCam) distance _x;
- if(isPlayer _x) then {_isPlayerGroup = true};
- if(_distToCam < 200) then
- {
- _drawUnits pushBack _x;
- }
- else
- {
- _drawGroup = true;
- };
- } foreach units _x;
- _color = switch (side _x) do {
- case blufor: {f_cam_blufor_color};
- case opfor: {f_cam_opfor_color};
- case independent: {f_cam_indep_color};
- case civilian: {f_cam_civ_color};
- default {f_cam_empty_color};
- };
- if(_drawGroup) then {
- _visPos = getPosATLVisual leader _x;
- if(surfaceIsWater _visPos) then {_visPos = getPosASLVisual leader _x;};
- if(_isPlayerGroup) then {
- _color set [3,0.7];
- }
- else {
- _color set [3,0.4];
- };
- _str = _x getVariable ["f_cam_nicename",""];
- if(_str == "") then {
- _str = (toString(toArray(groupID (_x)) - [45]));
- _x setVariable ["f_cam_nicename",_str];
- };
- drawIcon3D ["\A3\ui_f\data\map\markers\nato\b_inf.paa", _color,[_visPos select 0,_visPos select 1,(_visPos select 2) +30], 1, 1, 0,_str, 2, 0.02];
- };
-
- {
- if(vehicle _x == _x && alive _x || vehicle _x != _x && (crew vehicle _x) select 0 == _x && alive _x) then
- {
- _visPos = getPosATLVisual _x;
- if(surfaceIsWater _visPos) then {_visPos = getPosASLVisual _x;};
- _color set [3,0.6];
- _str = "";
- _icon = "\A3\ui_f\data\map\markers\military\dot_CA.paa";
- if(isPlayer _x) then
- {
- _str = name _x;
- };
- drawIcon3D [_icon, _color,[_visPos select 0,_visPos select 1,(_visPos select 2) +3], 0.7, 0.7, 0,_str, 1, 0.02];
- };
- } foreach _drawUnits;
-
-
-} forEach allGroups;
diff --git a/f/spect/fn_EventHandler.sqf b/f/spect/fn_EventHandler.sqf
deleted file mode 100644
index cb0e3f7cf..000000000
--- a/f/spect/fn_EventHandler.sqf
+++ /dev/null
@@ -1,519 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ==================================================================
-
-// handles all the events. be afraid.
-params["_type", "_args"];
-
-_handled = true;
-switch (_type) do
-{
-// ==================================================================
-// handles the mouse.
-case "MouseButtonDown":
-{
-
- if(_args select 1 == 1 && f_cam_mode != 1) then
- {
- _button = _args select 1;
- f_cam_MouseButton set [_button,true];
-
- };
- if(_args select 1 == 1) then
- {
- if(f_cam_mode == 1) then
- {
- f_cam_ads = true;
- f_cam_curTarget switchCamera "gunner";
- }
- }
-};
-case "MouseButtonUp":
-{
- if(_args select 1 == 1 && f_cam_mode != 1) then
- {
- _button = _args select 1;
- f_cam_MouseButton set [_button,false];
- [] spawn f_fnc_HandleCamera;
- };
- if(_args select 1 == 1) then
- {
- if(f_cam_mode == 1) then
- {
- f_cam_ads = false;
- f_cam_curTarget switchCamera "internal";
- }
- }
-};
-case "MapZoom":
-{
- f_cam_map_zoom = f_cam_map_zoom+((_args select 1)*0.05);
- if(f_cam_map_zoom > 0.5) then
- {
- f_cam_map_zoom = 0.5;
- };
- if(f_cam_map_zoom < 0.05) then
- {
- f_cam_map_zoom = 0.05;
- };
- _handled = true;
-};
-case "MouseMoving":
-{
- _x = _args select 1;
- _y = _args select 2;
- f_cam_mouseCord = [_x,_y];
- [] spawn f_fnc_HandleCamera;
-
-};
-case "MouseZChanged":
-{
- if(!f_cam_ctrl_down) then
- {
- switch (f_cam_mode) do {
- case 0: {
- f_cam_zoom = ((f_cam_zoom - ((_args select 1)*f_cam_zoom/5)) max 0.1) min 650;
- };
- case 3: {
- f_cam_scrollHeight = (_args select 1);
- };
- };
-
- }
- else
- {
- f_cam_fovZoom = ((f_cam_fovZoom - ((_args select 1)*f_cam_fovZoom/5)) max 0.1) min 1;
- };
-
-};
-
-// ==================================================================
-// handles dropboxes
-case "LBListSelChanged":
-{
- if(count f_cam_listUnits > (_args select 1)) then
- {
- _unit = f_cam_listUnits select (_args select 1);
- if(!isnil "_unit") then
- {
- if(typeName _unit == "GROUP") then {_unit = leader _unit};
- if(f_cam_mode == 0 || f_cam_mode == 1) then
- {
- f_cam_curTarget = _unit;
- if(f_cam_toggleCamera) then
- {
- f_cam_curTarget switchCamera "INTERNAL";
- };
- ctrlSetText [1000,format ["Spectating:%1", name f_cam_curTarget]];
- };
- if(f_cam_mode == 3) then
- {
- _pos = getpos _unit;
- _x = _pos select 0;
- _y = _pos select 1;
- f_cam_freecamera setPosASL [_x,_y,((getposASL f_cam_freecamera) select 2 ) max ((getTerrainHeightASL [_x,_y])+1)];
- };
- };
- };
- //Deselect the control to prevent keyboard input
- ctrlEnable [2100, false];
- ctrlEnable [2100, true];
-};
-case "LBListSelChanged_modes":
-{
-
- _index = (_args select 1);
- switch (_index) do
- {
- case f_cam_lb_toggletiWHIndex:
- {
- f_cam_tiWHOn = !f_cam_tiWHOn;
- if(f_cam_tiWHOn) then
- {
- f_cam_tiBHOn = false;
- f_cam_nvOn = false;
- true setCamUseTi 0;
- }
- else
- {
- camUseNVG false;
- false setCamUseTi 0;
- };
- call F_fnc_ReloadModes;
-
- };
- case f_cam_lb_toggletiBHIndex: // BlackHot
- {
- f_cam_tiBHOn = !f_cam_tiBHOn;
- if(f_cam_tiBHOn) then
- {
- camUseNVG false;
- f_cam_tiWHOn = false;
- f_cam_nvOn = false;
- true setCamUseTi 1;
- }
- else
- {
- camUseNVG false;
- false setCamUseTi 0;
- };
- call F_fnc_ReloadModes;
-
- };
- case f_cam_lb_toggleNormal:
- {
- false setCamUseTi 0;
- camUseNVG false;
- f_cam_tiWHOn = false;
- f_cam_tiBHOn = false;
- f_cam_nvOn = false;
- call F_fnc_ReloadModes;
- };
- case f_cam_lb_toggletiNVIndex: // Nightvision
- {
- f_cam_nvOn = !f_cam_nvOn;
- if(f_cam_nvOn) then
- {
- false setCamUseTi 0;
- camUseNVG true;
- f_cam_tiWHOn = false;
- f_cam_tiBHOn = false;
- }
- else
- {
- camUseNVG false;
- false setCamUseTi 0;
- };
- call F_fnc_ReloadModes;
-
- };
- };
-};
-// ==================================================================
-// handles keys
-case "KeyDown":
-{
- _key = _args select 1;
- _handled = false;
- if(!isNull (findDisplay 49)) exitWith {if(_key == 1) then {true}};
- switch (_key) do
- {
- case 78: // numpad +
- {
- f_cam_zoom = f_cam_zoom - 1;
- _handled = true;
- };
- case 1:
- {
- _handled = false;
- };
- case f_cam_zeusKey:
- {
- if(serverCommandAvailable "#kick" || !isNull (getAssignedCuratorLogic player) ) then
- {
- // handler to check when we can return to the spectator system ( when zeus interface is closed and not remoteing controlling)
- [] spawn {
- _done = false;
- waitUntil {sleep 0.1;!isNull (findDisplay 312)}; // wait until open
- while {!_done} do
- {
- waitUntil {sleep 0.1;isNull (findDisplay 312)}; // then wait until its not open
- if(isnil "bis_fnc_moduleRemoteControl_unit") then // check if someone is being remote controled
- {
- [player,player,player,0,true] spawn F_fnc_CamInit; // if not retoggle
- _done = true;
- }; // restart spectator once exit.
- };
- };
- // force exit
- [] call F_fnc_ForceExit;
-
-
- // black out the screen
- ["F_ScreenSetup",false] call BIS_fnc_blackOut;
- if(isNull (getAssignedCuratorLogic player)) then
- {
- [[player,true,playableUnits],'f_fnc_zeusInit',false] spawn BIS_fnc_MP;
- };
- [] spawn {
- waitUntil {!isNull (getAssignedCuratorLogic player)};
- ["F_ScreenSetup"] call BIS_fnc_blackIn;
- openCuratorInterface;
- };
- _handled = true;
- }
- else
- {
- _handled = true;
- };
- };
- case 74: // numpad -
- {
- f_cam_zoom = f_cam_zoom + 1;
- f_cam_zoom = 0.3 max f_cam_zoom;
- _handled = true;
- };
- case 20: // T
- {
- f_cam_tracerOn = !f_cam_tracerOn;
- if(f_cam_tracerOn) then
- {
- systemChat "Tracers on map activated.";
- }
- else
- {
- systemChat "Tracers on map deactivated.";
- };
- _handled = true;
- };
- case 22: // U
- {
- f_cam_hideUI = !f_cam_hideUI;
- [] spawn f_fnc_ToggleGUI;
- _handled = true;
- };
- // Freecam movement keys
- case 17: // W
- {
- f_cam_freecam_buttons set [0,true];
- _handled = true;
- };
- case 31: // S
- {
- f_cam_freecam_buttons set [1,true];
- _handled = true;
- };
- case 30: // A
- {
- f_cam_freecam_buttons set [2,true];
- _handled = true;
- };
- case 32: // D
- {
- f_cam_freecam_buttons set [3,true];
- _handled = true;
- };
- case 49: // N
- {
- _index = (lbCurSel 2101)+1;
- if(_index >= (lbSize 2101 )) then { _index = 0};
- lbSetCurSel [2101,_index];
- _handled = true;
- };
- case 16: // Q
- {
- f_cam_freecam_buttons set [4,true];
- _handled = true;
- };
- case 44: // Z
- {
- f_cam_freecam_buttons set [5,true];
- _handled = true;
- };
- case 57: // SPACE
- {
- f_cam_freecamOn = !f_cam_freecamOn;
- if(f_cam_freecamOn) then
- {
- f_cam_angleY = 10;
- [f_cam_freecamera,f_cam_angleY,0] call BIS_fnc_setPitchBank;
- f_cam_freecamera cameraEffect ["internal", "BACK"];
- f_cam_mode = 3;
- f_cam_freecamera setPosASL getPosASL f_cam_camera;
- cameraEffectEnableHUD true;
- showCinemaBorder false;
- }
- else
- {
- f_cam_freecamera cameraEffect ["Terminate","BACK"];
- f_cam_angleY = 45;
- f_cam_camera cameraEffect ["internal", "BACK"];
- f_cam_mode = 0;
- cameraEffectEnableHUD true;
- showCinemaBorder false;
- };
- _handled = true;
- };
-
- case 35: // H
- {
- ctrlShow [1315, !ctrlVisible 1315];
- ctrlShow [1310, !ctrlVisible 1310];
- ctrlShow [1300, !ctrlVisible 1300];
- ctrlShow [1305, !ctrlVisible 1305];
- _handled = true;
- };
- case 42: // SHIFT
- {
- f_cam_shift_down = true;
- [] spawn f_fnc_HandleCamera;
- _handled = true;
- };
- case 25:
- {
- f_cam_muteSpectators = !f_cam_muteSpectators;
- switch (f_var_radios) do {
- // ACRE
- case 1: {
- [f_cam_muteSpectators] call acre_api_fnc_setSpectator;
- };
- // TFR
- case 2: {
- [player, f_cam_muteSpectators] call TFAR_fnc_forceSpectator;
- };
- case 3: {
- [f_cam_muteSpectators] call acre_api_fnc_setSpectator;
- };
-
- };
- };
- case 29: // CTRL
- {
- f_cam_ctrl_down = true;
- [] spawn f_fnc_HandleCamera;
- _handled = true;
- };
- case 50: // M
- {
- f_cam_mapMode = f_cam_mapMode +1;
- if(f_cam_mapMode > 2) then
- {
- f_cam_mapMode = 0;
- };
- switch (f_cam_mapMode) do
- {
- // no maps
- case 0:
- {
- ctrlShow [2110,true];
- ctrlShow [2010,true];
- ctrlShow [1350,false];
- ctrlShow [1360,false];
- };
-
- case 1:
- {
- ctrlShow [2110,true];
- ctrlShow [2010,true];
- ctrlShow [1350,true];
- ctrlShow [1360,false];
- };
- // big map
- case 2:
- {
- ctrlShow [2110,false];
- ctrlShow [2010,false];
- ctrlShow [1350,false];
- ctrlShow [1360,true];
- _displayDialog = (findDisplay 9228);
- _fullmapWindow = _displayDialog displayCtrl 1360;
- ctrlMapAnimClear _fullmapWindow;
-
- _fullmapWindow ctrlMapAnimAdd [0.001, 0.1,getpos ([] call f_cam_GetCurrentCam)];
- ctrlMapAnimCommit _fullmapWindow;
- };
- };
- _handled = true;
- };
- };
- _handled
-};
-
-
-case "KeyUp":
-{
- if(!isNull (findDisplay 49)) exitWith {};
- _key = _args select 1;
- _handled = false;
- switch (_key) do
- {
- case 42:
- {
- f_cam_shift_down = false;
- _handled = true;
- };
- case 1:
- {
- _handled = false;
- };
- case 29:
- {
- f_cam_ctrl_down = false;
- _handled = true;
- };
- case 203:
- {
- _handled = true;
- };
- case 205:
- {
- _handled = true;
- };
- case 24:
- {
- _handled = true;
- };
- case 28:
- {
- _handled = true;
- };
- case 49:
- {
- _handled = true;
- };
- case 200:
- {
- _handled = true;
- };
- case 208:
- {
- _handled = true;
- };
- case 74:
- {
- _handled = true;
- };
- case 78:
- {
- _handled = true;
- };
- case 57:
- {
- _handled = true;
- };
- case 17:
- {
- f_cam_freecam_buttons set [0,false];
- _handled = true;
- };
- case 31:
- {
- f_cam_freecam_buttons set [1,false];
- _handled = true;
- };
- case 30:
- {
- f_cam_freecam_buttons set [2,false];
- _handled = true;
- };
- case 32:
- {
- f_cam_freecam_buttons set [3,false];
- _handled = true;
- };
- case 16:
- {
- f_cam_freecam_buttons set [4,false];
- _handled = true;
- };
- case 44:
- {
- f_cam_freecam_buttons set [5,false];
- _handled = true;
- };
- };
- _handled
-};
-_handled
-};
-
diff --git a/f/spect/fn_ForceExit.sqf b/f/spect/fn_ForceExit.sqf
deleted file mode 100644
index e16503bea..000000000
--- a/f/spect/fn_ForceExit.sqf
+++ /dev/null
@@ -1,15 +0,0 @@
-f_cam_forcedExit = true;
-closeDialog 1;
-["f_spect_tags","onEachFrame"] call bis_fnc_removeStackedEventHandler;
-["f_spect_cams","onEachFrame"] call bis_fnc_removeStackedEventHandler;
-terminate f_cam_updatevalues_script;
-(call f_cam_GetCurrentCam) cameraEffect ["terminate","back"];
-hintSilent "Spectator system has been forcefully closed";
-{
- _var = _x getVariable ["f_cam_fired_eventid",nil];
- if(!isNil "_var") then
- {
- _x removeEventHandler ["fired",_var];
- };
-
-} foreach (allunits + vehicles);
\ No newline at end of file
diff --git a/f/spect/fn_FreeCam.sqf b/f/spect/fn_FreeCam.sqf
deleted file mode 100644
index 4f04b4404..000000000
--- a/f/spect/fn_FreeCam.sqf
+++ /dev/null
@@ -1,159 +0,0 @@
-private ["_commitTime","_delta","_zLevel","_pos","_visPos","_mode","_currPos","_mX","_mY","_mZ","_accel","_accelshift","_scroll","_rX","_y","_z"];
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// Menu shown/hidden
-if(abs (f_cam_menuShownTime - time) <= 0.1 && !f_cam_menuShown) then // disable due to being a bit wonky
-{
- [true] spawn f_fnc_showMenu;
-};
-if(abs (f_cam_menuShownTime - time) >= 1 && f_cam_menuShown) then // disable due to being a bit wonky
-{
- [false] spawn f_fnc_showMenu;
-};
-
-
-// ====================================================================================
-// if freemode.
-f_cam_camera camSetFov f_cam_fovZoom;
-if(f_cam_mode == 0) then
-{
- cameraEffectEnableHUD true;
- _commitTime = ((1.0 - ((speed vehicle f_cam_curTarget)/65))/3) max 0.1;
- _delta = (-(2*(0.3 max f_cam_zoom)));
- _zLevel = sin(f_cam_angleY)*(2*(0.3 max f_cam_zoom));
- //_pos = getpos f_cam_curTarget;
- _visPos = visiblePositionASL f_cam_curTarget;
- if(!(surfaceIsWater _visPos)) then {_visPos = ASLtoATL (_visPos)};
- f_cam_fakecamera camSetPos [_visPos select 0,_visPos select 1,(_visPos select 2) + 1.5];
- f_cam_fakecamera camCommit _commitTime;
- f_cam_camera camSetRelPos[(sin(f_cam_angleX)*_delta)*cos(f_cam_angleY), (cos(f_cam_angleX)*_delta)*cos(f_cam_angleY), _zLevel];
- f_cam_camera camCommit _commitTime;
-};
-// first person
-if(f_cam_mode == 1) then
-{
-// player setpos (getpos cameraOn);
- if(vehicle cameraOn != cameraOn) then
- {
- _mode = "internal";
- if(gunner (vehicle cameraon) == cameraon) then {_mode = "gunner"};
- if(driver (vehicle cameraon) == cameraon) then {_mode = "gunner"};
- if(commander (vehicle cameraon) == cameraon) then {_mode = "gunner"};
- vehicle cameraOn switchCamera _mode;
- };
- if(vehicle cameraOn == cameraOn && !f_cam_ads) then
- {
- cameraon switchCamera "internal";
- };
-};
-if(f_cam_mode == 3) then
-{
- _delta = (time - f_cam_timestamp)*10;
- f_cam_freecamera camSetFov f_cam_fovZoom;
- _currPos = getposASL f_cam_freecamera;
- _mX = 0;
- _mY = 0;
- _mZ = 0;
- _height = 0 max (((getPosATL f_cam_freecamera) select 2));
- _accel = 0.2 max (_height/8); // 0.8
- _accelshift = _accel*4.25;//2;
- if(f_cam_freecam_buttons select 0) then // W
- {
- if(f_cam_shift_down) then
- {
- _mY = _accelshift;
- }
- else
- {
- _mY = _accel;
- };
- };
- if(f_cam_freecam_buttons select 1) then // S
- {
- if(f_cam_shift_down) then
- {
- _mY = -_accelshift;
- }
- else
- {
- _mY = -_accel;
- };
- };
- if(f_cam_freecam_buttons select 2) then // A
- {
- if(f_cam_shift_down) then
- {
- _mX = -_accelshift;
- }
- else
- {
- _mX = -_accel;
- };
- };
-
- if(f_cam_freecam_buttons select 3) then // D
- {
- if(f_cam_shift_down) then
- {
- _mX = _accelshift;
- }
- else
- {
- _mX = _accel;
- };
- };
- if(f_cam_freecam_buttons select 4) then // Q
- {
- _scroll = 1*((sqrt _height)/2)*_delta;
- if (abs _scroll < 0.1) then {
- if (_scroll < 0) then { _scroll = -0.1;}
- else { _scroll = 0.1;};
- };
- _mZ = _scroll;
- };
- if(f_cam_freecam_buttons select 5) then // Z
- {
- _scroll = -1*((sqrt _height)/2)*_delta;
- if (abs _scroll < 0.1) then {
- if (_scroll < 0) then { _scroll = -0.1;}
- else { _scroll = 0.1;};
- };
- _mZ = _scroll;
- };
- if(f_cam_scrollHeight <0 || f_cam_scrollHeight > 0) then
- {
- _scroll = -f_cam_scrollHeight * _delta*3;//was 3 and was positive
- f_cam_scrollHeight = _scroll;
- if(f_cam_scrollHeight < 0.2 && f_cam_scrollHeight > -0.2) then
- {
- f_cam_scrollHeight = 0;
- };
- _scroll = _scroll*((sqrt _height)/2);
- if (abs _scroll < 0.1) then {
- if (_scroll < 0) then { _scroll = -0.1;}
- else { _scroll = 0.1;};
- };
- _mZ = _mZ + _scroll;
- };
-
- //Max speed 50 m/s
- _mX = _delta * ((_mX min 50) max -50);
- _mY = _delta * ((_mY min 50) max -50);
- f_freecam_x_speed = f_freecam_x_speed * 0.5 + _mX;
- f_freecam_y_speed = f_freecam_y_speed * 0.5 + _mY;
- f_freecam_z_speed = f_freecam_z_speed * 0.5 + _mZ;
-
- _x = (_currPos select 0) + (f_freecam_x_speed * (cos f_cam_angleX)) + (f_freecam_y_speed * (sin f_cam_angleX));
- _y = (_currPos select 1) - (f_freecam_x_speed * (sin f_cam_angleX)) + (f_freecam_y_speed * (cos f_cam_angleX));
- _newHeight = (getTerrainHeightASL [_x,_y]);
- _z = ((_currPos select 2) + f_freecam_z_speed) min (650 + _newHeight);
- f_cam_freecamera setPosASL [_x,_y,_z max _newHeight];
- f_cam_freecamera setDir f_cam_angleX;
- [f_cam_freecamera,f_cam_angleY,0] call BIS_fnc_setPitchBank;
- f_cam_scrollHeight = 0;
- f_cam_timestamp = time;
-};
-cameraEffectEnableHUD true;
-showCinemaBorder false;
-// =======================================================================================================================================
\ No newline at end of file
diff --git a/f/spect/fn_GetPlayers.sqf b/f/spect/fn_GetPlayers.sqf
deleted file mode 100644
index 23b823a23..000000000
--- a/f/spect/fn_GetPlayers.sqf
+++ /dev/null
@@ -1,16 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// gets all the player groups and filter out the AI.
-private ["_arr"];
-_players = [];
-_ai = [];
-{
- if(isNil "f_cam_side" || {side _x == f_cam_side}) then
- {
- if({isPlayer _x} count (units _x) > 0) then {_players pushBack _x}
- else {_ai pushBack _x};
- };
-
-} foreach allGroups;
-[_players,_ai]
diff --git a/f/spect/fn_HandleCamera.sqf b/f/spect/fn_HandleCamera.sqf
deleted file mode 100644
index dd590b13e..000000000
--- a/f/spect/fn_HandleCamera.sqf
+++ /dev/null
@@ -1,21 +0,0 @@
-
-_x = f_cam_mouseCord select 0;
-_y = f_cam_mouseCord select 1;
-_leftButton = f_cam_MouseButton select 0;
-_rightButton = f_cam_MouseButton select 1;
-f_cam_mouseDeltaX = f_cam_mouseLastX - (_x);
-f_cam_mouseDeltaY = f_cam_mouseLastY - (_y);
-
-
-if(_rightButton && !_leftButton) then
-{
- f_cam_angleX = (f_cam_angleX - (f_cam_mouseDeltaX*360));
- f_cam_angleY = (f_cam_angleY + (f_cam_mouseDeltaY*180)) min 89 max -89;
-};
-if(f_cam_ctrl_down && _rightButton && _leftButton) then
-{
- f_cam_fovZoom = 0.7;
-};
-
-f_cam_mouseLastX = (f_cam_mouseCord select 0);
-f_cam_mouseLastY = (f_cam_mouseCord select 1);
diff --git a/f/spect/fn_HandleMenu.sqf b/f/spect/fn_HandleMenu.sqf
deleted file mode 100644
index 0708601cd..000000000
--- a/f/spect/fn_HandleMenu.sqf
+++ /dev/null
@@ -1,40 +0,0 @@
-_control = _this select 0;
-_button = _this select 1;
-switch (_button) do {
- case 0: { // Toggle AI BUTTON
- f_cam_playersOnly = !f_cam_playersOnly;
- f_cam_listUnits = [];
- lbClear 2100;
- if(f_cam_playersOnly) then { _control ctrlSetText "Players only";}
- else { _control ctrlSetText "All units";};
- };
- case 1: { // Side Filter
- // 0 = ALL, 1 = BLUFOR , 2 = OPFOR, 3 = INDFOR , 4 = Civ
- f_cam_sideButton = f_cam_sideButton +1;
- if(f_cam_sideButton > 4) then {f_cam_sideButton = 0};
- f_cam_side = switch (f_cam_sideButton) do {
- case 0: {nil};
- case 1: {west};
- case 2: {east};
- case 3: {independent};
- case 4: {civilian};
- };
- _control ctrlSetText (f_cam_sideNames select f_cam_sideButton);
- f_cam_listUnits = [];
- lbClear 2100;
- };
- case 2: {
- f_cam_toggleTags = !f_cam_toggleTags;
- };
- case 3: { // Third/First Person Button
- [] call f_cam_ToggleFPCamera;
- if(f_cam_toggleCamera) then
- {
- _control ctrlSetText "Third Person";
- }
- else
- {
- _control ctrlSetText "First Person";
- }
- }
-};
\ No newline at end of file
diff --git a/f/spect/fn_OnMapClick.sqf b/f/spect/fn_OnMapClick.sqf
deleted file mode 100644
index 5cf0ad417..000000000
--- a/f/spect/fn_OnMapClick.sqf
+++ /dev/null
@@ -1,52 +0,0 @@
-_pos = (_this select 0) ctrlMapScreenToWorld [(_this select 2), (_this select 3)];
-if(f_cam_mapMode == 2) then
-{
- if(f_cam_mode == 0 || f_cam_mode == 1) then
- {
- _chosen = nil;
- _dist = 99999;
- _ents = _pos nearEntities [["CAManBase","AllVehicles"],10];
- {
- {
- if(_pos distance _x <= _dist && _x in f_cam_listUnits) then
- {
-
- _chosen = _x;
- _dist = _pos distance _x;
- };
- } foreach crew _x;
- } foreach _ents;
- if(!isNil "_chosen") then
- {
- f_cam_curTarget = _chosen;
- if(f_cam_toggleCamera) then
- {
- f_cam_curTarget switchCamera "INTERNAL";
- };
-
- // hide map
- f_cam_mapMode = 0;
- ctrlShow [2110,true];
- ctrlShow [2010,true];
- ctrlShow [1350,false];
- ctrlShow [1360,false];
-
-
- ctrlSetText [1000,format ["Spectating:%1", name f_cam_curTarget]];
- };
- };
- if(f_cam_mode == 3) then
- {
- _x = _pos select 0;
- _y = _pos select 1;
- f_cam_freecamera setPosASL [_x,_y,((getposASL f_cam_freecamera) select 2 ) max ((getTerrainHeightASL [_x,_y])+1)];
- // hide map
- f_cam_mapMode = 0;
- ctrlShow [2110,true];
- ctrlShow [2010,true];
- ctrlShow [1350,false];
- ctrlShow [1360,false];
-
- };
-};
-true
\ No newline at end of file
diff --git a/f/spect/fn_OnUnload.sqf b/f/spect/fn_OnUnload.sqf
deleted file mode 100644
index 0c34b96a5..000000000
--- a/f/spect/fn_OnUnload.sqf
+++ /dev/null
@@ -1,23 +0,0 @@
-disableSerialization;
-sleep 1;
-if (f_cam_forcedExit) ExitWith {};
-createDialog "f_spec_dialog";
-
-_displayDialog = (findDisplay 9228);
-call f_fnc_ReloadModes;
-ctrlSetText [2112,(f_cam_sideNames select f_cam_sideButton)];
-if(f_cam_playersOnly) then { ctrlSetText [2111,"Players only"];}
-else { ctrlSetText [2111,"All units"];};
-_helpWindow = _displayDialog displayCtrl 1310;
-_mapWindow = _displayDialog displayCtrl 1350;
-_fullmapWindow = _displayDialog displayCtrl 1360;
-_mapWindow ctrlShow false;
-_fullmapWindow ctrlShow false;
-_fullmapWindow mapCenterOnCamera false;
-_mapWindow mapCenterOnCamera false;
-_helpWindow ctrlSetStructuredText parseText (f_cam_helptext);
-// hide it to stop from being spammed open.
-ctrlShow [1315, !ctrlVisible 1315];
-ctrlShow [1310, !ctrlVisible 1310];
-ctrlShow [1300, !ctrlVisible 1300];
-ctrlShow [1305, !ctrlVisible 1305];
\ No newline at end of file
diff --git a/f/spect/fn_ReloadModes.sqf b/f/spect/fn_ReloadModes.sqf
deleted file mode 100644
index 30bb8c5d4..000000000
--- a/f/spect/fn_ReloadModes.sqf
+++ /dev/null
@@ -1,43 +0,0 @@
-_listBox = 2101;
-_curIndex = lbCurSel _listBox;
-lbClear _listBox;
-// NV
-if(!f_cam_tiWHOn && !f_cam_tiBHOn && !f_cam_nvOn) then
-{
- f_cam_lb_toggleNormal = lbAdd [_listBox,"[Normal]"];
-}
-else
-{
- f_cam_lb_toggleNormal = lbAdd [_listBox,"Normal"]
-};
-if(f_cam_nvOn) then
-{
- f_cam_lb_toggletiNVIndex = lbAdd[_listBox,"[NV]"];
-
-}
-else
-{
- f_cam_lb_toggletiNVIndex = lbAdd[_listBox,"NV"];
-};
-// blackhot
-if(f_cam_tiBHOn) then
-{
- f_cam_lb_toggletiBHIndex = lbAdd[_listBox,"[TI - Blackhot]"];
-
-}
-else
-{
- f_cam_lb_toggletiBHIndex = lbAdd[_listBox,"TI - Blackhot"];
-};
-
-// whtiehot
-if(f_cam_tiWHOn) then
-{
- f_cam_lb_toggletiWHIndex = lbAdd[_listBox,"[TI - Whitehot]"];
-
-}
-else
-{
- f_cam_lb_toggletiWHIndex = lbAdd[_listBox,"TI - Whitehot"];
-};
-
diff --git a/f/spect/fn_ToggleGUI.sqf b/f/spect/fn_ToggleGUI.sqf
deleted file mode 100644
index 49fc3040a..000000000
--- a/f/spect/fn_ToggleGUI.sqf
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "macros.hpp"
-_forbiddenControls = [F_CAM_MOUSEHANDLER,F_CAM_MINIMAP,F_CAM_FULLMAP,F_CAM_SPECHELP,F_CAM_HELPCANCEL,F_CAM_SPECHELP,F_CAM_HELPFRAME,F_CAM_HELPBACK];
-{
- if(!(_x in _forbiddenControls)) then
- {
- ctrlShow [_x,!f_cam_hideUI];
- };
-} foreach f_cam_controls;
\ No newline at end of file
diff --git a/f/spect/fn_UpdateValues.sqf b/f/spect/fn_UpdateValues.sqf
deleted file mode 100644
index 2bac903d5..000000000
--- a/f/spect/fn_UpdateValues.sqf
+++ /dev/null
@@ -1,126 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ==================================================================
-_listBox = 2100;
-// updaes values for the units listbox.
-f_cam_checkIndex =
-{
- {
- _x SetVariable ["f_spect_listBoxIndex",_forEachIndex];
- } foreach f_cam_listUnits;
-};
-
-// ====================================================================================
-while {true} do
-{
- // ====================================================================================
- // make the mini map track the player.
-
- ctrlMapAnimClear ((findDisplay 9228) displayCtrl 1350);
- ((findDisplay 9228) displayCtrl 1350) ctrlMapAnimAdd [0.3, f_cam_map_zoom,visiblePosition (camTarget f_cam_camera)];
- ctrlMapAnimCommit ((findDisplay 9228) displayCtrl 1350);
- ctrlSetFocus ((findDisplay 9228) displayCtrl 1315);
- // ====================================================================================
- // update string.
- if(alive f_cam_curTarget) then
- {
- ctrlSetText [1000,format ["Spectating:%1", name f_cam_curTarget]];
- }
- else
- {
- ctrlSetText [1000,format ["Spectating:%1", "Dead"]];
- };
- // ====================================================================================
- // fetch units
- _groupArr = call F_fnc_GetPlayers;
- f_cam_units = ((_groupArr select 0) + (_groupArr select 1));
- f_cam_players = _groupArr select 0;
- // ====================================================================================
- // get the list for players or players/ai
- _tempArr = [];
- if(f_cam_playersOnly) then
- {
- _tempArr = f_cam_players;
- }
- else
- {
- _tempArr = f_cam_units;
- };
-
- // ====================================================================================
- // Check it and see if they have been added already
- {
- if(!(_x in f_cam_listUnits) && ({alive _x} count units _x) > 0 ) then
- {
- _text = toString(toArray(groupID _x) - [45]);
- _index = lbAdd [_listBox,_text];
- _x SetVariable ["f_spect_listBoxIndex",_index];
- f_cam_listUnits pushBack _x;
- lbSetColor [_listBox,_index,[side _x,false] call BIS_fnc_sideColor];
- {
- if(alive _x) then
- {
- if(!(_x in f_cam_listUnits) && !(_x iskindof "VirtualMan_F")) then
- {
- f_cam_listUnits pushBack _x;
- _text = " " + name _x;
- // if(!isPlayer _x) then
- // {
- // _text = " "+ "*AI*";
- // };
- _index = lbAdd [_listBox,_text];
- _x SetVariable ["f_spect_listBoxIndex",_index];
- };
- };
- } foreach units _x;
- };
- } foreach _tempArr;
-
- // ====================================================================================
- // Check if they died etc.
-
- {
- _index = _x GetVariable ["f_spect_listBoxIndex",-1];
- if(typeName _x == "GROUP") then
- {
- if(_index >= 0 && ({alive _x} count units _x) > 0 && {lbText [_listBox,_index] != (toString(toArray(groupID _x) - [45]))}) then
- {
- // there is no lbSetText, so just punt it out of the list and fix it up there..
- lbDelete [_listBox,_index];
- f_cam_listUnits = f_cam_listUnits - [_x];
- [] call f_cam_checkIndex;
- };
- if(({alive _x} count units _x) <= 0 && _index >= 0) then
- {
- lbDelete [_listBox,_index];
- f_cam_listUnits = f_cam_listUnits - [_x];
- [] call f_cam_checkIndex;
- };
- }
- else
- {
- _val = lbText [_listBox,_index] != " " + name _x;
- // if(!isPlayer _x) then
- // {
- // _val = lbText [_listBox,_index] != " "+ "*AI*";
- // };
- if(_index >= 0 && alive _x && _val ) then
- {
- // there is no lbSetText, so just punt it out of the list and fix it up there..
- lbDelete [_listBox,_index];
- f_cam_listUnits = f_cam_listUnits - [_x];
- [] call f_cam_checkIndex;
- };
- if(!alive _x) then
- {
- if(_index >= 0) then
- {
- lbDelete [_listBox,_index];
- f_cam_listUnits = f_cam_listUnits - [_x];
- [] call f_cam_checkIndex;
- };
- };
- };
- } foreach f_cam_listUnits;
- sleep 1;
-};
\ No newline at end of file
diff --git a/f/spect/fn_activateSpectator.sqf b/f/spect/fn_activateSpectator.sqf
new file mode 100644
index 000000000..a5e4cbf11
--- /dev/null
+++ b/f/spect/fn_activateSpectator.sqf
@@ -0,0 +1,22 @@
+if (f_param_debugMode == 1) then {
+ diag_log "activating spectator";
+};
+
+// 'Cinematic' delay before spectator activates
+sleep 3;
+
+// Disable post-processing effects
+// Borrowed from BIS_fnc_respawnSpectator
+waitUntil {missionnamespace getvariable ["BIS_fnc_feedback_allowDeathScreen", true]};
+BIS_fnc_feedback_allowPP = false;
+
+// Create a new (alive) unit to prevent draw3D bug with floating head tags
+// Credit to SilentSpike: https://github.com/acemod/ACE3/pull/5868
+private _cameraUnit = (createGroup sideLogic) createUnit ["VirtualMan_F", player, [], 0, "NONE"];
+_cameraUnit enableSimulation false;
+selectPlayer _cameraUnit;
+
+["Initialize", [player, [], true, true, true, false, true, true, true, true]] call BIS_fnc_EGSpectator;
+
+// Disable direct chat to prevent ghosts interacting with the living
+5 enableChannel false;
\ No newline at end of file
diff --git a/f/spect/fn_showMenu.sqf b/f/spect/fn_showMenu.sqf
deleted file mode 100644
index 06063e75c..000000000
--- a/f/spect/fn_showMenu.sqf
+++ /dev/null
@@ -1,30 +0,0 @@
-disableSerialization;
-_show = _this select 0;
-_disp = findDisplay 9228;
-if(f_cam_menuWorking) exitWith {};
-if(_show && !f_cam_menuShown) then
-{
- f_cam_menuWorking = true;
- f_cam_menuShown = true;
- {
- _pos = ctrlPosition (_disp displayCtrl _x);
- _pos set [1,(_pos select 1) + 0.03];
- (_disp displayCtrl _x) ctrlSetPosition _pos;
- } foreach f_cam_menuControls;
- {(_disp displayCtrl _x) ctrlCommit 0.6; } foreach f_cam_menuControls;
- waitUntil {ctrlCommitted (_disp displayCtrl (f_cam_menuControls select 0))};
- f_cam_menuWorking = false;
-};
-if(!_show && f_cam_menuShown) then
-{
- f_cam_menuWorking = true;
- f_cam_menuShown = false;
- {
- _pos = ctrlPosition (_disp displayCtrl _x);
- _pos set [1,(_pos select 1) - 0.03];
- (_disp displayCtrl _x) ctrlSetPosition _pos;
- } foreach f_cam_menuControls;
- {(_disp displayCtrl _x) ctrlCommit 0.6; } foreach f_cam_menuControls;
- waitUntil {ctrlCommitted (_disp displayCtrl (f_cam_menuControls select 0))};
- f_cam_menuWorking = false;
-};
\ No newline at end of file
diff --git a/f/spect/fn_terminateSpectator.sqf b/f/spect/fn_terminateSpectator.sqf
new file mode 100644
index 000000000..3d4b0110a
--- /dev/null
+++ b/f/spect/fn_terminateSpectator.sqf
@@ -0,0 +1,5 @@
+
+["Terminate"] call BIS_fnc_EGSpectator;
+
+// Enable direct chat since it's been disabled in activateSpectator
+5 enableChannel true;
diff --git a/f/spect/macros.hpp b/f/spect/macros.hpp
deleted file mode 100644
index 7276d7d19..000000000
--- a/f/spect/macros.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// F3 - Spectator Script
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-// ====================================================================================
-// Quick defines to make it less annoying.
-#define F_CAM_DISPLAY 9228
-#define F_CAM_HELPFRAME 1300
-#define F_CAM_HELPBACK 1305
-#define F_CAM_MOUSEHANDLER 123
-#define F_CAM_UNITLIST 2100
-#define F_CAM_MODESCOMBO 2101
-#define F_CAM_SPECTEXT 1000
-#define F_CAM_SPECHELP 1310
-#define F_CAM_HELPCANCEL 1315
-#define F_CAM_MINIMAP 1350
-#define F_CAM_FULLMAP 1360
-#define F_CAM_BUTTIONFILTER 2111
-#define F_CAM_BUTTIONTAGS 2112
-#define F_CAM_BUTTIONTAGSNAME 2113
-#define F_CAM_BUTTIONFIRSTPERSON 2114
-#define F_CAM_DIVIDER 4302
\ No newline at end of file
diff --git a/f/zeus/fn_zeusAddAddons.sqf b/f/zeus/fn_zeusAddAddons.sqf
index 50eed723f..6e8adfc30 100644
--- a/f/zeus/fn_zeusAddAddons.sqf
+++ b/f/zeus/fn_zeusAddAddons.sqf
@@ -1,10 +1,10 @@
// F3 Zeus Support - Add Addons
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES
-private ["_curator","_mode","_addons","_cfgPatches","_class"];
+private ["_addons","_cfgPatches","_class"];
// ====================================================================================
@@ -18,8 +18,10 @@ if !(isServer) exitWith {};
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-_curator = [_this,0,objNull] call bis_fnc_param;
-_mode = [_this,1,true,["",true,[]]] call bis_fnc_param;
+params [
+ ["_curator", objNull],
+ ["_mode", true, ["",true,[]]]
+];
// ====================================================================================
@@ -39,28 +41,20 @@ if (isNull _curator || typeOf _curator != "ModuleCurator_F") exitWith {
// Decide which addons to add based on passed mode
_addons = [""];
-_curator setVariable ["Addons",0,true];
switch (typeName _mode) do {
case "ARRAY": {_addons = _mode};
case "STRING": {_addons = [_mode]};
case "BOOL": {
if (_mode) then {
+ // If the mode is passed as true, set up the curator module as if its Addons drop-down in the editor was set to "All addons (including unofficial)"
_curator setVariable ["Addons",3,true];
- // If true was passed, add all available addons to curator list
- _cfgPatches = configfile >> "cfgpatches";
- for "_i" from 0 to (count _cfgPatches - 1) do {
- _class = _cfgPatches select _i;
- if (isclass _class) then {_addons pushBack (configname _class);};
- };
- _addons call bis_fnc_activateaddons;
- removeallcuratoraddons _curator;
} else {
+ // If the mode is passed as false, set up the curator module as if its Addons drop-down in the editor was set to "No addons"
_curator setVariable ["Addons",0,true];
- removeallcuratoraddons _curator;
};
};
};
// Enable addons to the curator
-_curator addcuratoraddons _addons;
\ No newline at end of file
+_curator addcuratoraddons _addons;
diff --git a/f/zeus/fn_zeusAddObjects.sqf b/f/zeus/fn_zeusAddObjects.sqf
index 5c29e9c1e..69d712c98 100644
--- a/f/zeus/fn_zeusAddObjects.sqf
+++ b/f/zeus/fn_zeusAddObjects.sqf
@@ -1,10 +1,10 @@
// F3 Zeus Support - Add Objects
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// DECLARE VARIABLES
-private ["_curator","_mode","_objects","_getGlobalVars"];
+private ["_objects","_leaders"];
// ====================================================================================
@@ -18,9 +18,11 @@ if !(isServer) exitWith {};
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-_curator = [_this,0,objNull] call bis_fnc_param;
-_mode = [_this,1,[],[true,west,objNull,[]]] call bis_fnc_param;
-_groupleaders = [_this,2,false] call bis_fnc_param;
+params [
+ ["_curator", objNull],
+ ["_mode", [], [true,west,objNull,[]]],
+ ["_groupLeaders", false, [true]]
+];
// ====================================================================================
@@ -76,4 +78,4 @@ if (_groupLeaders) then {
};
// Add all selected objects to curator lists
-_curator addCuratorEditableObjects [_objects,true];
\ No newline at end of file
+_curator addCuratorEditableObjects [_objects,true];
diff --git a/f/zeus/fn_zeusInit.sqf b/f/zeus/fn_zeusInit.sqf
index d344df5ae..94cc35ee6 100644
--- a/f/zeus/fn_zeusInit.sqf
+++ b/f/zeus/fn_zeusInit.sqf
@@ -1,5 +1,5 @@
// F3 Zeus Support - Initialization
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// ====================================================================================
// SERVER CHECK
@@ -11,17 +11,19 @@ if !(isServer) exitWith {};
// DECLARE VARIABLES
-private ["_unit","_addons","_objects","_curator","_createModule"];
+private ["_curator"];
// ====================================================================================
// SET KEY VARIABLES
// Using variables passed to the script instance, we will create some local variables:
-_unit = [_this,0,objNull] call bis_fnc_param;
-_addons = [_this,1,true,["",true,[]]] call bis_fnc_param;
-_objects = [_this,2,[],[objNull,true,[],west]] call bis_fnc_param;
-_announce = [_this,3,false] call bis_fnc_param;
+params [
+ ["_unit", objNull],
+ ["_addons", true, ["",true,[]]],
+ ["_objects", [], [objNull,true,[],west]],
+ ["_announce", false, [true]]
+];
// ====================================================================================
@@ -30,54 +32,72 @@ _announce = [_this,3,false] call bis_fnc_param;
// Exit if no unit was passed
if (isNull _unit) exitWith {};
-// Exit if no unit was passed
-if !(isNull (getAssignedCuratorLogic _unit)) exitWith {
- diag_log format ["DEBUG (f\zeus\fn_zeusInit.sqf): ZEUS already assigned to %1.",_unit];
- systemchat format ["DEBUG (f\zeus\fn_zeusInit.sqf): ZEUS already assigned to %1.",_unit];
-};
-
-// Exit if the unit is not a player
-if !(isPlayer _unit) exitWith {
- diag_log format ["DEBUG (f\zeus\fn_zeusInit.sqf): Did not assign ZEUS to %1 because it is not under control of a player.",_unit];
- systemchat format ["DEBUG (f\zeus\fn_zeusInit.sqf): Did not assign ZEUS to %1 because it is not under control of a player.",_unit];
-};
-
// Make sure a side logic exists, if not create it
if (isNil "f_var_sideCenter") then {
f_var_sideCenter = createCenter sideLogic;
publicVariable "f_var_sideCenter";
};
-// Create a new curator logic
-_curator = (createGroup f_var_sideCenter) createUnit ["ModuleCurator_F",[0,0,0] , [], 0, ""];
+//Check if the passed variable _unit is a curator object.
+private _unitIsCurator = (typeof _unit) isEqualTo "ModuleCurator_F";
+
+if (_unitIsCurator) then {
+ // The curator object (ModuleCurator_F) was passed as "_unit",
+ // because this happens in the zeus module initialization.
+ // NOTE: We cannot use getAssignedCuratorUnit to get the unit during the module initialization,
+ // so we don't have access to the unit itself in this case.
+ _curator = _unit;
+} else {
+
+ // Exit if the unit is not a player
+ if (!(isPlayer _unit)) exitWith {
+ diag_log format ["DEBUG (f\zeus\fn_zeusInit.sqf): Did not assign ZEUS to %1 because it is not under control of a player.",_unit];
+ systemchat format ["DEBUG (f\zeus\fn_zeusInit.sqf): Did not assign ZEUS to %1 because it is not under control of a player.",_unit];
+ };
-// Assign the passed unit as curator
-_unit assignCurator _curator;
+ //Exit if the unit already has a curator logic assigned.
+ if !(isNull (getAssignedCuratorLogic _unit)) exitWith {
+ diag_log format ["DEBUG (f\zeus\fn_zeusInit.sqf): ZEUS already assigned to %1.",_unit];
+ systemchat format ["DEBUG (f\zeus\fn_zeusInit.sqf): ZEUS already assigned to %1.",_unit];
+ };
+
+ // Create a new curator logic
+ _curator = (createGroup f_var_sideCenter) createUnit ["ModuleCurator_F", [0,0,0], [], 0, "NONE"];
+
+ // Assign the new curator logic to the passed unit
+ _unit assignCurator _curator;
+
+};
//Add desired addons
-[_curator,_addons] spawn f_fnc_zeusAddAddons;
+[_curator,_addons] call f_fnc_zeusAddAddons;
//Add desired objects
-[_curator,_objects] spawn f_fnc_zeusAddObjects;
+[_curator,_objects] call f_fnc_zeusAddObjects;
// Reduce costs for all actions
_curator setCuratorWaypointCost 0;
{_curator setCuratorCoef [_x,0];} forEach ["place","edit","delete","destroy","group","synchronize"];
-// Check if F3 AI Skill Selector is active and assign corresponding event-handler
-if({!isNil _x} count ["f_param_AISkill_BLUFOR","f_param_AISkill_INDP","f_param_AISkill_OPFOR"] > 0) then {
- _curator addEventHandler ['CuratorObjectPlaced',{{[_x] call f_fnc_setAISkill;} forEach crew(_this select 1)}];
-};
+// Wait until the curator module is linked with its (playable) unit:
+[_curator] spawn {
+ params [
+ ["_curator", objNull]
+ ];
+
+ waitUntil {sleep 1; ! isNull getAssignedCuratorUnit _curator};
-// Setup
+ // Run local code. e.g. event handler for placed units
+ [_curator] remoteExec ['f_fnc_zeusInitLocal', _curator, true];
+};
// If announce is set to true, the new curator will be announced to all players
-if (_announce) then {
+if (_announce && !_unitIsCurator) then {
_curator setVariable ["owner",format["%1",_unit],true];
- [["Alert",[format ["%1 has become curator!",name _unit]]],"BIS_fnc_showNotification",true] call BIS_fnc_MP;
+ ["Alert",[format ["%1 has become curator!",name _unit]]] remoteExec ["BIS_fnc_showNotification", 0];
};
// ====================================================================================
// Return the newly created curator
-_curator
\ No newline at end of file
+_curator
diff --git a/f/zeus/fn_zeusInitLocal.sqf b/f/zeus/fn_zeusInitLocal.sqf
new file mode 100644
index 000000000..e06908fcf
--- /dev/null
+++ b/f/zeus/fn_zeusInitLocal.sqf
@@ -0,0 +1,28 @@
+// F3 Zeus Support - Add Addons
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// ====================================================================================
+
+params [
+ ["_curator", objNull]
+];
+
+//if (! local _curator) exitWith {};
+
+private _curatorEH = _curator getVariable ["f_curator_EH", -1];
+if (_curatorEH != -1) exitWith {};
+
+// Add event-handler:
+_curatorEH = _curator addEventHandler ['CuratorObjectPlaced',{
+
+ params[
+ ["_curator", objNull, [objNull]],
+ ["_entity", objNull, [objNull]]
+ ];
+ {
+ [_x] call f_fnc_setAISkill;
+ } forEach crew _entity;
+ if(!isNil "f_var_disableThermals_enabled" && {f_var_disableThermals_enabled}) then {
+ _entity disableTIEquipment true;
+ };
+}];
+_curator setVariable ["f_curator_EH", _curatorEH];
diff --git a/init.sqf b/init.sqf
index 1424702f2..ad2d0bcad 100644
--- a/init.sqf
+++ b/init.sqf
@@ -1,7 +1,7 @@
// ====================================================================================
// F3 - Common Local Variables
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// WARNING: DO NOT DISABLE THIS COMPONENT
if(isServer) then {
f_script_setLocalVars = [] execVM "f\common\f_setLocalVars.sqf";
@@ -9,205 +9,216 @@ if(isServer) then {
// ====================================================================================
-// F3 - Medical Systems Support
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
-// SWS Config Settings
-// How many extra FirstAidKits (FAKS) each player should receive when using the F3 Simple Wounding System:
-f_wound_extraFAK = 2;
-
-[] execVM "f\medical\medical_init.sqf";
-
-// ====================================================================================
-
-// F3 - Radio Systems Support
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
-[] execVM "f\radios\radio_init.sqf";
-
-// ====================================================================================
-
-// F3 - JIP setup
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
-
-f_var_JIP_FirstMenu = false; // Do players connecting for the first time get the JIP menu? - This only works in missions with respawn.
-f_var_JIP_RemoveCorpse = false; // Remove the old corpse of respawning players?
-f_var_JIP_GearMenu = true; // Can JIP/respawned players select their own gear? False will use gear assigned by F3 Gear Component if possible
-
-// ====================================================================================
-
// F3 - Disable Saving and Auto Saving
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
enableSaving [false, false];
// ====================================================================================
// F3 - Mute Orders and Reports
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
{_x setSpeaker "NoVoice"} forEach playableUnits;
// ====================================================================================
// F3 - Mission Timer/Safe Start
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
[] execVM "f\safeStart\f_safeStart.sqf";
// ====================================================================================
// F3 - F3 Mission Conditions Selector
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
f_script_setMissionConditions = [] execVM "f\missionConditions\f_setMissionConditions.sqf";
// ====================================================================================
// F3 - Folk ARPS Group IDs
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
f_script_setGroupIDs = [] execVM "f\setGroupID\f_setGroupIDs.sqf";
// ====================================================================================
// F3 - F3 Folk ARPS Group Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
f_script_setGroupMarkers = [] execVM "f\groupMarkers\f_setLocalGroupMarkers.sqf";
// ====================================================================================
// F3 - Buddy Team Colours
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
f_script_setTeamColours = [] execVM "f\setTeamColours\f_setTeamColours.sqf";
// ====================================================================================
// F3 - Fireteam Member Markers
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
[] spawn f_fnc_SetLocalFTMemberMarkers;
// ====================================================================================
// F3 - Join Group Action
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
[false] execVM "f\groupJoin\f_groupJoinAction.sqf";
// ====================================================================================
// F3 - Briefing
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-f_script_briefing = [] execVM "briefing.sqf";
+f_script_briefing = [] spawn f_fnc_createBriefing;
// ====================================================================================
// F3 - ORBAT Notes
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
[] execVM "f\briefing\f_orbatNotes.sqf";
// ====================================================================================
// F3 - Loadout Notes
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
[] execVM "f\briefing\f_loadoutNotes.sqf";
// ====================================================================================
+// F3 - Revive
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+[] execVM "f\medical\init.sqf";
+
+// ====================================================================================
+
+// F3 - Combat Life Saver EH
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// Uncomment the line below to enable the Combat Life Saver heal handler. Does nothing unless you have player units using the "cls" assignGear role.
+
+// [] execVM "f\medical\f_clsEH.sqf";
+
+// ====================================================================================
+
// F3 - AI Unit Caching
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-[30] spawn f_fnc_cInit;
+//[30] spawn f_fnc_cInit;
// Note: Caching aggressiveness is set using the f_var_cachingAggressiveness variable; possible values:
// 1 - cache only non-leaders and non-drivers
// 2 - cache all non-moving units, always exclude vehicle drivers
// 3 - cache all units, incl. group leaders and vehicle drivers
-f_var_cachingAggressiveness = 2;
+//f_var_cachingAggressiveness = 2;
// ====================================================================================
// F3 - Automatic Body Removal
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-// f_var_removeBodyDelay = 180;
-// f_var_removeBodyDistance = 500;
-// f_var_doNotRemoveBodies = [];
-// [] execVM "f\removeBody\f_addRemoveBodyEH.sqf";
+//Exclude units from automatic body/wreck removal:
+removeFromRemainsCollector playableUnits;
+//removeFromRemainsCollector [unit1, unit2, vehicle1];
// ====================================================================================
// F3 - AI Skill Selector
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-// f_var_civAI = independent; // Optional: The civilian AI will use this side's settings
-// [] execVM "f\setAISKill\f_setAISkill.sqf";
+f_var_civAI = independent; // Optional: The civilian AI will use this side's settings
+[] execVM "f\setAISKill\f_setAISkill.sqf";
// ====================================================================================
// F3 - Assign Gear AI
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// [] execVM "f\assignGear\f_assignGear_AI.sqf";
// ====================================================================================
// F3 - Dynamic View Distance
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-// f_var_viewDistance_default = 1250;
-// f_var_viewDistance_tank = 2000;
-// f_var_viewDistance_car = 2000;
-// f_var_viewDistance_rotaryWing = 2500;
-// f_var_viewDistance_fixedWing = 5000;
-// f_var_viewDistance_crewOnly = true;
-// [] execVM "f\dynamicViewDistance\f_setViewDistanceLoop.sqf";
+f_var_viewDistance_default = 1600;
+f_var_viewDistance_tank = 2500;
+f_var_viewDistance_car = 2000;
+f_var_viewDistance_rotaryWing = 3000;
+f_var_viewDistance_fixedWing = 5000;
+f_var_viewDistance_crewOnly = true;
+[] execVM "f\dynamicViewDistance\f_setViewDistanceInit.sqf";
// ====================================================================================
// F3 - Authorised Crew Check
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// VehicleName addEventhandler ["GetIn", {[_this,[UnitName1,UnitName2],false] call f_fnc_authorisedCrewCheck}];
// VehicleName addEventhandler ["GetIn", {[_this,["UnitClass1","UnitClass2"],false] call f_fnc_authorisedCrewCheck}];
// ====================================================================================
+// F3 - Commander's Override and FCS failure
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+// [vehicleName] call f_fnc_fcsInit;
+// { _x call f_fnc_fcsInit; } forEach [vehicle1,vehicle2,vehicle3];
+
+// ====================================================================================
+
+// F3 - Driver's Brake Override
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+[] spawn f_fnc_brakeOverride;
+
+// ====================================================================================
+
+// F3 - Skulls
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+
+[] spawn f_fnc_skullsInit;
+
+// ====================================================================================
+
// F3 - MapClick Teleport
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-// f_var_mapClickTeleport_Uses = 0; // How often the teleport action can be used. 0 = infinite usage.
-// f_var_mapClickTeleport_TimeLimit = 0; // If higher than 0 the action will be removed after the given time.
-// f_var_mapClickTeleport_GroupTeleport = false; // False: everyone can teleport. True: Only group leaders can teleport and will move their entire group.
-// f_var_mapClickTeleport_Units = []; // Restrict map click teleport to these units
-// f_var_mapClickTeleport_Height = 0; // If > 0 map click teleport will act as a HALO drop and automatically assign parachutes to units
-// [] execVM "f\mapClickTeleport\f_mapClickTeleportAction.sqf";
+// f_var_mapClickTeleport_Uses = 1; // How often the teleport action can be used. 0 = infinite usage.
+// f_var_mapClickTeleport_TimeLimit = 0; // If higher than 0 the action will be removed after the given time.
+// f_var_mapClickTeleport_GroupTeleport = true; // False: everyone can teleport. True: Only group leaders can teleport and will move their entire group.
+// f_var_mapClickTeleport_Units = []; // Restrict map click teleport to these units.
+// f_var_mapClickTeleport_Height = 0; // If > 0 map click teleport will act as a HALO drop and automatically assign parachutes to units.
+// f_var_mapClickTeleport_SaferVehicleHALO = false; // If HALO-ing (f_var_mapClickTeleport_Height > 0), False: crew remain in vehicle during drop. True: crew drop separately with their own parachutes.
+// [] execVM "f\mapClickTeleport\f_mapClickTeleport.sqf";
// ====================================================================================
// F3 - Name Tags
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
-// [] execVM "f\nametag\f_nametags.sqf";
+[] execVM "f\nametag\f_nametagInit.sqf";
// ====================================================================================
// F3 - Group E&E Check
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// [side,ObjectName or "MarkerName",100,1] execVM "f\EandEcheck\f_EandECheckLoop.sqf";
// [["Grp1","Grp2"],ObjectName or "MarkerName",100,1] execVM "f\EandEcheck\f_EandECheckLoop.sqf";
+// Note: If the 3rd parameter is <= 0 then the 2nd parameter will be used for inArea:
+// [side,inArea argument,0,1] execVM "f\EandEcheck\f_EandECheckLoop.sqf";
// ====================================================================================
// F3 - Casualties Cap
-// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)
+// Credits and documentation: https://github.com/folkarps/F3/wiki
// [[GroupName or SIDE],100,1] execVM "f\casualtiesCap\f_CasualtiesCapCheck.sqf";
// [[GroupName or SIDE],100,{code}] execVM "f\casualtiesCap\f_CasualtiesCapCheck.sqf";
@@ -220,3 +231,29 @@ f_var_cachingAggressiveness = 2;
// INDEPENDENT > AAF
// [INDEPENDENT,100,1] execVM "f\casualtiesCap\f_CasualtiesCapCheck.sqf";
+
+// ====================================================================================
+
+// F3 - Disable Thermals
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+[] spawn f_fnc_disableThermals;
+// [[UnitName1, "UnitClass1"]] spawn f_fnc_disableThermals;
+
+// ====================================================================================
+
+// F3 - Radio Channels
+// Credits and documentation: https://github.com/folkarps/F3/wiki
+// True to split channels by radio backpack type. Else one channel for all.
+// Optional second parameter (number): limit the channel count to this number. This frees up space for any other custom channels. Defaults to 10 (max) if not set, or 1 (minimum) if channels not split.
+// You can also tag a specific unit or vehicle for access to specific channels by setting a variable on them:
+// _unit setVariable ["f_var_radioChannelsObjectSpecific",[1,2,3],true];
+
+// This component is enabled by default and it's recommended to leave it enabled. The default configuration provides an in-game CC-like function and prevents issues with reslotted players and the Direct channel.
+
+[false] spawn f_fnc_radioChannels;
+
+// If you are creating other custom channels, you must wait for F3 Radio Channels to finish to avoid conflicts:
+// waitUntil {(!isNil f_var_radioChannelsUnified)}
+
+// ====================================================================================
+
diff --git a/loadLogo.jpg b/loadLogo.jpg
index 17dc8c516..cee6a2d94 100644
Binary files a/loadLogo.jpg and b/loadLogo.jpg differ
diff --git a/mission.sqm b/mission.sqm
index 30e78415f..0aeed6392 100644
--- a/mission.sqm
+++ b/mission.sqm
@@ -1,32826 +1,52291 @@
-version=52;
-class EditorData
-{
- moveGridStep=1;
- angleGridStep=0.2617994;
- scaleGridStep=1;
- autoGroupingDist=10;
- toggles=513;
- class ItemIDProvider
- {
- nextID=1102;
- };
- class Camera
- {
- pos[]={253.20601,157.21956,576.88916};
- dir[]={0.75964439,-0.27484706,0.58941227};
- up[]={0.2171492,0.96148634,0.16848733};
- aside[]={0.6130206,-2.2511813e-008,-0.79006982};
- };
-};
-binarizationWanted=0;
-addons[]=
-{
- "A3_Air_F_Heli_Heli_Transport_03",
- "A3_Air_F_Heli_Heli_Transport_04",
- "A3_Air_F_Beta_Heli_Transport_02",
- "A3_Air_F_Beta_Heli_Transport_01",
- "A3_Armor_F_Beta_APC_Tracked_01",
- "A3_Air_F_Beta_Heli_Attack_01",
- "A3_Air_F_Heli_Light_02",
- "A3_Armor_F_Beta_APC_Wheeled_02",
- "A3_Air_F_Beta_Heli_Attack_02",
- "A3_Armor_F_EPC_MBT_01",
- "A3_Armor_F_Gamma_APC_Wheeled_03",
- "A3_Armor_F_Gamma_MBT_02",
- "A3_Armor_F_EPB_MBT_03",
- "A3_Air_F_EPB_Heli_Light_03",
- "A3_Soft_F_Beta_Truck_02",
- "A3_Soft_F_Beta_MRAP_03",
- "A3_Soft_F_MRAP_01",
- "A3_Soft_F_Beta_Truck_01",
- "A3_Soft_F_MRAP_02",
- "A3_Soft_F_Offroad_01",
- "A3_Soft_F_Gamma_Van_01",
- "A3_Weapons_F_Ammoboxes",
- "A3_Air_F_Heli_Light_01",
- "A3_Armor_F_Beta_APC_Wheeled_01",
- "A3_Armor_F_Beta_APC_Tracked_02",
- "A3_Armor_F_EPB_APC_Tracked_03",
- "A3_Modules_F_Curator_Curator",
- "A3_Modules_F_Supports",
- "A3_Characters_F",
- "A3_Static_F_Mortar_01",
- "A3_Data_F_Curator_Virtual",
- "A3_Characters_F_Exp",
- "A3_Soft_F_Exp_Offroad_02",
- "A3_Soft_F_Exp_Van_01",
- "A3_Soft_F_Exp_Offroad_01",
- "A3_Soft_F_Gamma_SUV_01"
-};
-class AddonsMetaData
-{
- class List
- {
- items=19;
- class Item0
- {
- className="A3_Air_F_Heli";
- name="Arma 3 Helicopters - Aircrafts";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item1
- {
- className="A3_Air_F_Beta";
- name="Arma 3 Beta - Aircrafts";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item2
- {
- className="A3_Armor_F_Beta";
- name="Arma 3 Beta - Armored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item3
- {
- className="A3_Air_F";
- name="Arma 3 Alpha - Aircrafts";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item4
- {
- className="A3_Armor_F_EPC";
- name="Arma 3 Win Episode - Armored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item5
- {
- className="A3_Armor_F_Gamma";
- name="Arma 3 - Armored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item6
- {
- className="A3_Armor_F_EPB";
- name="Arma 3 Adapt Episode - Armored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item7
- {
- className="A3_Air_F_EPB";
- name="Arma 3 Adapt Episode - Aircrafts";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item8
- {
- className="A3_Soft_F_Beta";
- name="Arma 3 Beta - Unarmored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item9
- {
- className="A3_Soft_F";
- name="Arma 3 Alpha - Unarmored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item10
- {
- className="A3_Soft_F_Gamma";
- name="Arma 3 - Unarmored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item11
- {
- className="A3_Weapons_F";
- name="Arma 3 Alpha - Weapons and Accessories";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item12
- {
- className="A3_Modules_F_Curator";
- name="Arma 3 Zeus Update - Scripted Modules";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item13
- {
- className="A3_Modules_F";
- name="Arma 3 Alpha - Scripted Modules";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item14
- {
- className="A3_Characters_F";
- name="Arma 3 Alpha - Characters and Clothing";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item15
- {
- className="A3_Static_F";
- name="Arma 3 Alpha - Turrets";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item16
- {
- className="A3_Data_F_Curator";
- name="Arma 3 Zeus Update - Main Configuration";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item17
- {
- className="A3_Characters_F_Exp";
- name="Arma 3 Apex - Characters and Clothing";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- class Item18
- {
- className="A3_Soft_F_Exp";
- name="Arma 3 Apex - Unarmored Land Vehicles";
- author="Bohemia Interactive";
- url="http://www.arma3.com";
- };
- };
-};
-randomSeed=1116085;
-class ScenarioData
-{
- author="*** Insert mission author name here. ***";
- overViewPicture="overviewLogo.jpg";
- onLoadMission="Made with the F3 Mission Development Framework.";
- loadScreen="loadLogo.jpg";
-};
-class CustomAttributes
-{
- class Category0
- {
- name="Scenario";
- class Attribute0
- {
- property="EnableDebugConsole";
- expression="true";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
-};
-class Mission
-{
- class Intel
- {
- briefingName="*** Insert mission name here. ***";
- resistanceWest=0;
- timeOfChanges=28800;
- startWeather=0.50001526;
- startWind=0.25;
- startGust=0.25;
- forecastWeather=0.50277799;
- forecastWind=0.25;
- forecastWaves=0;
- forecastGust=0.25;
- rainForced=1;
- lightningsForced=1;
- wavesForced=1;
- windForced=1;
- year=2035;
- month=7;
- day=6;
- hour=8;
- minute=15;
- startFogDecay=0;
- forecastFogDecay=0;
- };
- class Entities
- {
- items=365;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.07535,8.3443718,1248.3243};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehNATO_TH1";
- };
- id=0;
- type="B_Heli_Transport_03_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2379.1594,7.5924172,1254.5444};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehCSAT_TH1";
- textures="Opfor";
- };
- id=1;
- type="O_Heli_Transport_04_covered_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.0298,8.5861206,617.8595};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehAAF_TH1";
- };
- id=2;
- type="I_Heli_Transport_02_F";
- atlOffset=-4.7683716e-007;
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.47964,8.3443718,1220.5431};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehNATO_TH2";
- textures="Green";
- };
- id=3;
- type="B_Heli_Transport_03_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={467.55972,7.1392474,1249.049};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH3";
- textures="Green";
- };
- id=4;
- type="B_Heli_Transport_01_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={468.41714,7.1392474,1221.5109};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH4";
- textures="Green";
- };
- id=5;
- type="B_Heli_Transport_01_F";
- };
- class Item6
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.71497,7.1392474,1249.255};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH5";
- textures="Green";
- };
- id=6;
- type="B_Heli_Transport_01_F";
- };
- class Item7
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.78723,7.1392474,1221.2482};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH6";
- textures="Green";
- };
- id=7;
- type="B_Heli_Transport_01_F";
- };
- class Item8
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.33704,7.1392474,1249.8331};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH7";
- };
- id=8;
- type="B_Heli_Transport_01_F";
- };
- class Item9
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.22864,7.1392474,1222.3273};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehNATO_TH8";
- };
- id=9;
- type="B_Heli_Transport_01_F";
- };
- class Item10
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.42007,7.4527192,1304.1699};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_AV";
- };
- id=10;
- type="B_APC_Tracked_01_rcws_F";
- };
- class Item11
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={517.84583,7.4527192,1301.2305};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_BV";
- };
- id=11;
- type="B_APC_Tracked_01_rcws_F";
- };
- class Item12
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={560.05579,7.4527192,1302.459};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_CV";
- };
- id=12;
- type="B_APC_Tracked_01_rcws_F";
- };
- class Item13
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.17886,7.4527192,1304.5967};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_COV";
- };
- id=13;
- type="B_APC_Tracked_01_rcws_F";
- };
- class Item14
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.90445,6.9319248,1193.7062};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_a"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_AH1";
- };
- id=14;
- type="B_Heli_Attack_01_F";
- };
- class Item15
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.1128,8.5861206,618.69836};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehAAF_TH2";
- };
- id=15;
- type="I_Heli_Transport_02_F";
- atlOffset=-4.7683716e-007;
- };
- class Item16
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1494.3599,8.5861206,619.53918};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehAAF_TH3";
- };
- id=16;
- type="I_Heli_Transport_02_F";
- atlOffset=-4.7683716e-007;
- };
- class Item17
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.6772,8.5861206,620.19543};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- fuel=0.29590145;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehAAF_TH4";
- };
- id=17;
- type="I_Heli_Transport_02_F";
- atlOffset=-4.7683716e-007;
- };
- class Item18
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2380.8411,7.5924172,1224.6206};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_h"",this] call f_fnc_assignGear";
- name="VehCSAT_TH2";
- textures="Opfor";
- };
- id=18;
- type="O_Heli_Transport_04_covered_F";
- };
- class Item19
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2429.5403,7.1696463,1253.569};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH3";
- textures="Opfor";
- };
- id=19;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item20
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.9114,7.1696463,1223.8492};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH4";
- textures="Opfor";
- };
- id=20;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item21
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2480.3333,7.1696463,1253.2291};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH5";
- textures="Opfor";
- };
- id=21;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item22
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.6995,7.1696463,1223.5045};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH6";
- textures="Opfor";
- };
- id=22;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item23
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.553,7.1696463,1253.6246};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH7";
- textures="Opfor";
- };
- id=23;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item24
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2531.9211,7.1696463,1223.9039};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_m"",this] call f_fnc_assignGear";
- name="VehCSAT_TH8";
- textures="Opfor";
- };
- id=24;
- type="O_Heli_Light_02_unarmed_F";
- };
- class Item25
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.1594,7.5568428,1301.3188};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_COV";
- textures="Hex";
- };
- id=25;
- type="O_APC_Wheeled_02_rcws_F";
- };
- class Item26
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2423.8577,7.5568428,1301.0942};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_AV";
- textures="Hex";
- };
- id=26;
- type="O_APC_Wheeled_02_rcws_F";
- };
- class Item27
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.9973,7.5568428,1300.3062};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_BV";
- textures="Hex";
- };
- id=27;
- type="O_APC_Wheeled_02_rcws_F";
- };
- class Item28
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.1165,7.5568428,1300.1157};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_CV";
- textures="Hex";
- };
- id=28;
- type="O_APC_Wheeled_02_rcws_F";
- };
- class Item29
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2382.634,8.0559025,1193.7076};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_a"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_AH1";
- textures="Opfor";
- };
- id=29;
- type="O_Heli_Attack_02_black_F";
- };
- class Item30
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.48157,7.5372982,1279.7227};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tank"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_TNK1";
- };
- id=30;
- type="B_MBT_01_TUSK_F";
- };
- class Item31
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.4087,7.6142888,675.24231};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_COV";
- };
- id=31;
- type="I_APC_Wheeled_03_cannon_F";
- };
- class Item32
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1453.1089,7.6142888,674.10168};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_AV";
- };
- id=32;
- type="I_APC_Wheeled_03_cannon_F";
- };
- class Item33
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9253,7.6142888,674.16711};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_BV";
- };
- id=33;
- type="I_APC_Wheeled_03_cannon_F";
- };
- class Item34
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.4771,7.6142888,674.45129};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_CV";
- };
- id=34;
- type="I_APC_Wheeled_03_cannon_F";
- };
- class Item35
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.0383,7.1897745,1274.8247};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tank"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_TNK1";
- textures="Hex";
- };
- id=35;
- type="O_MBT_02_cannon_F";
- };
- class Item36
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9966,7.5486078,650.39954};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tank"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_TNK1";
- };
- id=36;
- type="I_MBT_03_cannon_F";
- };
- class Item37
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.8267,6.5310755,586.50305};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_a"",this] call f_fnc_assignGear";
- name="VehAAF_AH1";
- };
- id=37;
- type="I_Heli_light_03_F";
- };
- class Item38
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1451.1421,7.3817043,777.82239};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehAAF_TR1";
- };
- id=38;
- type="I_Truck_02_transport_F";
- };
- class Item39
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1496.5581,7.3817043,777.77649};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehAAF_TR2";
- };
- id=39;
- type="I_Truck_02_transport_F";
- };
- class Item40
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1538.6558,7.3817043,777.95032};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehAAF_TR3";
- };
- id=40;
- type="I_Truck_02_transport_F";
- };
- class Item41
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1403.2681,6.8319178,763.35657};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehAAF_CAR1";
- };
- id=41;
- type="I_MRAP_03_F";
- };
- class Item42
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={421.47964,7.2059455,1371.2716};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehNato_CAR1";
- };
- id=42;
- type="B_MRAP_01_F";
- };
- class Item43
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={473.05093,7.2247906,1387.7373};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehNato_TR1";
- };
- id=43;
- type="B_Truck_01_transport_F";
- };
- class Item44
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={518.69934,7.2247906,1386.2725};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehNato_TR2";
- };
- id=44;
- type="B_Truck_01_transport_F";
- };
- class Item45
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={559.82141,7.2247906,1387.9121};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehNato_TR3";
- };
- id=45;
- type="B_Truck_01_transport_F";
- };
- class Item46
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2371.9885,7.4435053,1377.9761};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehCSAT_CAR1";
- textures="Hex";
- };
- id=46;
- type="O_MRAP_02_F";
- };
- class Item47
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2427.5139,7.3817043,1393.5962};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehCSAT_TR1";
- };
- id=47;
- type="O_Truck_02_transport_F";
- };
- class Item48
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.7581,7.3817043,1392.978};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehCSAT_TR2";
- };
- id=48;
- type="O_Truck_02_transport_F";
- };
- class Item49
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.4778,7.3817043,1393.0493};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehCSAT_TR3";
- };
- id=49;
- type="O_Truck_02_transport_F";
- };
- class Item50
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={616.46912,6.6115026,726.53906};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehFIA_CAR4";
- textures="Guerilla_07";
- };
- id=50;
- type="B_G_Offroad_01_F";
- };
- class Item51
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={440.55112,6.6115026,757.85254};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehFIA_CAR1";
- textures="Guerilla_07";
- };
- id=51;
- type="B_G_Offroad_01_F";
- };
- class Item52
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={440.63022,6.7971687,735.33008};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehFIA_CAR2";
- textures="Guerilla_07";
- };
- id=52;
- type="B_G_Offroad_01_F";
- atlOffset=0.18566608;
- };
- class Item53
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={615.70349,6.6115026,749.10645};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehFIA_CAR3";
- textures="Guerilla_07";
- };
- id=53;
- type="B_G_Offroad_01_F";
- };
- class Item54
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={481.93588,6.8716264,771.92865};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR1";
- textures="Guerilla_04";
- };
- id=54;
- type="B_G_Van_01_transport_F";
- };
- class Item55
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={489.83334,6.8716264,767.43549};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR2";
- textures="Guerilla_04";
- };
- id=55;
- type="B_G_Van_01_transport_F";
- };
- class Item56
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={525.84607,6.8716264,772.71674};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR3";
- textures="Guerilla_04";
- };
- id=56;
- type="B_G_Van_01_transport_F";
- };
- class Item57
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1403.5269,6.8319178,734.76477};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehAAF_CAR2";
- };
- id=57;
- type="I_MRAP_03_F";
- };
- class Item58
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2372.0071,7.4435053,1350.3169};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehCSAT_CAR2";
- textures="Hex";
- };
- id=58;
- type="O_MRAP_02_F";
- };
- class Item59
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={421.11832,7.2059455,1351.5773};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehNato_CAR2";
- };
- id=59;
- type="B_MRAP_01_F";
- };
- class Item60
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1451.3696,5.8924227,765.56165};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
- name="CrateAAF_A";
- };
- id=60;
- type="I_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item61
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1494.562,5.8924227,766.11731};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
- name="CrateAAF_B";
- };
- id=61;
- type="I_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item62
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1539.1606,5.8924227,766.32043};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
- name="CrateAAF_C";
- };
- id=62;
- type="I_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item63
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={466.2482,5.8924227,1380.1455};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
- name="CrateNATO_A";
- };
- id=63;
- type="B_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item64
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={518.9884,5.8924227,1379.6846};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
- name="CrateNATO_B";
- };
- id=64;
- type="B_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item65
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.05286,5.8924227,1379.9961};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
- name="CrateNATO_C";
- };
- id=65;
- type="B_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item66
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2424.8733,5.8924227,1386.2729};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
- name="CrateCSAT_A";
- };
- id=66;
- type="O_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item67
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2476.925,5.8924227,1386.394};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
- name="CrateCSAT_B";
- };
- id=67;
- type="O_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item68
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2530.9124,5.8924227,1385.6392};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
- name="CrateCSAT_C";
- };
- id=68;
- type="O_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item69
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={483.80991,5.8924227,764.7207};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
- name="CrateFIA_A";
- };
- id=69;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item70
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={525.81873,5.8924227,765.85156};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
- name="CrateFIA_B";
- };
- id=70;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item71
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={565.77478,5.8924227,764.64355};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
- name="CrateFIA_C";
- };
- id=71;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item72
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={604.48376,5.6047058,625.62299};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_l"",this] call f_fnc_assignGear";
- name="VehFIA_TH1";
- textures="Elliptical";
- };
- id=72;
- type="C_Heli_Light_01_civil_F";
- };
- class Item73
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.91617,7.4626956,1278.9102};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_IFV1";
- };
- id=73;
- type="B_APC_Wheeled_01_cannon_F";
- };
- class Item74
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.5939,7.4626956,1279.0977};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehNATO_IFV2";
- };
- id=74;
- type="B_APC_Wheeled_01_cannon_F";
- };
- class Item75
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={635.25696,7.2059455,1365.7882};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehNato_CAR3";
- };
- id=75;
- type="B_MRAP_01_F";
- };
- class Item76
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={634.94348,7.2059455,1342.8126};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehNato_CAR4";
- };
- id=76;
- type="B_MRAP_01_F";
- };
- class Item77
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.4866,7.392787,1275.9663};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_IFV1";
- textures="Hex";
- };
- id=77;
- type="O_APC_Tracked_02_cannon_F";
- };
- class Item78
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.5959,7.392787,1276.311};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehCSAT_IFV2";
- textures="Hex";
- };
- id=78;
- type="O_APC_Tracked_02_cannon_F";
- };
- class Item79
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2610.7737,7.4435053,1367.3921};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehCSAT_CAR3";
- textures="Hex";
- };
- id=79;
- type="O_MRAP_02_F";
- };
- class Item80
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2610.9114,7.4435053,1342.0503};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehCSAT_CAR4";
- textures="Hex";
- };
- id=80;
- type="O_MRAP_02_F";
- };
- class Item81
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.1245,7.6859746,652.05188};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_IFV1";
- };
- id=81;
- type="I_APC_tracked_03_cannon_F";
- atlOffset=0.19695234;
- };
- class Item82
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.3257,7.4890223,649.7052};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear; this disableTIEquipment true;";
- name="VehAAF_IFV2";
- };
- id=82;
- type="I_APC_tracked_03_cannon_F";
- };
- class Item83
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1611.853,6.8319178,753.23547};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehAAF_CAR3";
- };
- id=83;
- type="I_MRAP_03_F";
- };
- class Item84
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1613.3022,6.8319178,725.57043};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehAAF_CAR4";
- };
- id=84;
- type="I_MRAP_03_F";
- };
- class Item85
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={448.18198,7.1644082,686.50494};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear";
- name="VehFIA_IFV1";
- textures="Guerilla_07";
- };
- id=85;
- type="B_G_Offroad_01_armed_F";
- };
- class Item86
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.90561,7.1644082,686.42194};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this] call f_fnc_assignGear";
- name="VehFIA_IFV2";
- textures="Guerilla_07";
- };
- id=86;
- type="B_G_Offroad_01_armed_F";
- };
- class Item87
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={535.95642,6.8716264,767.56049};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR4";
- textures="Guerilla_04";
- };
- id=87;
- type="B_G_Van_01_transport_F";
- };
- class Item88
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={566.30212,6.8716264,772.56244};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR5";
- textures="Guerilla_04";
- };
- id=88;
- type="B_G_Van_01_transport_F";
- };
- class Item89
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={575.16443,6.8716264,767.05365};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehFIA_TR6";
- textures="Guerilla_04";
- };
- id=89;
- type="B_G_Van_01_transport_F";
- };
- class Item90
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2281.6389,5.3882694,729.50195};
- };
- init="this addEventHandler ['CuratorObjectPlaced',{{[_x] call f_fnc_setAISKill} forEach crew(_this select 1)}];this addCuratorEditableObjects [playableUnits,true];";
- id=106;
- type="ModuleCurator_F";
- atlOffset=0.38826942;
- class CustomAttributes
- {
- class Attribute0
- {
- property="ModuleCurator_F_Owner";
- expression="_this setVariable ['Owner',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="F3_Zeus";
- };
- };
- };
- class Attribute1
- {
- property="ModuleCurator_F_Forced";
- expression="_this setVariable ['Forced',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- class Attribute2
- {
- property="ModuleCurator_F_Name";
- expression="_this setVariable ['Name',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute3
- {
- property="ModuleInfo";
- expression="false";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "BOOL"
- };
- };
- value=1;
- };
- };
- };
- class Attribute4
- {
- property="ModuleCurator_F_Addons";
- expression="_this setVariable ['Addons',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=2;
- };
- };
- };
- nAttributes=5;
- };
- };
- class Item91
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2282.2229,5.3580265,718.42773};
- };
- init="this addEventHandler ['CuratorObjectPlaced',{{[_x] call f_fnc_setAISKill} forEach crew(_this select 1)}];this addCuratorEditableObjects [playableUnits,true];";
- id=107;
- type="ModuleCurator_F";
- atlOffset=0.3580265;
- class CustomAttributes
- {
- class Attribute0
- {
- property="ModuleCurator_F_Owner";
- expression="_this setVariable ['Owner',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="F3_Zeus_1";
- };
- };
- };
- class Attribute1
- {
- property="ModuleCurator_F_Forced";
- expression="_this setVariable ['Forced',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- class Attribute2
- {
- property="ModuleCurator_F_Name";
- expression="_this setVariable ['Name',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute3
- {
- property="ModuleInfo";
- expression="false";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "BOOL"
- };
- };
- value=1;
- };
- };
- };
- class Attribute4
- {
- property="ModuleCurator_F_Addons";
- expression="_this setVariable ['Addons',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=2;
- };
- };
- };
- nAttributes=5;
- };
- };
- class Item92
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2282.3342,5.6426582,707.78223};
- };
- init="this addEventHandler ['CuratorObjectPlaced',{{[_x] call f_fnc_setAISKill} forEach crew(_this select 1)}];this addCuratorEditableObjects [playableUnits,true];";
- id=108;
- type="ModuleCurator_F";
- atlOffset=0.64265823;
- class CustomAttributes
- {
- class Attribute0
- {
- property="ModuleCurator_F_Owner";
- expression="_this setVariable ['Owner',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="F3_Zeus_2";
- };
- };
- };
- class Attribute1
- {
- property="ModuleCurator_F_Forced";
- expression="_this setVariable ['Forced',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- class Attribute2
- {
- property="ModuleCurator_F_Name";
- expression="_this setVariable ['Name',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute3
- {
- property="ModuleInfo";
- expression="false";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "BOOL"
- };
- };
- value=1;
- };
- };
- };
- class Attribute4
- {
- property="ModuleCurator_F_Addons";
- expression="_this setVariable ['Addons',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=2;
- };
- };
- };
- nAttributes=5;
- };
- };
- class Item93
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2284.1614,6.0756798,697.16992};
- };
- init="this addEventHandler ['CuratorObjectPlaced',{{[_x] call f_fnc_setAISKill} forEach crew(_this select 1)}];this addCuratorEditableObjects [playableUnits,true];";
- id=109;
- type="ModuleCurator_F";
- atlOffset=1.0756798;
- class CustomAttributes
- {
- class Attribute0
- {
- property="ModuleCurator_F_Owner";
- expression="_this setVariable ['Owner',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="F3_Zeus_3";
- };
- };
- };
- class Attribute1
- {
- property="ModuleCurator_F_Forced";
- expression="_this setVariable ['Forced',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- class Attribute2
- {
- property="ModuleCurator_F_Name";
- expression="_this setVariable ['Name',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute3
- {
- property="ModuleInfo";
- expression="false";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "BOOL"
- };
- };
- value=1;
- };
- };
- };
- class Attribute4
- {
- property="ModuleCurator_F_Addons";
- expression="_this setVariable ['Addons',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=2;
- };
- };
- };
- nAttributes=5;
- };
- };
- class Item94
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={411.01968,5,1370.0654};
- };
- id=110;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item95
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={408.35269,5.0014391,1364.9382};
- };
- side="West";
- flags=6;
- class Attributes
- {
- };
- id=115;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=115;
- item1=114;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=113;
- };
- class Item96
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={408.35269,5.7216258,1364.8878};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=114;
- type="B_Mortar_01_F";
- };
- class Item97
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.13589,5.0014391,1363.7788};
- };
- side="West";
- flags=6;
- class Attributes
- {
- };
- id=118;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.13589,5.0014391,1363.7788};
- };
- side="West";
- flags=4;
- class Attributes
- {
- };
- id=119;
- type="B_Helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=118;
- item1=117;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=119;
- item1=117;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=116;
- };
- class Item98
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.13589,6.4002423,1363.7296};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=117;
- type="B_Heli_Light_01_armed_F";
- };
- class Item99
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={429.65366,5.4784107,754.7207};
- };
- id=120;
- type="SupportRequester";
- atlOffset=0.47841072;
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item100
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={427.57455,5.3587284,749.52301};
- };
- side="West";
- flags=2;
- class Attributes
- {
- };
- id=125;
- type="B_Soldier_F";
- atlOffset=0.35728931;
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=125;
- item1=124;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=123;
- atlOffset=0.35728931;
- };
- class Item101
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={427.57455,6.0789151,749.47266};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- };
- id=124;
- type="B_Mortar_01_F";
- atlOffset=0.35728931;
- };
- class Item102
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.92221,5.3898754,748.29926};
- };
- side="West";
- flags=2;
- class Attributes
- {
- };
- id=128;
- type="B_Helipilot_F";
- atlOffset=0.38843632;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.92221,5.3898754,748.29926};
- };
- side="West";
- class Attributes
- {
- };
- id=129;
- type="B_Helipilot_F";
- atlOffset=0.38843632;
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=128;
- item1=127;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=129;
- item1=127;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=126;
- atlOffset=0.38843632;
- };
- class Item103
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.92221,6.7886786,748.25006};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- };
- id=127;
- type="B_Heli_Light_01_armed_F";
- atlOffset=0.38843632;
- };
- class Item104
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={430.49057,5.8319387,730.8916};
- };
- id=130;
- type="SupportRequester";
- atlOffset=0.83193874;
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item105
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={428.43491,5.7404861,725.74664};
- };
- side="West";
- flags=2;
- class Attributes
- {
- };
- id=135;
- type="B_Soldier_F";
- atlOffset=0.73904705;
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=135;
- item1=134;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=133;
- atlOffset=0.73904705;
- };
- class Item106
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={428.43491,6.4606729,725.69629};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- };
- id=134;
- type="B_Mortar_01_F";
- atlOffset=0.73904705;
- };
- class Item107
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.80014,5.5899277,724.50336};
- };
- side="West";
- flags=2;
- class Attributes
- {
- };
- id=138;
- type="B_Helipilot_F";
- atlOffset=0.58848858;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.80014,5.5899277,724.50336};
- };
- side="West";
- class Attributes
- {
- };
- id=139;
- type="B_Helipilot_F";
- atlOffset=0.58848858;
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=138;
- item1=137;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=139;
- item1=137;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=136;
- atlOffset=0.58848858;
- };
- class Item108
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.80014,6.9887309,724.45416};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- };
- id=137;
- type="B_Heli_Light_01_armed_F";
- atlOffset=0.58848858;
- };
- class Item109
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2352.8674,5,1375.1069};
- };
- id=140;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item110
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2355.2317,5.0014391,1368.4746};
- };
- side="East";
- flags=6;
- class Attributes
- {
- };
- id=145;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2355.2317,5.0014391,1368.4746};
- };
- side="East";
- flags=4;
- class Attributes
- {
- };
- id=146;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=145;
- item1=144;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=146;
- item1=144;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=143;
- };
- class Item111
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2355.2317,7.1696463,1368.314};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- textures="Opfor";
- };
- id=144;
- type="O_Heli_Light_02_v2_F";
- };
- class Item112
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2350.7874,5.0014391,1368.7529};
- };
- side="East";
- flags=6;
- class Attributes
- {
- };
- id=149;
- type="O_Soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=149;
- item1=148;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=147;
- };
- class Item113
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2350.7874,5.7216258,1368.7026};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=148;
- type="O_Mortar_01_F";
- };
- class Item114
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2353.8879,5,1349.772};
- };
- id=150;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item115
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2356.1008,5.0014391,1343.0537};
- };
- side="East";
- flags=6;
- class Attributes
- {
- };
- id=155;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2356.1008,5.0014391,1343.0537};
- };
- side="East";
- flags=4;
- class Attributes
- {
- };
- id=156;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=155;
- item1=154;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=156;
- item1=154;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=153;
- };
- class Item116
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2356.1008,7.1696463,1342.8931};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- textures="Opfor";
- };
- id=154;
- type="O_Heli_Light_02_v2_F";
- };
- class Item117
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2351.9036,5.0014391,1343.4551};
- };
- side="East";
- flags=6;
- class Attributes
- {
- };
- id=159;
- type="O_Soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=159;
- item1=158;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=157;
- };
- class Item118
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2351.9036,5.7216258,1343.4048};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=158;
- type="O_Mortar_01_F";
- };
- class Item119
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1384.1157,5,761.96008};
- };
- id=160;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item120
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.1177,5.0014391,755.87048};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=165;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.1177,5.0014391,755.87048};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- };
- id=166;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=165;
- item1=164;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=166;
- item1=164;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=163;
- };
- class Item121
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.1177,6.5310755,755.82043};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=164;
- type="I_Heli_light_03_F";
- };
- class Item122
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1382.0044,5.0014391,755.89136};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=169;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=169;
- item1=168;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=167;
- };
- class Item123
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1382.0044,5.7216258,755.84094};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=168;
- type="I_Mortar_01_F";
- };
- class Item124
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1384.5522,5,732.03235};
- };
- id=170;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item125
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.6372,5.0014391,725.99646};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=175;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.6372,5.0014391,725.99646};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- };
- id=176;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=175;
- item1=174;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=176;
- item1=174;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=173;
- };
- class Item126
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1386.6372,6.5310755,725.94641};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=174;
- type="I_Heli_light_03_F";
- };
- class Item127
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1382.479,5.0014391,725.98999};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=179;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=179;
- item1=178;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=177;
- };
- class Item128
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1382.479,5.7216258,725.93958};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=178;
- type="I_Mortar_01_F";
- };
- class Item129
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={411.24136,5,1347.6611};
- };
- id=180;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item130
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={409.20523,5.0014391,1342.4988};
- };
- side="West";
- flags=6;
- class Attributes
- {
- };
- id=185;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=185;
- item1=184;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=183;
- };
- class Item131
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={409.20523,5.7216258,1342.4484};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=184;
- type="B_Mortar_01_F";
- };
- class Item132
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.58804,5.0014391,1341.3022};
- };
- side="West";
- flags=6;
- class Attributes
- {
- };
- id=188;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.58804,5.0014391,1341.3022};
- };
- side="West";
- flags=4;
- class Attributes
- {
- };
- id=189;
- type="B_Helipilot_F";
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=188;
- item1=187;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=189;
- item1=187;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=186;
- };
- class Item133
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={413.58804,6.4002423,1341.2531};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=187;
- type="B_Heli_Light_01_armed_F";
- };
- class Item134
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={425.25861,5.0014391,1363.5155};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="COLONEL";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitNATO_CO";
- description="NATO Commander";
- isPlayable=1;
- };
- id=191;
- type="B_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.25861,5.0014391,1361.8661};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitNATO_CO_JTAC";
- description="NATO JTAC";
- isPlayable=1;
- };
- id=192;
- type="B_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={420.25861,5.0014391,1361.8661};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitNATO_CO_UAV";
- description="NATO UAV Operator";
- isPlayable=1;
- };
- id=193;
- type="B_soldier_UAV_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={435.25861,5.0014391,1359.1268};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitNATO_CO_M";
- description="NATO Medic";
- isPlayable=1;
- };
- id=194;
- type="B_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpNATO_CO";
- };
- id=190;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item135
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.38492,5.0014391,1351.1897};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="MAJOR";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitNATO_DC";
- description="NATO Deputy Commander";
- isPlayable=1;
- };
- id=196;
- type="B_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={435.38492,5.0014391,1349.5393};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitNATO_DC_JTAC";
- description="NATO JTAC";
- isPlayable=1;
- };
- id=197;
- type="B_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={425.38492,5.0014391,1349.5393};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitNATO_DC_UAV";
- description="NATO UAV Operator";
- isPlayable=1;
- };
- id=198;
- type="B_soldier_UAV_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={440.38492,5.0014391,1346.8};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitNATO_DC_M";
- description="NATO Medic";
- isPlayable=1;
- };
- id=199;
- type="B_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpNATO_DC";
- };
- id=195;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item136
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.17886,5.0014391,1304.6467};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_COV_C";
- description="NATO Command Vehicle Commander";
- isPlayable=1;
- };
- id=201;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.17886,5.0014391,1304.6467};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_COV_G";
- description="NATO Command Vehicle Gunner";
- isPlayable=1;
- };
- id=202;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.17886,5.0014391,1304.6467};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_COV_D";
- description="NATO Command Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=203;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_COV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=201;
- item1=13;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=202;
- item1=13;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=203;
- item1=13;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=200;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO COV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item137
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={469.71011,5.0014391,1372.1106};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitNATO_ASL_SL";
- description="NATO Alpha Squad Leader";
- isPlayable=1;
- };
- id=205;
- type="B_Soldier_SL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={474.71011,5.0014391,1370.4602};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitNATO_ASL_M";
- description="NATO Alpha Medic";
- isPlayable=1;
- };
- id=206;
- type="B_medic_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_ASL";
- };
- id=204;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO ASL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item138
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={469.50504,5.0014391,1350.5276};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_FTL";
- description="NATO Alpha 1 Fire Team Leader";
- isPlayable=1;
- };
- id=208;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={474.50504,5.0014391,1348.8772};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_AR1";
- description="NATO Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=209;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={464.50504,5.0014391,1348.8772};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_AR2";
- description="NATO Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=210;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={479.50504,5.0014391,1346.1379};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_AT";
- description="NATO Alpha 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=211;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={459.50504,5.0014391,1346.1379};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_R1";
- description="NATO Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=212;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={484.50504,5.0014391,1341.5911};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A1_R2";
- description="NATO Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=213;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_A1";
- };
- id=207;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO A1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item139
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={469.71109,5.0014391,1326.9739};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_FTL";
- description="NATO Alpha 2 Fire Team Leader";
- isPlayable=1;
- };
- id=215;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={474.71109,5.0014391,1325.3235};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_AR1";
- description="NATO Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=216;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={464.71109,5.0014391,1325.3235};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_AR2";
- description="NATO Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=217;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={479.71109,5.0014391,1322.5842};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_AT";
- description="NATO Alpha 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=218;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={459.71109,5.0014391,1322.5842};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_R1";
- description="NATO Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=219;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={484.71109,5.0014391,1318.0374};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_A2_R2";
- description="NATO Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=220;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_A2";
- };
- id=214;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO A2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item140
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.42007,5.0014391,1304.22};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_AV_C";
- description="NATO Alpha Vehicle Commander";
- isPlayable=1;
- };
- id=222;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.42007,5.0014391,1304.22};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_AV_G";
- description="NATO Alpha Vehicle Gunner";
- isPlayable=1;
- };
- id=223;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.42007,5.0014391,1304.22};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_AV_D";
- description="NATO Alpha Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=224;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_AV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=222;
- item1=10;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=223;
- item1=10;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=224;
- item1=10;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=221;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO AV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item141
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={515.86633,5.0014391,1371.6272};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitNATO_BSL_SL";
- description="NATO Bravo Squad Leader";
- isPlayable=1;
- };
- id=226;
- type="B_Soldier_SL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={520.86633,5.0014391,1369.9768};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitNATO_BSL_M";
- description="NATO Bravo Medic";
- isPlayable=1;
- };
- id=227;
- type="B_medic_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_BSL";
- };
- id=225;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO BSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item142
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={515.87219,5.0014391,1349.8528};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_FTL";
- description="NATO Bravo 1 Fire Team Leader";
- isPlayable=1;
- };
- id=229;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={520.87219,5.0014391,1348.2024};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_AR1";
- description="NATO Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=230;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.87222,5.0014391,1348.2024};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_AR2";
- description="NATO Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=231;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={525.87219,5.0014391,1345.4631};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_AT";
- description="NATO Bravo 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=232;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={505.87222,5.0014391,1345.4631};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_R1";
- description="NATO Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=233;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={530.87219,5.0014391,1340.9163};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B1_R2";
- description="NATO Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=234;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_B1";
- };
- id=228;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO B1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item143
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={515.69153,5.0014391,1326.2991};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_FTL";
- description="NATO Bravo 2 Fire Team Leader";
- isPlayable=1;
- };
- id=236;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={520.69153,5.0014391,1324.6487};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_AR1";
- description="NATO Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=237;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.69156,5.0014391,1324.6487};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_AR2";
- description="NATO Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=238;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={525.69153,5.0014391,1321.9094};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_AT";
- description="NATO Bravo 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=239;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={505.69156,5.0014391,1321.9094};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_R1";
- description="NATO Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=240;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={530.69153,5.0014391,1317.3625};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_B2_R2";
- description="NATO Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=241;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_B2";
- };
- id=235;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO B2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item144
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={517.84583,5.0014391,1301.2805};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_BV_C";
- description="NATO Bravo Vehicle Commander";
- isPlayable=1;
- };
- id=243;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={517.84583,5.0014391,1301.2805};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_BV_G";
- description="NATO Bravo Vehicle Gunner";
- isPlayable=1;
- };
- id=244;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={517.84583,5.0014391,1301.2805};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_BV_D";
- description="NATO Bravo Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=245;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_BV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=243;
- item1=11;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=244;
- item1=11;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=245;
- item1=11;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=242;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO BV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item145
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={558.87317,5.0014391,1372.5715};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitNATO_CSL_SL";
- description="NATO Charlie Squad Leader";
- isPlayable=1;
- };
- id=247;
- type="B_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.87317,5.0014391,1370.9231};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitNATO_CSL_M";
- description="NATO Charlie Medic";
- isPlayable=1;
- };
- id=248;
- type="B_medic_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_CSL";
- };
- id=246;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO CSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item146
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={558.73254,5.0014391,1350.0002};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_FTL";
- description="NATO Charlie 1 Fire Team Leader";
- isPlayable=1;
- };
- id=250;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.73254,5.0014391,1348.3499};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_AR1";
- description="NATO Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=251;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={553.73254,5.0014391,1348.3499};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_AR2";
- description="NATO Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=252;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={568.73254,5.0014391,1345.6106};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_AT";
- description="NATO Charlie 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=253;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={548.73254,5.0014391,1345.6106};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_R1";
- description="NATO Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=254;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={573.73254,5.0014391,1341.0637};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C1_R2";
- description="NATO Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=255;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_C1";
- };
- id=249;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO C1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item147
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={559.41809,5.0014391,1326.5735};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_FTL";
- description="NATO Charlie 2 Fire Team Leader";
- isPlayable=1;
- };
- id=257;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={564.41809,5.0014391,1324.9231};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_AR1";
- description="NATO Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=258;
- type="B_soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={554.41809,5.0014391,1324.9231};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_AR2";
- description="NATO Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=259;
- type="B_soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={569.41809,5.0014391,1322.1838};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_AT";
- description="NATO Charlie 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=260;
- type="B_soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={549.41809,5.0014391,1322.1838};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_R1";
- description="NATO Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=261;
- type="B_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={574.41809,5.0014391,1317.636};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitNATO_C2_R2";
- description="NATO Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=262;
- type="B_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_C2";
- };
- id=256;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO C2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item148
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={560.05579,5.0014391,1302.509};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_CV_C";
- description="NATO Charlie Vehicle Commander";
- isPlayable=1;
- };
- id=264;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={560.05579,5.0014391,1302.509};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_CV_G";
- description="NATO Charlie Vehicle Gunner";
- isPlayable=1;
- };
- id=265;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={560.05579,5.0014391,1302.509};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_CV_D";
- description="NATO Charlie Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=266;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_CV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=264;
- item1=12;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=265;
- item1=12;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=266;
- item1=12;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=263;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO CV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item149
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.67786,5.0014391,1372.7942};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitNATO_MMG1_AG";
- description="NATO Medium MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=268;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.67786,5.0014391,1371.1438};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitNATO_MMG1_G";
- description="NATO Medium MG Team 1 Gunner";
- isPlayable=1;
- };
- id=269;
- type="B_soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_MMG1";
- };
- id=267;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item150
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.31165,5.0014391,1361.0022};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitNATO_MMG2_AG";
- description="NATO Medium MG Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=271;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.31165,5.0014391,1359.3518};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitNATO_MMG2_G";
- description="NATO Medium MG Team 2 Gunner";
- isPlayable=1;
- };
- id=272;
- type="B_soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_MMG2";
- };
- id=270;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MMG2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item151
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.51672,5.0014391,1349.5032};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MAT1_AG";
- description="NATO Medium AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=274;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.51672,5.0372052,1347.8528};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MAT1_G";
- description="NATO Medium AT Team 1 Gunner";
- isPlayable=1;
- };
- id=275;
- type="B_soldier_AT_F";
- atlOffset=0.035766125;
- };
- };
- class Attributes
- {
- name="GrpNATO_MAT1";
- };
- id=273;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item152
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.82825,5.0014391,1337.9661};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MAT2_AG";
- description="NATO Medium AT Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=277;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.82825,5.0014391,1336.3157};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MAT2_G";
- description="NATO Medium AT Team 2 Gunner";
- isPlayable=1;
- };
- id=278;
- type="B_soldier_AT_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_MAT2";
- };
- id=276;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MAT2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item153
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.53235,5.0014391,1325.4583};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hmgag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HMG1_AG";
- description="NATO Heavy MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=280;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.53235,5.0014391,1323.8079};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hmgg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HMG1_G";
- description="NATO Heavy MG Team 1 Gunner";
- isPlayable=1;
- };
- id=281;
- type="B_support_MG_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_HMG1";
- };
- id=279;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO HMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item154
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.42981,5.0014391,1314.5901};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hatag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HAT1_AG";
- description="NATO Heavy AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=283;
- type="B_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.42981,5.0014391,1312.9397};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""hatg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HAT1_G";
- description="NATO Heavy AT Team 1 Gunner";
- isPlayable=1;
- };
- id=284;
- type="B_soldier_AT_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_HAT1";
- };
- id=282;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO HAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item155
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.72571,5.5986366,1302.717};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mtrag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MTR1_AG";
- description="NATO Mortar Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=286;
- type="B_support_AMort_F";
- atlOffset=0.59719753;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.72571,5.6381588,1301.0667};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""mtrg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MTR1_G";
- description="NATO Mortar Team 1 Gunner";
- isPlayable=1;
- };
- id=287;
- type="B_support_Mort_F";
- atlOffset=0.6367197;
- };
- };
- class Attributes
- {
- name="GrpNATO_MTR1";
- };
- id=285;
- atlOffset=0.59719753;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MTR1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item156
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.65149,5.7161484,1290.2786};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""msamag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MSAM1_AG";
- description="NATO Medium SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=289;
- type="B_soldier_AAA_F";
- atlOffset=0.71470928;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.65149,5.791913,1288.6282};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""msamg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_MSAM1_G";
- description="NATO Medium SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=290;
- type="B_soldier_AA_F";
- atlOffset=0.79047394;
- };
- };
- class Attributes
- {
- name="GrpNATO_MSAM1";
- };
- id=288;
- atlOffset=0.71470928;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO MSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item157
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.7384,5.7222595,1277.7756};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hsamag"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HSAM1_AG";
- description="NATO Heavy SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=292;
- type="B_soldier_AAA_F";
- atlOffset=0.72082043;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.7384,5.7153502,1276.1252};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""hsamg"",this] call f_fnc_assignGear; ";
- name="UnitNATO_HSAM1_G";
- description="NATO Heavy SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=293;
- type="B_soldier_AA_F";
- atlOffset=0.71391106;
- };
- };
- class Attributes
- {
- name="GrpNATO_HSAM1";
- };
- id=291;
- atlOffset=0.72082043;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO HSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item158
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.7384,5.6523895,1266.6995};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""sp"",this] call f_fnc_assignGear; ";
- name="UnitNATO_ST1_SP";
- description="NATO Sniper Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=295;
- type="B_spotter_F";
- atlOffset=0.65095043;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.7384,5.6546535,1265.0491};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""sn"",this] call f_fnc_assignGear; ";
- name="UnitNATO_ST1_SN";
- description="NATO Sniper Team 1 Sniper";
- isPlayable=1;
- };
- id=296;
- type="B_sniper_F";
- atlOffset=0.65321445;
- };
- };
- class Attributes
- {
- name="GrpNATO_ST1";
- };
- id=294;
- atlOffset=0.65095043;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO ST1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item159
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.41223,5.2708397,1254.4338};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitNATO_ENG1_FTL";
- description="NATO Engineer Team 1 Leader (Demo)";
- isPlayable=1;
- };
- id=298;
- type="B_engineer_F";
- atlOffset=0.2694006;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.41223,5.1099253,1252.7834};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitNATO_ENG1_A1";
- description="NATO Engineer Team 1 Assistant (Demo)";
- isPlayable=1;
- };
- id=299;
- type="B_engineer_F";
- atlOffset=0.10848618;
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={616.41223,5.3070717,1252.7834};
- };
- side="West";
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitNATO_ENG1_A2";
- description="NATO Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=300;
- type="B_engineer_F";
- atlOffset=0.30563259;
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={631.41223,5.0951824,1250.0442};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitNATO_ENG1_A3";
- description="NATO Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=301;
- type="B_engineer_F";
- atlOffset=0.093743324;
- };
- };
- class Attributes
- {
- name="GrpNATO_ENG1";
- };
- id=297;
- atlOffset=0.2694006;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO ENG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item160
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={621.09973,5.0014391,1240.26};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitNATO_DT1_TL";
- description="NATO Diver Team 1 Team Leader";
- isPlayable=1;
- };
- id=303;
- type="B_diver_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={626.09973,5.0014391,1238.6096};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitNATO_DT1_D1";
- description="NATO Diver Team 1 Diver";
- isPlayable=1;
- };
- id=304;
- type="B_diver_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={616.09973,5.0014391,1238.6096};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitNATO_DT1_D2";
- description="NATO Diver Team 1 Diver";
- isPlayable=1;
- };
- id=305;
- type="B_diver_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={631.09973,5.0014391,1235.8704};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitNATO_DT1_D3";
- description="NATO Diver Team 1 Diver";
- isPlayable=1;
- };
- id=306;
- type="B_diver_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_DT1";
- };
- id=302;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO DT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item161
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.91617,5.0014391,1278.9602};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV1_C";
- description="NATO IFV 1 Commander";
- isPlayable=1;
- };
- id=308;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.91617,5.0014391,1278.9602};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV1_G";
- description="NATO IFV 1 Gunner";
- isPlayable=1;
- };
- id=309;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={430.91617,5.0014391,1278.9602};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV1_D";
- description="NATO IFV 1 Driver (Repair)";
- isPlayable=1;
- };
- id=310;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_IFV1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=308;
- item1=73;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=309;
- item1=73;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=310;
- item1=73;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=307;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO IFV1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item162
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.5939,5.0014391,1279.1477};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV2_C";
- description="NATO IFV 2 Commander";
- isPlayable=1;
- };
- id=312;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.5939,5.0014391,1279.1477};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV2_G";
- description="NATO IFV 2 Gunner";
- isPlayable=1;
- };
- id=313;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={470.5939,5.0014391,1279.1477};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_IFV2_D";
- description="NATO IFV 2 Driver (Repair)";
- isPlayable=1;
- };
- id=314;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_IFV2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=312;
- item1=74;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=313;
- item1=74;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=314;
- item1=74;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=311;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO IFV2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item163
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.48157,5.0014391,1279.7727};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TNK1_C";
- description="NATO Tank 1 Commander";
- isPlayable=1;
- };
- id=316;
- type="B_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.48157,5.0014391,1279.7727};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitNATO_TNK1_G";
- description="NATO Tank 1 Gunner";
- isPlayable=1;
- };
- id=317;
- type="B_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.48157,5.0014391,1279.7727};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitNATO_TNK1_D";
- description="NATO Tank 1 Driver (Repair)";
- isPlayable=1;
- };
- id=318;
- type="B_crew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TNK1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=316;
- item1=30;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=317;
- item1=30;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=318;
- item1=30;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=315;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TNK1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item164
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.07535,5.0014391,1248.4297};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH1_P";
- description="NATO Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=320;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.07535,5.0014391,1248.4297};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH1_CP";
- description="NATO Transport Helo 1 Co-Pilot";
- isPlayable=1;
- };
- id=321;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.07535,5.0014391,1248.4297};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH1_G1";
- description="NATO Transport Helo 1 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=322;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.07535,5.0014391,1248.4297};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH1_G2";
- description="NATO Transport Helo 1 Gunner";
- isPlayable=1;
- };
- id=323;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=320;
- item1=0;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=321;
- item1=0;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=322;
- item1=0;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=323;
- item1=0;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=319;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item165
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.47964,5.0014391,1220.6484};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH2_P";
- description="NATO Transport Helo 2 Pilot";
- isPlayable=1;
- };
- id=325;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.47964,5.0014391,1220.6484};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH2_CP";
- description="NATO Transport Helo 2 Co-Pilot";
- isPlayable=1;
- };
- id=326;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.47964,5.0014391,1220.6484};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH2_G1";
- description="NATO Transport Helo 2 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=327;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={432.47964,5.0014391,1220.6484};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH2_G2";
- description="NATO Transport Helo 2 Gunner";
- isPlayable=1;
- };
- id=328;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=325;
- item1=3;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=326;
- item1=3;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=327;
- item1=3;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=328;
- item1=3;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=324;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item166
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={467.55972,5.0014391,1249.0986};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH3_P";
- description="NATO Transport Helo 3 Pilot";
- isPlayable=1;
- };
- id=330;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={467.55972,5.0014391,1249.0986};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH3_CP";
- description="NATO Transport Helo 3 Co-Pilot";
- isPlayable=1;
- };
- id=331;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={467.55972,5.0014391,1249.0986};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH3_G1";
- description="NATO Transport Helo 3 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=332;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={467.55972,5.0014391,1249.0986};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH3_G2";
- description="NATO Transport Helo 3 Gunner";
- isPlayable=1;
- };
- id=333;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH3";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=330;
- item1=4;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=331;
- item1=4;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=332;
- item1=4;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=333;
- item1=4;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=329;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH3 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item167
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={468.41714,5.0014391,1221.5605};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH4_P";
- description="NATO Transport Helo 4 Pilot";
- isPlayable=1;
- };
- id=335;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={468.41714,5.0014391,1221.5605};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH4_CP";
- description="NATO Transport Helo 4 Co-Pilot";
- isPlayable=1;
- };
- id=336;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={468.41714,5.0014391,1221.5605};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH4_G1";
- description="NATO Transport Helo 4 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=337;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={468.41714,5.0014391,1221.5605};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH4_G2";
- description="NATO Transport Helo 4 Gunner";
- isPlayable=1;
- };
- id=338;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH4";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=335;
- item1=5;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=336;
- item1=5;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=337;
- item1=5;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=338;
- item1=5;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=334;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH4 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item168
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.71497,5.0014391,1249.3047};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH5_P";
- description="NATO Transport Helo 5 Pilot";
- isPlayable=1;
- };
- id=340;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.71497,5.0014391,1249.3047};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH5_CP";
- description="NATO Transport Helo 5 Co-Pilot";
- isPlayable=1;
- };
- id=341;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.71497,5.0014391,1249.3047};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH5_G1";
- description="NATO Transport Helo 5 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=342;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.71497,5.0014391,1249.3047};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH5_G2";
- description="NATO Transport Helo 5 Gunner";
- isPlayable=1;
- };
- id=343;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH5";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=340;
- item1=6;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=341;
- item1=6;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=342;
- item1=6;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=343;
- item1=6;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=339;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH5 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item169
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.78723,5.0014391,1221.2979};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH6_P";
- description="NATO Transport Helo 6 Pilot";
- isPlayable=1;
- };
- id=345;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.78723,5.0014391,1221.2979};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH6_CP";
- description="NATO Transport Helo 6 Co-Pilot";
- isPlayable=1;
- };
- id=346;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.78723,5.0014391,1221.2979};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH6_G1";
- description="NATO Transport Helo 6 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=347;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={516.78723,5.0014391,1221.2979};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH6_G2";
- description="NATO Transport Helo 6 Gunner";
- isPlayable=1;
- };
- id=348;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH6";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=345;
- item1=7;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=346;
- item1=7;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=347;
- item1=7;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=348;
- item1=7;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=344;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH6 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item170
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.33704,5.0014391,1249.8828};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH7_P";
- description="NATO Transport Helo 7 Pilot";
- isPlayable=1;
- };
- id=350;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.33704,5.0014391,1249.8828};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH7_CP";
- description="NATO Transport Helo 7 Co-Pilot";
- isPlayable=1;
- };
- id=351;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.33704,5.0014391,1249.8828};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH7_G1";
- description="NATO Transport Helo 7 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=352;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={562.33704,5.0014391,1249.8828};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH7_G2";
- description="NATO Transport Helo 7 Gunner";
- isPlayable=1;
- };
- id=353;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH7";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=350;
- item1=8;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=351;
- item1=8;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=352;
- item1=8;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=353;
- item1=8;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=349;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH7 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item171
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.22864,5.0014391,1222.377};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH8_P";
- description="NATO Transport Helo 8 Pilot";
- isPlayable=1;
- };
- id=355;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.22864,5.0014391,1222.377};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH8_CP";
- description="NATO Transport Helo 8 Co-Pilot";
- isPlayable=1;
- };
- id=356;
- type="B_Helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.22864,5.0014391,1222.377};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH8_G1";
- description="NATO Transport Helo 8 Crew Chief (Repair)";
- isPlayable=1;
- };
- id=357;
- type="B_helicrew_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={563.22864,5.0014391,1222.377};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitNATO_TH8_G2";
- description="NATO Transport Helo 8 Gunner";
- isPlayable=1;
- };
- id=358;
- type="B_helicrew_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_TH8";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=355;
- item1=9;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=356;
- item1=9;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=357;
- item1=9;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=358;
- item1=9;
- class CustomData
- {
- role=2;
- turretPath[]={2};
- };
- };
- };
- };
- id=354;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO TH8 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item172
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.90445,5.0014391,1193.7559};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitNATO_AH1_P";
- description="NATO Attack Helo 1 Pilot";
- isPlayable=1;
- };
- id=360;
- type="B_Helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={431.90445,5.0014391,1193.7559};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitNATO_AH1_CP";
- description="NATO Attack Helo 1 Gunner (Repair)";
- isPlayable=1;
- };
- id=361;
- type="B_Helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpNATO_AH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=360;
- item1=14;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=361;
- item1=14;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=359;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="NATO AH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item173
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2379.9329,5.0014391,1377.0327};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="COLONEL";
- lock="UNLOCKED";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CO";
- description="CSAT Commander";
- isPlayable=1;
- };
- id=368;
- type="O_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2384.9329,5.0014391,1375.3823};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CO_JTAC";
- description="CSAT JTAC";
- isPlayable=1;
- };
- id=369;
- type="O_officer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2374.9329,5.0014391,1375.3823};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CO_UAV";
- description="CSAT UAV Operator";
- isPlayable=1;
- };
- id=370;
- type="O_soldier_UAV_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2389.9329,5.0014391,1372.6421};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CO_M";
- description="CSAT Medic";
- isPlayable=1;
- };
- id=371;
- type="O_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_CO";
- };
- id=367;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item174
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.3215,5.0014391,1352.3208};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="MAJOR";
- lock="UNLOCKED";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_DC";
- description="CSAT Deputy Commander";
- isPlayable=1;
- };
- id=373;
- type="O_officer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2386.3215,5.0014391,1350.6694};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitCSAT_DC_JTAC";
- description="CSAT JTAC";
- isPlayable=1;
- };
- id=374;
- type="O_officer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2376.3215,5.0014391,1350.6694};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitCSAT_DC_UAV";
- description="CSAT UAV Operator";
- isPlayable=1;
- };
- id=375;
- type="O_soldier_UAV_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2391.3215,5.0014391,1347.9312};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitCSAT_DC_M";
- description="CSAT Medic";
- isPlayable=1;
- };
- id=376;
- type="O_medic_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_DC";
- };
- id=372;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item175
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.1594,5.0014391,1301.3689};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_COV_C";
- description="CSAT Command Vehicle Commander";
- isPlayable=1;
- };
- id=378;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.1594,5.0014391,1301.3689};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_COV_G";
- description="CSAT Command Vehicle Gunner";
- isPlayable=1;
- };
- id=379;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.1594,5.0014391,1301.3689};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_COV_D";
- description="CSAT Command Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=380;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_COV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=378;
- item1=25;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=379;
- item1=25;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=380;
- item1=25;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=377;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT COV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item176
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2423.9153,5.0014391,1376.146};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- lock="UNLOCKED";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ASL_SL";
- description="CSAT Alpha Squad Leader";
- isPlayable=1;
- };
- id=382;
- type="O_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2428.9153,5.0014391,1374.4956};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ASL_M";
- description="CSAT Alpha Medic";
- isPlayable=1;
- };
- id=383;
- type="O_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_ASL";
- };
- id=381;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT ASL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item177
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2424.97,5.0014391,1350.8052};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_FTL";
- description="CSAT Alpha 1 Fire Team Leader";
- isPlayable=1;
- };
- id=385;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2429.97,5.0014391,1349.1548};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_AR1";
- description="CSAT Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=386;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2419.97,5.0014391,1349.1548};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_AR2";
- description="CSAT Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=387;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2434.97,5.0014391,1346.4155};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_AT";
- description="CSAT Alpha 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=388;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2414.97,5.0014391,1346.4155};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_R1";
- description="CSAT Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=389;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2439.97,5.0014391,1341.8687};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A1_R2";
- description="CSAT Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=390;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_A1";
- };
- id=384;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT A1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item178
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2425.2102,5.0014391,1324.6548};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_FTL";
- description="CSAT Alpha 2 Fire Team Leader";
- isPlayable=1;
- };
- id=392;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2430.2102,5.0014391,1323.0046};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_AR1";
- description="CSAT Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=393;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2420.2102,5.0014391,1323.0046};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_AR2";
- description="CSAT Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=394;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2435.2102,5.0014391,1320.2654};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_AT";
- description="CSAT Alpha 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=395;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2415.2102,5.0014391,1320.2654};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_R1";
- description="CSAT Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=396;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2440.2102,5.0014391,1315.7175};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_A2_R2";
- description="CSAT Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=397;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_A2";
- };
- id=391;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT A2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item179
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2423.8577,5.0014391,1301.1443};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_AV_C";
- description="CSAT Alpha Vehicle Commander";
- isPlayable=1;
- };
- id=399;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2423.8577,5.0014391,1301.1443};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_AV_G";
- description="CSAT Alpha Vehicle Gunner";
- isPlayable=1;
- };
- id=400;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2423.8577,5.0014391,1301.1443};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_AV_D";
- description="CSAT Alpha Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=401;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_AV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=399;
- item1=26;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=400;
- item1=26;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=401;
- item1=26;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=398;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT AV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item180
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.7698,5.0014391,1376.0884};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- lock="UNLOCKED";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_BSL_SL";
- description="CSAT Bravo Squad Leader";
- isPlayable=1;
- };
- id=403;
- type="O_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2480.7698,5.0014391,1374.438};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitCSAT_BSL_M";
- description="CSAT Bravo Medic";
- isPlayable=1;
- };
- id=404;
- type="O_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_BSL";
- };
- id=402;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT BSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item181
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2476.9465,5.0014391,1350.1851};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_FTL";
- description="CSAT Bravo 1 Fire Team Leader";
- isPlayable=1;
- };
- id=406;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2481.9465,5.0014391,1348.5347};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_AR1";
- description="CSAT Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=407;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2471.9465,5.0014391,1348.5347};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_AR2";
- description="CSAT Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=408;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.05;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2486.9465,5.0014391,1345.7944};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_AT";
- description="CSAT Bravo 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=409;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2466.9465,5.0014391,1345.7944};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_R1";
- description="CSAT Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=410;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2491.9465,5.0014391,1341.2485};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B1_R2";
- description="CSAT Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=411;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_B1";
- };
- id=405;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT B1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item182
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2476.4866,5.0014391,1323.9839};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_FTL";
- description="CSAT Bravo 2 Fire Team Leader";
- isPlayable=1;
- };
- id=413;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2481.4866,5.0014391,1322.3337};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_AR1";
- description="CSAT Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=414;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2471.4866,5.0014391,1322.3337};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_AR2";
- description="CSAT Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=415;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2486.4866,5.0014391,1319.5945};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_AT";
- description="CSAT Bravo 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=416;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2466.4866,5.0014391,1319.5945};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_R1";
- description="CSAT Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=417;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2491.4866,5.0014391,1315.0476};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_B2_R2";
- description="CSAT Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=418;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.05;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_B2";
- };
- id=412;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT B2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item183
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.9973,5.0014391,1300.3562};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_BV_C";
- description="CSAT Bravo Vehicle Commander";
- isPlayable=1;
- };
- id=420;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.9973,5.0014391,1300.3562};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_BV_G";
- description="CSAT Bravo Vehicle Gunner";
- isPlayable=1;
- };
- id=421;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2475.9973,5.0014391,1300.3562};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_BV_D";
- description="CSAT Bravo Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=422;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_BV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=420;
- item1=27;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=421;
- item1=27;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=422;
- item1=27;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=419;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT BV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item184
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.0129,5.0014391,1376.1772};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- lock="UNLOCKED";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CSL_SL";
- description="CSAT Charlie Squad Leader";
- isPlayable=1;
- };
- id=424;
- type="O_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.0129,5.0014391,1374.5269};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CSL_M";
- description="CSAT Charlie Medic";
- isPlayable=1;
- };
- id=425;
- type="O_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_CSL";
- };
- id=423;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT CSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item185
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.8049,5.0014391,1350.1948};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_FTL";
- description="CSAT Charlie 1 Fire Team Leader";
- isPlayable=1;
- };
- id=427;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.8049,5.0014391,1348.5444};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_AR1";
- description="CSAT Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=428;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2524.8049,5.0014391,1348.5444};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_AR2";
- description="CSAT Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=429;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2539.8049,5.0014391,1345.8052};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_AT";
- description="CSAT Charlie 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=430;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2519.8049,5.0014391,1345.8052};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_R1";
- description="CSAT Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=431;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2544.8049,5.0014391,1341.2583};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C1_R2";
- description="CSAT Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=432;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.05;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_C1";
- };
- id=426;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT C1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item186
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.5588,5.0014391,1324.356};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- lock="UNLOCKED";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_FTL";
- description="CSAT Charlie 2 Fire Team Leader";
- isPlayable=1;
- };
- id=434;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.5588,5.0014391,1322.7058};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_AR1";
- description="CSAT Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=435;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2524.5588,5.0014391,1322.7058};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- lock="UNLOCKED";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_AR2";
- description="CSAT Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=436;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2539.5588,5.0014391,1319.9666};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_AT";
- description="CSAT Charlie 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=437;
- type="O_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2519.5588,5.0014391,1319.9666};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_R1";
- description="CSAT Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=438;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2544.5588,5.0014391,1315.4197};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitCSAT_C2_R2";
- description="CSAT Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=439;
- type="O_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_C2";
- };
- id=433;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT C2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item187
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.1165,5.0014391,1300.1658};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CV_C";
- description="CSAT Charlie Vehicle Commander";
- isPlayable=1;
- };
- id=441;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.1165,5.0014391,1300.1658};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CV_G";
- description="CSAT Charlie Vehicle Gunner";
- isPlayable=1;
- };
- id=442;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2529.1165,5.0014391,1300.1658};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_CV_D";
- description="CSAT Charlie Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=443;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_CV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=441;
- item1=28;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item1
- {
- linkID=1;
- item0=442;
- item1=28;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=443;
- item1=28;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=440;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT CV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item188
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.7317,5.0014391,1375.5728};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MMG1_AG";
- description="CSAT Medium MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=445;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.7317,5.0014391,1373.9224};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MMG1_G";
- description="CSAT Medium MG Team 1 Gunner";
- isPlayable=1;
- };
- id=446;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MMG1";
- };
- id=444;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item189
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.9475,5.0014391,1361.355};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- lock="UNLOCKED";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MMG2_AG";
- description="CSAT Medium MG Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=448;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.9475,5.0014391,1359.7046};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- lock="UNLOCKED";
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MMG2_G";
- description="CSAT Medium MG Team 2 Gunner";
- isPlayable=1;
- };
- id=449;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MMG2";
- };
- id=447;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MMG2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item190
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.6252,5.0014391,1349.7603};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MAT1_AG";
- description="CSAT Medium AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=451;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.6252,5.0014391,1348.1099};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MAT1_G";
- description="CSAT Medium AT Team 1 Gunner";
- isPlayable=1;
- };
- id=452;
- type="O_Soldier_AT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MAT1";
- };
- id=450;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item191
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2596.1155,5.0014391,1336.8003};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_MAT2_AG";
- description="CSAT Medium AT Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=454;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2601.1155,5.0014391,1335.1499};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MAT2_G";
- description="CSAT Medium AT Team 2 Gunner";
- isPlayable=1;
- };
- id=455;
- type="O_Soldier_AT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MAT2";
- };
- id=453;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MAT2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item192
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.8782,5.0014391,1324.9253};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hmgag"",this] call f_fnc_assignGear;";
- name="UnitCSAT_HMG1_AG";
- description="CSAT Heavy MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=457;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.8782,5.0014391,1323.2751};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hmgg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_HMG1_G";
- description="CSAT Heavy MG Team 1 Gunner";
- isPlayable=1;
- };
- id=458;
- type="O_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_HMG1";
- };
- id=456;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT HMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item193
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.6624,5.0014391,1312.0134};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hatag"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_HAT1_AG";
- description="CSAT Heavy AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=460;
- type="O_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.6624,5.0014391,1310.363};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hatg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_HAT1_G";
- description="CSAT Heavy AT Team 1 Gunner";
- isPlayable=1;
- };
- id=461;
- type="O_Soldier_AT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_HAT1";
- };
- id=459;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT HAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item194
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.7024,5.0014391,1300.0876};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mtrag"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_MTR1_AG";
- description="CSAT Mortar Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=463;
- type="O_support_AMort_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.7024,5.0014391,1298.4373};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mtrg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MTR1_G";
- description="CSAT Mortar Team 1 Gunner";
- isPlayable=1;
- };
- id=464;
- type="O_support_Mort_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MTR1";
- };
- id=462;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MTR1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item195
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2596.1624,5.0014391,1288.1716};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""msamag"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_MSAM1_AG";
- description="CSAT Medium SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=466;
- type="O_Soldier_AAA_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2601.1624,5.0014391,1286.5212};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""msamg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_MSAM1_G";
- description="CSAT Medium SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=467;
- type="O_Soldier_AA_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_MSAM1";
- };
- id=465;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT MSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item196
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2596.0227,5.0014391,1274.8455};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hsamag"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_HSAM1_AG";
- description="CSAT Heavy SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=469;
- type="O_Soldier_AAA_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2601.0227,5.0014391,1273.196};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hsamg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_HSAM1_G";
- description="CSAT Heavy SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=470;
- type="O_Soldier_AA_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_HSAM1";
- };
- id=468;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT HSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item197
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.8958,5.0014391,1263.8103};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""sp"",this] call f_fnc_assignGear; ";
- name="UnitCSAT_ST1_SP";
- description="CSAT Sniper Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=472;
- type="O_spotter_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.8958,5.0014391,1262.1599};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""sn"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ST1_SN";
- description="CSAT Sniper Team 1 Sniper";
- isPlayable=1;
- };
- id=473;
- type="O_sniper_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_ST1";
- };
- id=471;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT ST1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item198
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2596.345,5.0014391,1251.0388};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ENG1_FTL";
- description="CSAT Engineer Team 1 Leader (Demo)";
- isPlayable=1;
- };
- id=475;
- type="O_engineer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2601.345,5.0014391,1249.3884};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ENG1_A1";
- description="CSAT Engineer Team 1 Assistant (Demo)";
- isPlayable=1;
- };
- id=476;
- type="O_engineer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2591.345,5.0014391,1249.3884};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ENG1_A2";
- description="CSAT Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=477;
- type="O_engineer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2606.345,5.0014391,1246.6492};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitCSAT_ENG1_A3";
- description="CSAT Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=478;
- type="O_engineer_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_ENG1";
- };
- id=474;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT ENG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item199
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2595.7639,5.0014391,1237.9285};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitCSAT_DT1_TL";
- description="CSAT Diver Team 1 Team Leader";
- isPlayable=1;
- };
- id=480;
- type="O_diver_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2600.7639,5.0014391,1236.2791};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitCSAT_DT1_D1";
- description="CSAT Diver Team 1 Diver";
- isPlayable=1;
- };
- id=481;
- type="O_diver_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2590.7639,5.0014391,1236.2791};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitCSAT_DT1_D2";
- description="CSAT Diver Team 1 Diver";
- isPlayable=1;
- };
- id=482;
- type="O_diver_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2605.7639,5.0014391,1233.5398};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitCSAT_DT1_D3";
- description="CSAT Diver Team 1 Diver";
- isPlayable=1;
- };
- id=483;
- type="O_diver_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_DT1";
- };
- id=479;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT DT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item200
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.4866,5.0014391,1276.0164};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV1_C";
- description="CSAT IFV 1 Commander";
- isPlayable=1;
- };
- id=485;
- type="O_crew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.4866,5.0014391,1276.0164};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV1_G";
- description="CSAT IFV 1 Gunner";
- isPlayable=1;
- };
- id=486;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2381.4866,5.0014391,1276.0164};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV1_D";
- description="CSAT IFV 1 Driver (Repair)";
- isPlayable=1;
- };
- id=487;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_IFV1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=485;
- item1=77;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=486;
- item1=77;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=487;
- item1=77;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=484;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT IFV1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item201
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.5959,5.0014391,1276.3611};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV2_C";
- description="CSAT IFV 2 Commander";
- isPlayable=1;
- };
- id=489;
- type="O_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.5959,5.0014391,1276.3611};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV2_G";
- description="CSAT IFV2 Gunner";
- isPlayable=1;
- };
- id=490;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.5959,5.0014391,1276.3611};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_IFV2_D";
- description="CSAT IFV 2 Driver (Repair)";
- isPlayable=1;
- };
- id=491;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_IFV2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=489;
- item1=78;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=490;
- item1=78;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=491;
- item1=78;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=488;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT IFV2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item202
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.0383,5.0014391,1274.8718};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TNK1_C";
- description="CSAT Tank 1 Commander";
- isPlayable=1;
- };
- id=493;
- type="O_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.0383,5.0014391,1274.8718};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TNK1_G";
- description="CSAT Tank 1 Gunner";
- isPlayable=1;
- };
- id=494;
- type="O_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.0383,5.0014391,1274.8718};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TNK1_D";
- description="CSAT Tank 1 Driver (Repair)";
- isPlayable=1;
- };
- id=495;
- type="O_crew_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TNK1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=493;
- item1=35;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=494;
- item1=35;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=495;
- item1=35;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=492;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TNK1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item203
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2379.1594,5.0014391,1254.6062};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH1_P";
- description="CSAT Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=497;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2379.1594,5.0014391,1254.6062};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH1_CP";
- description="CSAT Transport Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=498;
- type="O_helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2379.1594,5.0014391,1254.6062};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH1_LM";
- description="CSAT Transport Helo 1 Loadmaster";
- isPlayable=1;
- };
- id=499;
- type="O_helicrew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=497;
- item1=1;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=498;
- item1=1;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=499;
- item1=1;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- };
- };
- id=496;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item204
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2380.8411,5.0014391,1224.6824};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH2_P";
- description="CSAT Transport Helo 2 Pilot";
- isPlayable=1;
- };
- id=501;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2380.8411,5.0014391,1224.6824};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH2_CP";
- description="CSAT Transport Helo 2 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=502;
- type="O_helipilot_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2380.8411,5.0014391,1224.6824};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""pc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH2_LM";
- description="CSAT Transport Helo 2 Loadmaster";
- isPlayable=1;
- };
- id=503;
- type="O_helicrew_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=501;
- item1=18;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=502;
- item1=18;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=503;
- item1=18;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- };
- };
- id=500;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item205
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2429.5403,5.0014391,1253.7297};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH3_P";
- description="CSAT Transport Helo 3 Pilot";
- isPlayable=1;
- };
- id=505;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2429.5403,5.0014391,1253.7297};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH3_CP";
- description="CSAT Transport Helo 3 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=506;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH3";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=505;
- item1=19;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=506;
- item1=19;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=504;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH3 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item206
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.9114,5.0014391,1224.01};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH4_P";
- description="CSAT Transport Helo 4 Pilot";
- isPlayable=1;
- };
- id=508;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2426.9114,5.0014391,1224.01};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH4_CP";
- description="CSAT Transport Helo 4 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=509;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH4";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=508;
- item1=20;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=509;
- item1=20;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=507;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH4 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item207
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2480.3333,5.0014391,1253.3899};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH5_P";
- description="CSAT Transport Helo 5 Pilot";
- isPlayable=1;
- };
- id=511;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2480.3333,5.0014391,1253.3899};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH5_CP";
- description="CSAT Transport Helo 5 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=512;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH5";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=511;
- item1=21;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=512;
- item1=21;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=510;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH5 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item208
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.6995,5.0014391,1223.6653};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH6_P";
- description="CSAT Transport Helo 6 Pilot";
- isPlayable=1;
- };
- id=514;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2477.6995,5.0014391,1223.6653};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH6_CP";
- description="CSAT Transport Helo 6 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=515;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH6";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=514;
- item1=22;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=515;
- item1=22;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=513;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH6 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item209
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.553,5.0014391,1253.7854};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH7_P";
- description="CSAT Transport Helo 7 Pilot";
- isPlayable=1;
- };
- id=517;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2534.553,5.0014391,1253.7854};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH7_CP";
- description="CSAT Transport Helo 7 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=518;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH7";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=517;
- item1=23;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=518;
- item1=23;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=516;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH7 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item210
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2531.9211,5.0014391,1224.0647};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH8_P";
- description="CSAT Transport Helo 8 Pilot";
- isPlayable=1;
- };
- id=520;
- type="O_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2531.9211,5.0014391,1224.0647};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_TH8_CP";
- description="CSAT Transport Helo 8 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=521;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_TH8";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=520;
- item1=24;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=521;
- item1=24;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=519;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT TH8 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item211
- {
- dataType="Group";
- side="East";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2382.634,5.0014391,1193.7566};
- };
- side="East";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitCSAT_AH1_P";
- description="CSAT Attack Helo 1 Pilot";
- isPlayable=1;
- };
- id=523;
- type="O_helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2382.634,5.0014391,1193.7566};
- };
- side="East";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitCSAT_AH1_CP";
- description="CSAT Attack Helo 1 Gunner (Repair)";
- isPlayable=1;
- };
- id=524;
- type="O_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpCSAT_AH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=523;
- item1=29;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=524;
- item1=29;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=522;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="CSAT AH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item212
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.1733,5.0014391,765.03137};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="COLONEL";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitAAF_CO";
- description="AAF Commander";
- isPlayable=1;
- };
- id=531;
- type="I_officer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1414.1733,5.0014391,763.38098};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitAAF_CO_JTAC";
- description="AAF Forward Observer";
- isPlayable=1;
- };
- id=532;
- type="I_officer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1404.1733,5.0014391,763.38098};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitAAF_CO_UAV";
- description="AAF UAV Operator";
- isPlayable=1;
- };
- id=533;
- type="I_soldier_UAV_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1419.1733,5.0014391,760.64172};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitAAF_CO_M";
- description="AAF Medic";
- isPlayable=1;
- };
- id=534;
- type="I_medic_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_CO";
- };
- id=530;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item213
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.4722,5.0014391,735.45129};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="MAJOR";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitAAF_DC";
- description="AAF Deputy Commander";
- isPlayable=1;
- };
- id=536;
- type="I_officer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1414.4722,5.0014391,733.8009};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitAAF_DC_JTAC";
- description="AAF Forward Observer";
- isPlayable=1;
- };
- id=537;
- type="I_officer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1404.4722,5.0014391,733.8009};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitAAF_DC_UAV";
- description="AAF UAV Operator";
- isPlayable=1;
- };
- id=538;
- type="I_soldier_UAV_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1419.4722,5.0014391,731.06165};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitAAF_DC_M";
- description="AAF Medic";
- isPlayable=1;
- };
- id=539;
- type="I_medic_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_DC";
- init="DC";
- };
- id=535;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item214
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.4087,5.0014391,675.29236};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_COV_C";
- description="AAF Command Vehicle Commander";
- isPlayable=1;
- };
- id=541;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.4087,5.0014391,675.29236};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_COV_G";
- description="AAF Command Vehicle Gunner";
- isPlayable=1;
- };
- id=542;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.4087,5.0014391,675.29236};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_COV_D";
- description="AAF Command Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=543;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_COV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=541;
- item1=31;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=542;
- item1=31;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=543;
- item1=31;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=540;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF COV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item215
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1450.0649,5.0014391,763.6593};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitAAF_ASL_SL";
- description="AAF Alpha Squad Leader";
- isPlayable=1;
- };
- id=545;
- type="I_Soldier_SL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1455.0649,5.0014391,762.00891};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitAAF_ASL_M";
- description="AAF Alpha Medic";
- isPlayable=1;
- };
- id=546;
- type="I_medic_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_ASL";
- };
- id=544;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF ASL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item216
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1451.0005,5.0014391,736.37317};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_FTL";
- description="AAF Alpha 1 Fire Team Leader";
- isPlayable=1;
- };
- id=548;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1456.0005,5.0014391,734.72278};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_AR1";
- description="AAF Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=549;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1446.0005,5.0014391,734.72278};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_AR2";
- description="AAF Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=550;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1461.0005,5.0014391,731.9845};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_AT";
- description="AAF Alpha 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=551;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1441.0005,5.0014391,731.9845};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_R1";
- description="AAF Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=552;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1466.0005,5.0014391,727.43665};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A1_R2";
- description="AAF Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=553;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_A1";
- };
- id=547;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF A1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item217
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1450.7368,5.0014391,710.55286};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_FTL";
- description="AAF Alpha 2 Fire Team Leader";
- isPlayable=1;
- };
- id=555;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1455.7368,5.0014391,708.90247};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_AR1";
- description="AAF Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=556;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1445.7368,5.0014391,708.90247};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_AR2";
- description="AAF Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=557;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1460.7368,5.0014391,706.16321};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_AT";
- description="AAF Alpha 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=558;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1440.7368,5.0014391,706.16321};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_R1";
- description="AAF Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=559;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1465.7368,5.0014391,701.61731};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_A2_R2";
- description="AAF Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=560;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_A2";
- };
- id=554;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF A2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item218
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1453.1089,5.0014391,674.15173};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_AV_C";
- description="AAF Alpha Vehicle Commander";
- isPlayable=1;
- };
- id=562;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1453.1089,5.0014391,674.15173};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_AV_G";
- description="AAF Alpha Vehicle Gunner";
- isPlayable=1;
- };
- id=563;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1453.1089,5.0014391,674.15173};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_AV_D";
- description="AAF Alpha Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=564;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_AV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=562;
- item1=32;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=563;
- item1=32;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=564;
- item1=32;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=561;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF AV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item219
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.1655,5.0014391,763.75696};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitAAF_BSL_SL";
- description="AAF Bravo Squad Leader";
- isPlayable=1;
- };
- id=566;
- type="I_Soldier_SL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1498.1655,5.0014391,762.10657};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitAAF_BSL_M";
- description="AAF Bravo Medic";
- isPlayable=1;
- };
- id=567;
- type="I_medic_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_BSL";
- };
- id=565;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF BSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item220
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.4175,5.0014391,736.32141};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_FTL";
- description="AAF Bravo 1 Fire Team Leader";
- isPlayable=1;
- };
- id=569;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1498.4175,5.0014391,734.67102};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_AR1";
- description="AAF Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=570;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1488.4175,5.0014391,734.67102};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_AR2";
- description="AAF Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=571;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1503.4175,5.0014391,731.93176};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_AT";
- description="AAF Bravo 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=572;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1483.4175,5.0014391,731.93176};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_R1";
- description="AAF Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=573;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1508.4175,5.0014391,727.38489};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B1_R2";
- description="AAF Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=574;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_B1";
- };
- id=568;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF B1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item221
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.1011,5.0014391,710.02844};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_FTL";
- description="AAF Bravo 2 Fire Team Leader";
- isPlayable=1;
- };
- id=576;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1498.1011,5.0014391,708.37903};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_AR1";
- description="AAF Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=577;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1488.1011,5.0014391,708.37903};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_AR2";
- description="AAF Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=578;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1503.1011,5.0014391,705.63879};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_AT";
- description="AAF Bravo 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=579;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1483.1011,5.0014391,705.63879};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_R1";
- description="AAF Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=580;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1508.1011,5.0014391,701.09192};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_B2_R2";
- description="AAF Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=581;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_B2";
- };
- id=575;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF B2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item222
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9253,5.0014391,674.21716};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_BV_C";
- description="AAF Bravo Vehicle Commander";
- isPlayable=1;
- };
- id=583;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9253,5.0014391,674.21716};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_BV_G";
- description="AAF Bravo Vehicle Gunner";
- isPlayable=1;
- };
- id=584;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9253,5.0014391,674.21716};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_BV_D";
- description="AAF Bravo Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=585;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_BV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=583;
- item1=33;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=584;
- item1=33;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=585;
- item1=33;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=582;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF BV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item223
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1536.0054,5.0014391,763.23743};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitAAF_CSL_SL";
- description="AAF Charlie Squad Leader";
- isPlayable=1;
- };
- id=587;
- type="I_Soldier_SL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1541.0054,5.0014391,761.58704};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitAAF_CSL_M";
- description="AAF Charlie Medic";
- isPlayable=1;
- };
- id=588;
- type="I_medic_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_CSL";
- };
- id=586;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF CSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item224
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1536.6616,5.0014391,734.91907};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_FTL";
- description="AAF Charlie 1 Fire Team Leader";
- isPlayable=1;
- };
- id=590;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1541.6616,5.0014391,733.26868};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_AR1";
- description="AAF Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=591;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1531.6616,5.0014391,733.26868};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_AR2";
- description="AAF Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=592;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1546.6616,5.0014391,730.52942};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_AT";
- description="AAF Charlie 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=593;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1526.6616,5.0014391,730.52942};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_R1";
- description="AAF Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=594;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1551.6616,5.0014391,725.98254};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C1_R2";
- description="AAF Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=595;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_C1";
- };
- id=589;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF C1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item225
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1536.3423,5.0014391,709.98157};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_FTL";
- description="AAF Charlie 2 Fire Team Leader";
- isPlayable=1;
- };
- id=597;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1541.3423,5.0014391,708.3302};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_AR1";
- description="AAF Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=598;
- type="I_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1531.3423,5.0014391,708.3302};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_AR2";
- description="AAF Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=599;
- type="I_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1546.3423,5.0014391,705.59192};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_AT";
- description="AAF Charlie 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=600;
- type="I_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1526.3423,5.0014391,705.59192};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_R1";
- description="AAF Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=601;
- type="I_soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1551.3423,5.0014391,701.04504};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitAAF_C2_R2";
- description="AAF Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=602;
- type="I_soldier_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_C2";
- };
- id=596;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF C2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item226
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.4771,5.0014391,674.50134};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_CV_C";
- description="AAF Charlie Vehicle Commander";
- isPlayable=1;
- };
- id=604;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.4771,5.0014391,674.50134};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_CV_G";
- description="AAF Charlie Vehicle Gunner";
- isPlayable=1;
- };
- id=605;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.4771,5.0014391,674.50134};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_CV_D";
- description="AAF Charlie Vehicle Driver (Repair)";
- isPlayable=1;
- };
- id=606;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_CV";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=604;
- item1=34;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=605;
- item1=34;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=606;
- item1=34;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=603;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF CV -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item227
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.4077,5.0014391,761.87903};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitAAF_MMG1_AG";
- description="AAF Medium MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=608;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.4077,5.0014391,760.22864};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitAAF_MMG1_G";
- description="AAF Medium MG Team 1 Gunner";
- isPlayable=1;
- };
- id=609;
- type="I_Soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MMG1";
- };
- id=607;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item228
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.4331,5.0014391,747.13684};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitAAF_MMG2_AG";
- description="AAF Medium MG Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=611;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.4331,5.0014391,745.48645};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitAAF_MMG2_G";
- description="AAF Medium MG Team 2 Gunner";
- isPlayable=1;
- };
- id=612;
- type="I_Soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MMG2";
- };
- id=610;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MMG2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item229
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.5386,5.0014391,733.86145};
- angles[]={0,0.030932644,0};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MAT1_AG";
- description="AAF Medium AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=614;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.5386,5.0014391,732.21106};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MAT1_G";
- description="AAF Medium AT Team 1 Gunner";
- isPlayable=1;
- };
- id=615;
- type="I_Soldier_AT_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MAT1";
- };
- id=613;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item230
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.9575,5.0014391,722.32629};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MAT2_AG";
- description="AAF Medium AT Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=617;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.9575,5.0014391,720.6759};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MAT2_G";
- description="AAF Medium AT Team 2 Gunner";
- isPlayable=1;
- };
- id=618;
- type="I_Soldier_AT_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MAT2";
- };
- id=616;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MAT2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item231
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.9038,5.0014391,709.20618};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hmgag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HMG1_AG";
- description="AAF Heavy MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=620;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.9038,5.0014391,707.55579};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hmgg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HMG1_G";
- description="AAF Heavy MG Team 1 Gunner";
- isPlayable=1;
- };
- id=621;
- type="I_support_MG_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_HMG1";
- };
- id=619;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF HMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item232
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.8901,5.0014391,697.82727};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hatag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HAT1_AG";
- description="AAF Heavy AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=623;
- type="I_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.8901,5.0014391,696.17688};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hatg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HAT1_G";
- description="AAF Heavy AT Team 1 Gunner";
- isPlayable=1;
- };
- id=624;
- type="I_Soldier_AT_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_HAT1";
- };
- id=622;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF HAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item233
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.8911,5.0014391,685.70813};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mtrag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MTR1_AG";
- description="AAF Mortar Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=626;
- type="I_support_AMort_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.8911,5.0014391,684.05774};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mtrg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MTR1_G";
- description="AAF Mortar Team 1 Gunner";
- isPlayable=1;
- };
- id=627;
- type="I_support_Mort_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MTR1";
- };
- id=625;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MTR1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item234
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.6802,5.0014391,673.71008};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""msamag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MSAM1_AG";
- description="AAF Medium SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=629;
- type="I_Soldier_AAA_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.6802,5.0014391,672.05969};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""msamg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_MSAM1_G";
- description="AAF Medium SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=630;
- type="I_Soldier_AA_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_MSAM1";
- };
- id=628;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF MSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item235
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1594.856,5.0014391,660.52844};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hsamag"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HSAM1_AG";
- description="AAF Heavy SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=632;
- type="I_Soldier_AAA_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1599.856,5.0014391,658.87805};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hsamg"",this] call f_fnc_assignGear; ";
- name="UnitAAF_HSAM1_G";
- description="AAF Heavy SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=633;
- type="I_Soldier_AA_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_HSAM1";
- };
- id=631;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF HSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item236
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1595.2114,5.0014391,649.46985};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""sp"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ST1_SP";
- description="AAF Sniper Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=635;
- type="I_Spotter_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1600.2114,5.0014391,647.81946};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""sn"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ST1_SN";
- description="AAF Sniper Team 1 Sniper";
- isPlayable=1;
- };
- id=636;
- type="I_Sniper_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_ST1";
- };
- id=634;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF ST1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item237
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1595.6235,5.0014391,636.34192};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""eng"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ENG1_FTL";
- description="AAF Engineer Team 1 Leader (Demo)";
- isPlayable=1;
- };
- id=638;
- type="I_engineer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1600.6235,5.0014391,634.6925};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""eng"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ENG1_A1";
- description="AAF Engineer Team 1 Assistant (Demo)";
- isPlayable=1;
- };
- id=639;
- type="I_engineer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1590.6235,5.0014391,634.6925};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ENG1_A2";
- description="AAF Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=640;
- type="I_engineer_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1605.6235,5.0014391,631.95227};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear; ";
- name="UnitAAF_ENG1_A3";
- description="AAF Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=641;
- type="I_engineer_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_ENG1";
- };
- id=637;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF ENG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item238
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1596.231,5.0014391,623.49915};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitAAF_DT1_TL";
- description="AAF Diver Team 1 Team Leader";
- isPlayable=1;
- };
- id=643;
- type="I_diver_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1601.231,5.0014391,621.84875};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitAAF_DT1_D1";
- description="AAF Diver Team 1 Diver";
- isPlayable=1;
- };
- id=644;
- type="I_diver_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1591.231,5.0014391,621.84875};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitAAF_DT1_D2";
- description="AAF Diver Team 1 Diver";
- isPlayable=1;
- };
- id=645;
- type="I_diver_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1606.231,5.0014391,619.1095};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""div"",this] call f_fnc_assignGear ";
- name="UnitAAF_DT1_D3";
- description="AAF Diver Team 1 Diver";
- isPlayable=1;
- };
- id=646;
- type="I_diver_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_DT1";
- };
- id=642;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF DT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item239
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.1245,5.1983914,652.10193};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV1_C";
- description="AAF IFV 1 Commander";
- isPlayable=1;
- };
- id=648;
- type="I_crew_F";
- atlOffset=0.19695234;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.1245,5.1983914,652.10193};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV1_G";
- description="AAF IFV 1 Gunner";
- isPlayable=1;
- };
- id=649;
- type="I_crew_F";
- atlOffset=0.19695234;
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.1245,5.1983914,652.10193};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV1_D";
- description="AAF IFV 1 Driver (Repair)";
- isPlayable=1;
- };
- id=650;
- type="I_crew_F";
- atlOffset=0.19695234;
- };
- };
- class Attributes
- {
- name="GrpAAF_IFV1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=648;
- item1=81;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=649;
- item1=81;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=650;
- item1=81;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=647;
- atlOffset=0.19695234;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF IFV1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item240
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.3257,5.0014391,649.75525};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV2_C";
- description="AAF IFV 2 Commander";
- isPlayable=1;
- };
- id=652;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.3257,5.0014391,649.75525};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV2_G";
- description="AAF IFV 2 Gunner";
- isPlayable=1;
- };
- id=653;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.3257,5.0014391,649.75525};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_IFV2_D";
- description="AAF IFV 2 Driver (Repair)";
- isPlayable=1;
- };
- id=654;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_IFV2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=652;
- item1=82;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=653;
- item1=82;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=654;
- item1=82;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=651;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF IFV2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item241
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=3;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9966,5.0014391,650.44958};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""vc"",this] call f_fnc_assignGear;";
- name="UnitAAF_TNK1_C";
- description="AAF Tank 1 Commander";
- isPlayable=1;
- };
- id=656;
- type="I_crew_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9966,5.0014391,650.44958};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitAAF_TNK1_G";
- description="AAF Tank 1 Gunner";
- isPlayable=1;
- };
- id=657;
- type="I_crew_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1493.9966,5.0014391,650.44958};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitAAF_TNK1_D";
- description="AAF Tank 1 Driver (Repair)";
- isPlayable=1;
- };
- id=658;
- type="I_crew_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_TNK1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=3;
- };
- class Links
- {
- items=3;
- class Item0
- {
- linkID=0;
- item0=656;
- item1=36;
- class CustomData
- {
- role=2;
- turretPath[]={0,0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=657;
- item1=36;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=658;
- item1=36;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=655;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF TNK1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item242
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.0298,5.0014391,617.91455};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH1_P";
- description="AAF Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=660;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1409.0298,5.0014391,617.91455};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH1_CP";
- description="AAF Transport Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=661;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=660;
- item1=2;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=661;
- item1=2;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=659;
- atlOffset=-4.7683716e-007;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item243
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.1128,5.0014391,618.75342};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH2_P";
- description="AAF Transport Helo 2 Pilot";
- isPlayable=1;
- };
- id=663;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1452.1128,5.0014391,618.75342};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH2_CP";
- description="AAF Transport Helo 2 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=664;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_TH2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=663;
- item1=15;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=664;
- item1=15;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=662;
- atlOffset=-4.7683716e-007;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF TH2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item244
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1494.3599,5.0014391,619.59424};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH3_P";
- description="AAF Transport Helo 3 Pilot";
- isPlayable=1;
- };
- id=666;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1494.3599,5.0014391,619.59424};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH3_CP";
- description="AAF Transport Helo 3 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=667;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_TH3";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=666;
- item1=16;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=667;
- item1=16;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=665;
- atlOffset=-4.7683716e-007;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF TH3 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item245
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.6772,5.0014391,620.25049};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH4_P";
- description="AAF Transport Helo 4 Pilot";
- isPlayable=1;
- };
- id=669;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1535.6772,5.0014391,620.25049};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitAAF_TH4_CP";
- description="AAF Transport Helo 4 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=670;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_TH4";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=669;
- item1=17;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=670;
- item1=17;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=668;
- atlOffset=-4.7683716e-007;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF TH4 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item246
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.8267,5.0014391,586.5531};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitAAF_AH1_P";
- description="AAF Attack Helo 1 Pilot";
- isPlayable=1;
- };
- id=672;
- type="I_helipilot_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1408.8267,5.0014391,586.5531};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitAAF_AH1_CP";
- description="AAF Attack Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=673;
- type="I_helipilot_F";
- };
- };
- class Attributes
- {
- name="GrpAAF_AH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=672;
- item1=37;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=673;
- item1=37;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=671;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="AAF AH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item247
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={446.25912,5.0014391,757.14838};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="COLONEL";
- init="[""co"",this,""ctrg""] call f_fnc_assignGear;";
- name="UnitFIA_CO";
- description="CTRG Commander";
- isPlayable=1;
- };
- id=680;
- type="B_G_officer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={451.25912,5.0014391,755.49799};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this,""ctrg""] call f_fnc_assignGear;";
- name="UnitFIA_CO_JTAC";
- description="CTRG JTAC";
- isPlayable=1;
- };
- id=681;
- type="B_G_officer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={441.7894,5.0014391,754.13666};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitFIA_CO_UAV";
- description="FIA UAV Operator";
- isPlayable=1;
- };
- id=682;
- type="B_G_Soldier_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={456.25912,5.0014391,752.75775};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitFIA_CO_M";
- description="FIA Medic";
- isPlayable=1;
- };
- id=683;
- type="B_G_medic_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_CO";
- };
- id=679;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item248
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={445.72104,5.2133446,732.78412};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="MAJOR";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitFIA_DC";
- description="FIA Deputy Commander";
- isPlayable=1;
- };
- id=685;
- type="B_G_officer_F";
- atlOffset=0.21190548;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={450.72104,5.2344303,731.13373};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitFIA_DC_JTAC";
- description="FIA Forward Observer";
- isPlayable=1;
- };
- id=686;
- type="B_G_officer_F";
- atlOffset=0.23299122;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={440.72104,5.1082706,731.13373};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitFIA_DC_UAV";
- description="FIA UAV Operator";
- isPlayable=1;
- };
- id=687;
- type="B_G_Soldier_F";
- atlOffset=0.10683155;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={455.72104,5.1013861,728.39447};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitFIA_DC_M";
- description="FIA Medic";
- isPlayable=1;
- };
- id=688;
- type="B_G_medic_F";
- atlOffset=0.099946976;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_DC";
- };
- id=684;
- atlOffset=0.21190548;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item249
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.41245,5.0014391,756.539};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this,""ctrg""] call f_fnc_assignGear;";
- name="UnitFIA_ASL_SL";
- description="CTRG Alpha Squad Leader";
- isPlayable=1;
- };
- id=690;
- type="B_G_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.05;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={487.41245,5.0014391,754.88861};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitFIA_ASL_M";
- description="FIA Alpha Medic";
- isPlayable=1;
- };
- id=691;
- type="B_G_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_ASL";
- };
- id=689;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA ASL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item250
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.97202,5.0014391,735.03412};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_FTL";
- description="FIA Alpha 1 Fire Team Leader";
- isPlayable=1;
- };
- id=693;
- type="B_G_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={487.97202,5.0913763,733.38373};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_AR1";
- description="FIA Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=694;
- type="B_G_Soldier_AR_F";
- atlOffset=0.08993721;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={477.97202,5.0014391,733.38373};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_AR2";
- description="FIA Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=695;
- type="B_G_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={492.97202,5.248991,730.64447};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_AT";
- description="FIA Alpha 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=696;
- type="B_G_Soldier_LAT_F";
- atlOffset=0.24755192;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={472.97202,5.0014391,730.64447};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_R1";
- description="FIA Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=697;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={497.97202,5.0014391,726.0976};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A1_R2";
- description="FIA Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=698;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_A1";
- };
- id=692;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA A1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item251
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.73569,5.0014391,711.15521};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_FTL";
- description="FIA Alpha 2 Fire Team Leader";
- isPlayable=1;
- };
- id=700;
- type="B_G_Soldier_TL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={487.73569,5.0014391,709.50482};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_AR1";
- description="FIA Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=701;
- type="B_G_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={477.73569,5.0014391,709.50482};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_AR2";
- description="FIA Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=702;
- type="B_G_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={492.73569,5.0014391,706.76556};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_AT";
- description="FIA Alpha 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=703;
- type="B_G_Soldier_LAT_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={472.73569,5.0014391,706.76556};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_R1";
- description="FIA Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=704;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={497.73569,5.0014391,702.21869};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_A2_R2";
- description="FIA Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=705;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_A2";
- };
- id=699;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA A2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item252
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={523.09412,5.0014391,756.49213};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this,""ctrg""] call f_fnc_assignGear;";
- name="UnitFIA_BSL_SL";
- description="CTRG Bravo Squad Leader";
- isPlayable=1;
- };
- id=707;
- type="B_G_Soldier_SL_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={528.09412,5.0014391,754.84174};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitFIA_BSL_M";
- description="FIA Bravo Medic";
- isPlayable=1;
- };
- id=708;
- type="B_G_medic_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_BSL";
- };
- id=706;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA BSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item253
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={523.86072,5.0014391,734.79681};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_FTL";
- description="FIA Bravo 1 Fire Team Leader";
- isPlayable=1;
- };
- id=710;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={528.86072,5.0014391,733.1474};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_AR1";
- description="FIA Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=711;
- type="B_G_Soldier_AR_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={518.86072,5.0014391,733.1474};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_AR2";
- description="FIA Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=712;
- type="B_G_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={533.86072,5.0014391,730.40717};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_AT";
- description="FIA Bravo 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=713;
- type="B_G_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={513.86072,5.0014391,730.40717};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_R1";
- description="FIA Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=714;
- type="B_G_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={538.86072,5.0014391,725.86127};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B1_R2";
- description="FIA Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=715;
- type="B_G_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_B1";
- };
- id=709;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA B1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item254
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={523.30115,5.0014391,711.56927};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_FTL";
- description="FIA Bravo 2 Fire Team Leader";
- isPlayable=1;
- };
- id=717;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={528.30115,5.0014391,709.91791};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_AR1";
- description="FIA Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=718;
- type="B_G_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={518.30115,5.0014391,709.91791};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_AR2";
- description="FIA Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=719;
- type="B_G_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={533.30115,5.0014391,707.17865};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_AT";
- description="FIA Bravo 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=720;
- type="B_G_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={513.30115,5.0014391,707.17865};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_R1";
- description="FIA Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=721;
- type="B_G_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={538.30115,5.0014391,702.63177};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_B2_R2";
- description="FIA Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=722;
- type="B_G_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_B2";
- };
- id=716;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA B2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item255
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={566.27771,5.3023081,755.89545};
- };
- side="West";
- flags=2;
- class Attributes
- {
- skill=0.60000002;
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitFIA_CSL_SL";
- description="FIA Charlie Squad Leader";
- isPlayable=1;
- };
- id=724;
- type="B_G_Soldier_SL_F";
- atlOffset=0.30086899;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={571.27771,5.6464462,754.24506};
- };
- side="West";
- class Attributes
- {
- skill=0.60000002;
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitFIA_CSL_M";
- description="FIA Charlie Medic";
- isPlayable=1;
- };
- id=725;
- type="B_G_medic_F";
- atlOffset=0.64500713;
- };
- };
- class Attributes
- {
- name="GrpFIA_CSL";
- };
- id=723;
- atlOffset=0.30086899;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA CSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item256
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={566.67908,5.0014391,734.13568};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_FTL";
- description="FIA Charlie 1 Fire Team Leader";
- isPlayable=1;
- };
- id=727;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={571.67908,5.0014391,732.48627};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_AR1";
- description="FIA Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=728;
- type="B_G_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={561.67908,5.0014391,732.48627};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_AR2";
- description="FIA Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=729;
- type="B_G_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={576.67908,5.0014391,729.74603};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_AT";
- description="FIA Charlie 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=730;
- type="B_G_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={556.67908,5.0014391,729.74603};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_R1";
- description="FIA Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=731;
- type="B_G_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={581.67908,5.0014391,725.19916};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C1_R2";
- description="FIA Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=732;
- type="B_G_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_C1";
- };
- id=726;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA C1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item257
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={566.98376,5.0014391,711.03217};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""FTL"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_FTL";
- description="FIA Charlie 2 Fire Team Leader";
- isPlayable=1;
- };
- id=734;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={571.98376,5.0014391,709.38177};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_AR1";
- description="FIA Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=735;
- type="B_G_Soldier_AR_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={561.98376,5.0014391,709.38177};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_AR2";
- description="FIA Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=736;
- type="B_G_Soldier_AR_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={576.98376,5.0014391,706.64252};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_AT";
- description="FIA Charlie 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=737;
- type="B_G_Soldier_LAT_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={556.98376,5.0014391,706.64252};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_R1";
- description="FIA Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=738;
- type="B_G_Soldier_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={581.98376,5.0014391,702.09467};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitFIA_C2_R2";
- description="FIA Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=739;
- type="B_G_Soldier_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_C2";
- };
- id=733;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA C2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item258
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={602.96912,5.153121,756.11713};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitFIA_MMG1_AG";
- description="FIA Medium MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=741;
- type="B_G_Soldier_TL_F";
- atlOffset=0.1516819;
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={607.96912,5.2476587,754.46674};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitFIA_MMG1_G";
- description="FIA Medium MG Team 1 Gunner";
- isPlayable=1;
- };
- id=742;
- type="B_G_Soldier_AR_F";
- atlOffset=0.24621964;
- };
- };
- class Attributes
- {
- name="GrpFIA_MMG1";
- };
- id=740;
- atlOffset=0.1516819;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item259
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={602.82947,5.0014391,744.77826};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitFIA_MMG2_AG";
- description="FIA Medium MG Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=744;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={607.82947,5.0014391,743.12787};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitFIA_MMG2_G";
- description="FIA Medium MG Team 2 Gunner";
- isPlayable=1;
- };
- id=745;
- type="B_G_Soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_MMG2";
- };
- id=743;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MMG2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item260
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.17322,5.0014391,734.07025};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MAT1_AG";
- description="FIA Medium AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=747;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.17322,5.0014391,732.41986};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MAT1_G";
- description="FIA Medium AT Team 1 Gunner";
- isPlayable=1;
- };
- id=748;
- type="B_G_Soldier_LAT_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_MAT1";
- };
- id=746;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item261
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.0863,5.0014391,722.08783};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MAT2_AG";
- description="FIA Medium AT Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=750;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.0863,5.0014391,720.43744};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""matg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MAT2_G";
- description="FIA Medium AT Team 2 Gunner";
- isPlayable=1;
- };
- id=751;
- type="B_G_Soldier_LAT_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_MAT2";
- };
- id=749;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MAT2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item262
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.57458,5.0014391,711.18939};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hmgag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HMG1_AG";
- description="FIA Heavy MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=753;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.57458,5.0014391,709.539};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""hmgg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HMG1_G";
- description="FIA Heavy MG Team 1 Gunner";
- isPlayable=1;
- };
- id=754;
- type="B_G_Soldier_AR_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_HMG1";
- };
- id=752;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA HMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item263
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.3988,5.0014391,698.78607};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hatag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HAT1_AG";
- description="FIA Heavy AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=756;
- type="B_G_Soldier_TL_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.3988,5.2301273,697.13568};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""hatg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HAT1_G";
- description="FIA Heavy AT Team 1 Gunner";
- isPlayable=1;
- };
- id=757;
- type="B_G_Soldier_LAT_F";
- atlOffset=0.22868824;
- };
- };
- class Attributes
- {
- name="GrpFIA_HAT1";
- };
- id=755;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA HAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item264
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.40076,5.0014391,687.01752};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""mtrag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MTR1_AG";
- description="FIA Mortar Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=759;
- type="B_G_Soldier_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.40076,5.3897858,685.36713};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""mtrg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MTR1_G";
- description="FIA Mortar Team 1 Gunner";
- isPlayable=1;
- };
- id=760;
- type="B_G_Soldier_A_F";
- atlOffset=0.38834667;
- };
- };
- class Attributes
- {
- name="GrpFIA_MTR1";
- };
- id=758;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MTR1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item265
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.39978,5.0014391,674.49994};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""msamag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MSAM1_AG";
- description="FIA Medium SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=762;
- type="B_G_Soldier_LAT_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.39978,5.5413675,672.84955};
- };
- side="West";
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""msamg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_MSAM1_G";
- description="FIA Medium SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=763;
- type="B_G_Soldier_LAT_F";
- atlOffset=0.53992844;
- };
- };
- class Attributes
- {
- name="GrpFIA_MSAM1";
- };
- id=761;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA MSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item266
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.29919,5.0014391,661.72552};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""hsamag"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HSAM1_AG";
- description="FIA Heavy SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=765;
- type="B_G_Soldier_LAT_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.29919,5.0014391,660.07513};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""hsamg"",this] call f_fnc_assignGear; ";
- name="UnitFIA_HSAM1_G";
- description="FIA Heavy SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=766;
- type="B_G_Soldier_LAT_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_HSAM1";
- };
- id=764;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA HSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item267
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.17224,5.0014391,650.82025};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""sp"",this] call f_fnc_assignGear; ";
- name="UnitFIA_ST1_SP";
- description="FIA Sniper Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=768;
- type="B_G_Soldier_M_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.17224,5.0014391,649.16986};
- };
- side="West";
- flags=4;
- class Attributes
- {
- health=0.99000001;
- skill=0.60000002;
- init="[""sn"",this] call f_fnc_assignGear; ";
- name="UnitFIA_ST1_G";
- description="FIA Sniper Team 1 Sniper";
- isPlayable=1;
- };
- id=769;
- type="B_G_Soldier_M_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_ST1";
- };
- id=767;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA ST1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item268
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={603.94373,5.0014391,638.47357};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitFIA_ENG1_FTL";
- description="FIA Engineer Team 1 Leader (Demo)";
- isPlayable=1;
- };
- id=771;
- type="B_G_engineer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={608.94373,5.0014391,636.82318};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitFIA_ENG1_A1";
- description="FIA Engineer Team 1 Assistant (Demo)";
- isPlayable=1;
- };
- id=772;
- type="B_G_engineer_F";
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={598.94373,5.0014391,636.82318};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitFIA_ENG1_A2";
- description="FIA Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=773;
- type="B_G_engineer_F";
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={613.94373,5.0014391,634.08392};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitFIA_ENG1_A3";
- description="FIA Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=774;
- type="B_G_engineer_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_ENG1";
- };
- id=770;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA ENG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item269
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={604.48364,5.0014391,626.65302};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitFIA_TH1_P";
- description="FIA Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=776;
- type="B_G_engineer_F";
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={604.48364,5.0014391,626.65302};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear;";
- name="UnitFIA_TH1_CP";
- description="FIA Transport Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=777;
- type="B_G_engineer_F";
- };
- };
- class Attributes
- {
- name="GrpFIA_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=776;
- item1=72;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=777;
- item1=72;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=775;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item270
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={448.18201,5.0014391,686.51398};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitFIA_IFV1_D";
- description="FIA Technical 1 Driver (Repair)";
- isPlayable=1;
- };
- id=1032;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={448.18201,5.0014391,686.51398};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitFIA_IFV1_G";
- description="FIA Technical 1 Gunner";
- isPlayable=1;
- };
- id=1033;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_IFV1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=1032;
- item1=85;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1033;
- item1=85;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=778;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA IFV1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item271
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.90601,5.0014391,686.43097};
- };
- side="West";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitFIA_IFV2_G";
- description="FIA Technical 2 Gunner";
- isPlayable=1;
- };
- id=1030;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99833667;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={482.90601,5.0014391,686.43097};
- };
- side="West";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitFIA_IFV2_D";
- description="FIA Technical 2 Driver (Repair)";
- isPlayable=1;
- };
- id=1031;
- type="B_G_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpFIA_IFV2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=1030;
- item1=86;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=1031;
- item1=86;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=781;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="FIA IFV2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item272
- {
- dataType="Group";
- side="Civilian";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2589.6348,5.1613512,725.10815};
- };
- side="Civilian";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="this addAction [""Start Camera"",""[] call bis_fnc_camera;"",[],2,false,true,"""",""driver _target == _this""]; this allowDamage false;";
- description="BBC Reporter";
- isPlayable=1;
- };
- id=790;
- type="C_journalist_F";
- atlOffset=0.15991211;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- id=789;
- atlOffset=0.15991211;
- };
- class Item273
- {
- dataType="Group";
- side="Civilian";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={2642.2625,5.0014391,721.59937};
- };
- side="Civilian";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="this addAction [""Start Camera"",""[] call bis_fnc_camera;"",[],2,false,true,"""",""driver _target == _this""]; this allowDamage false;";
- description="CNN Reporter";
- isPlayable=1;
- };
- id=792;
- type="C_journalist_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- id=791;
- };
- class Item274
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2264.3303,5,729.32227};
- };
- name="F3_Zeus";
- isPlayable=1;
- id=793;
- type="VirtualCurator_F";
- };
- class Item275
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2264.9143,5.2476444,718.24805};
- };
- name="F3_Zeus_1";
- isPlayable=1;
- id=794;
- type="VirtualCurator_F";
- atlOffset=0.24764442;
- };
- class Item276
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2266.3958,5.3839951,707.53711};
- };
- name="F3_Zeus_2";
- isPlayable=1;
- id=795;
- type="VirtualCurator_F";
- atlOffset=0.38399506;
- };
- class Item277
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2266.8528,5.6081486,696.99023};
- };
- name="F3_Zeus_3";
- isPlayable=1;
- id=796;
- type="VirtualCurator_F";
- atlOffset=0.60814857;
- };
- class Item278
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1386.3022,5,759.53918};
- };
- id=797;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item279
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1386.7388,5,729.61243};
- };
- id=798;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item280
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2355.054,5,1372.686};
- };
- id=799;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item281
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2355.7756,5,1347.9272};
- };
- id=800;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item282
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={432.98569,5.7177486,729.02344};
- };
- id=801;
- type="SupportProvider_Virtual_CAS_Heli";
- atlOffset=0.71774864;
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item283
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={431.84018,5.4597912,752.30078};
- };
- id=802;
- type="SupportProvider_Virtual_CAS_Heli";
- atlOffset=0.45979118;
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item284
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={413.42789,5,1345.2402};
- };
- id=803;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item285
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={413.20621,5,1367.6445};
- };
- id=804;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item286
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={408.92496,5,1367.7412};
- };
- id=813;
- type="SupportProvider_Artillery";
- };
- class Item287
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={428.39584,5.8610754,728.56641};
- };
- id=814;
- type="SupportProvider_Artillery";
- atlOffset=0.8610754;
- };
- class Item288
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={409.14664,5,1345.3369};
- };
- id=815;
- type="SupportProvider_Artillery";
- };
- class Item289
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1382.4575,5,729.70911};
- };
- id=816;
- type="SupportProvider_Artillery";
- };
- class Item290
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1382.021,5,759.63586};
- };
- id=817;
- type="SupportProvider_Artillery";
- };
- class Item291
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2351.7932,5,1347.4478};
- };
- id=818;
- type="SupportProvider_Artillery";
- };
- class Item292
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={2350.7717,5,1372.7827};
- };
- id=819;
- type="SupportProvider_Artillery";
- };
- class Item293
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={427.55893,5,752.39648};
- };
- id=820;
- type="SupportProvider_Artillery";
- };
- class Item294
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1379.5668,5.0014391,1372.6985};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="COLONEL";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitSyn_CO";
- description="Syndikat Commander";
- isPlayable=1;
- };
- id=827;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1385.2201,5.0014391,1369.9319};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitSyn_CO_JTAC";
- description="Syndikat JTAC";
- isPlayable=1;
- };
- id=824;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1374.6039,5.0014391,1369.6145};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitSyn_CO_UAV";
- description="Syndikat UAV Operator";
- isPlayable=1;
- };
- id=825;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1390.0951,5.0014391,1367.7346};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitSyn_CO_M";
- description="Syndikat Medic";
- isPlayable=1;
- };
- id=826;
- type="I_C_Soldier_Para_3_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_CO";
- };
- id=823;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item295
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1379.5072,5.0014391,1344.0295};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="MAJOR";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitSyn_DC";
- description="Syndikat Deputy Commander";
- isPlayable=1;
- };
- id=842;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1384.9408,5.0014391,1341.219};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""jtac"",this] call f_fnc_assignGear;";
- name="UnitSyn_DC_JTAC";
- description="Syndikat JTAC";
- isPlayable=1;
- };
- id=839;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1374.5209,5.0014391,1341.3157};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""uav"",this] call f_fnc_assignGear;";
- name="UnitSyn_DC_UAV";
- description="Syndikat UAV Operator";
- isPlayable=1;
- };
- id=840;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1389.8158,5.0014391,1339.0217};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitSyn_DC_M";
- description="Syndikat Medic";
- isPlayable=1;
- };
- id=841;
- type="I_C_Soldier_Para_3_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_DC";
- };
- id=838;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item296
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1420.1244,5.0014391,1372.6526};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitSyn_ASL_SL";
- description="Syndikat Alpha Squad Leader";
- isPlayable=1;
- };
- id=855;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1425.2299,5.0014391,1369.6653};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitSyn_ASL_M";
- description="Syndikat Alpha Medic";
- isPlayable=1;
- };
- id=854;
- type="I_C_Soldier_Para_3_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_ASL";
- };
- id=853;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat ASL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item297
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1419.9926,5.0014391,1346.175};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_FTL";
- description="Syndikat Alpha 1 Fire Team Leader";
- isPlayable=1;
- };
- id=862;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1425.097,5.0014391,1343.1877};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_AR1";
- description="Syndikat Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=857;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1414.8724,5.0014391,1343.262};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_AR2";
- description="Syndikat Alpha 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=858;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1429.933,5.0014391,1339.9065};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_AT";
- description="Syndikat Alpha 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=859;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1410.4662,5.0014391,1339.5042};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_R1";
- description="Syndikat Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=860;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1435.9994,5.0014391,1336.0823};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A1_R2";
- description="Syndikat Alpha 1 Rifleman";
- isPlayable=1;
- };
- id=861;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_A1";
- };
- id=856;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat A1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item298
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1420.4545,5.0014391,1316.8792};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_FTL";
- description="Syndikat Alpha 2 Fire Team Leader";
- isPlayable=1;
- };
- id=869;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1425.5599,5.0014391,1313.8918};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_AR1";
- description="Syndikat Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=864;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1415.3353,5.0014391,1313.967};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_AR2";
- description="Syndikat Alpha 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=865;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1430.3959,5.0014391,1310.6106};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_AT";
- description="Syndikat Alpha 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=866;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1410.9291,5.0014391,1310.2092};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_R1";
- description="Syndikat Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=867;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1436.4623,5.0014391,1306.7883};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_A2_R2";
- description="Syndikat Alpha 2 Rifleman";
- isPlayable=1;
- };
- id=868;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_A2";
- };
- id=863;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat A2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item299
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1460.2103,5.0014391,1371.6956};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitSyn_BSL_SL";
- description="Syndikat Bravo Squad Leader";
- isPlayable=1;
- };
- id=872;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1465.3158,5.0014391,1368.7073};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitSyn_BSL_M";
- description="Syndikat Bravo Medic";
- isPlayable=1;
- };
- id=871;
- type="I_C_Soldier_Para_3_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_BSL";
- };
- id=870;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat BSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item300
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1460.1967,5.0014391,1346.0579};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_FTL";
- description="Syndikat Bravo 1 Fire Team Leader";
- isPlayable=1;
- };
- id=879;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1465.3021,5.0014391,1343.0706};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_AR1";
- description="Syndikat Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=874;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1455.0795,5.0014391,1343.1448};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_AR2";
- description="Syndikat Bravo 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=875;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1470.1381,5.0014391,1339.7893};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_AT";
- description="Syndikat Bravo 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=876;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1450.6732,5.0014391,1339.387};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_R1";
- description="Syndikat Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=877;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1476.2045,5.0014391,1335.967};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B1_R2";
- description="Syndikat Bravo 1 Rifleman";
- isPlayable=1;
- };
- id=878;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.05;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_B1";
- };
- id=873;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat B1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item301
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1460.6029,5.0014391,1316.6848};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_FTL";
- description="Syndikat Bravo 2 Fire Team Leader";
- isPlayable=1;
- };
- id=886;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1465.7094,5.0014391,1313.6975};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_AR1";
- description="Syndikat Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=881;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1455.4857,5.0014391,1313.7717};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_AR2";
- description="Syndikat Bravo 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=882;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1470.5443,5.0014391,1310.4172};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_AT";
- description="Syndikat Bravo 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=883;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1451.0795,5.0014391,1310.0139};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_R1";
- description="Syndikat Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=884;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1476.6107,5.0014391,1306.594};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_B2_R2";
- description="Syndikat Bravo 2 Rifleman";
- isPlayable=1;
- };
- id=885;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_B2";
- };
- id=880;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat B2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item302
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1500.8724,5.0014391,1370.8596};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CAPTAIN";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitSyn_CSL_SL";
- description="Syndikat Charlie Squad Leader";
- isPlayable=1;
- };
- id=889;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1505.9779,5.0014391,1367.8723};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""m"",this] call f_fnc_assignGear;";
- name="UnitSyn_CSL_M";
- description="Syndikat Charlie Medic";
- isPlayable=1;
- };
- id=888;
- type="I_C_Soldier_Para_3_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_CSL";
- };
- id=887;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat CSL -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item303
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1500.6595,5.0014391,1347.4036};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_FTL";
- description="Syndikat Charlie 1 Fire Team Leader";
- isPlayable=1;
- };
- id=896;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1505.765,5.0014391,1344.4172};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_AR1";
- description="Syndikat Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=891;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1495.5404,5.0014391,1344.4905};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_AR2";
- description="Syndikat Charlie 1 Automatic Rifleman";
- isPlayable=1;
- };
- id=892;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1510.601,5.0014391,1341.135};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_AT";
- description="Syndikat Charlie 1 Assaultman (AT)";
- isPlayable=1;
- };
- id=893;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1491.1342,5.0014391,1340.7327};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_R1";
- description="Syndikat Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=894;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1516.6674,5.0014391,1337.3137};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C1_R2";
- description="Syndikat Charlie 1 Rifleman";
- isPlayable=1;
- };
- id=895;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_C1";
- };
- id=890;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat C1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item304
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=6;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1500.6595,5.0014391,1316.9084};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""ftl"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_FTL";
- description="Syndikat Charlie 2 Fire Team Leader";
- isPlayable=1;
- };
- id=903;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1505.765,5.0014391,1313.9211};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_AR1";
- description="Syndikat Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=898;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1495.5424,5.0014391,1313.9954};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""ar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_AR2";
- description="Syndikat Charlie 2 Automatic Rifleman";
- isPlayable=1;
- };
- id=899;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1510.601,5.0014391,1310.6399};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- rank="CORPORAL";
- init="[""rat"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_AT";
- description="Syndikat Charlie 2 Assaultman (AT)";
- isPlayable=1;
- };
- id=900;
- type="I_C_Soldier_Para_5_F";
- };
- class Item4
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1491.1361,5.0014391,1310.2375};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_R1";
- description="Syndikat Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=901;
- type="I_C_Soldier_Para_1_F";
- };
- class Item5
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1516.6674,5.0014391,1306.8176};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""aar"",this] call f_fnc_assignGear;";
- name="UnitSyn_C2_R2";
- description="Syndikat Charlie 2 Rifleman";
- isPlayable=1;
- };
- id=902;
- type="I_C_Soldier_Para_1_F";
- };
- };
- class Attributes
- {
- name="GrpSyn_C2";
- };
- id=897;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat C2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item305
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.0209,5.0014391,1369.0061};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MMG1_AG";
- description="Syndikat Medium MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=905;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.9642,5.0014391,1366.842};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MMG1_G";
- description="Syndikat Medium MG Team 1 Gunner";
- isPlayable=1;
- };
- id=906;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MMG1";
- };
- id=904;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item306
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1558.8353,5.0014391,1356.4192};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""mmgag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MMG2_AG";
- description="Syndikat Medium MG Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=908;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.7787,5.0014391,1354.2551};
- };
- side="Independent";
- flags=5;
- class Attributes
- {
- init="[""mmgg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MMG2_G";
- description="Syndikat Medium MG Team 2 Gunner";
- isPlayable=1;
- };
- id=909;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MMG2";
- };
- id=907;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MMG2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item307
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1558.8588,5.0014391,1345.2571};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MAT1_AG";
- description="Syndikat Medium AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=911;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.8041,5.0014391,1343.093};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""matg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MAT1_G";
- description="Syndikat Medium AT Team 1 Gunner";
- isPlayable=1;
- };
- id=912;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MAT1";
- };
- id=910;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item308
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.0814,5.0014391,1333.7102};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""matag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MAT2_AG";
- description="Syndikat Medium AT Team 2 Spotter (Leader)";
- isPlayable=1;
- };
- id=914;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1564.0248,5.0014391,1331.5461};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""matg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MAT2_G";
- description="Syndikat Medium AT Team 2 Gunner";
- isPlayable=1;
- };
- id=915;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MAT2";
- };
- id=913;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MAT2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item309
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.0209,5.0014391,1323.0881};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""hmgag"",this] call f_fnc_assignGear;";
- name="UnitSyn_HMG1_AG";
- description="Syndikat Heavy MG Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=917;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.9662,5.0014391,1320.9231};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""hmgg"",this] call f_fnc_assignGear;";
- name="UnitSyn_HMG1_G";
- description="Syndikat Heavy MG Team 1 Gunner";
- isPlayable=1;
- };
- id=918;
- type="I_C_Soldier_Para_4_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_HMG1";
- };
- id=916;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat HMG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item310
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1558.8158,5.0014391,1310.2874};
- };
- side="Independent";
- flags=7;
- class Attributes
- {
- rank="CORPORAL";
- init="[""hatag"",this] call f_fnc_assignGear;";
- name="UnitSyn_HAT1_AG";
- description="Syndikat Heavy AT Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=920;
- type="I_C_Soldier_Para_2_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.7592,5.0014391,1308.1233};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""hatg"",this] call f_fnc_assignGear;";
- name="UnitSyn_HAT1_G";
- description="Syndikat Heavy AT Team 1 Gunner";
- isPlayable=1;
- };
- id=921;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_HAT1";
- };
- id=919;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat HAT1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item311
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.306,5.0014391,1298.2249};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""mtrag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MTR1_AG";
- description="Syndikat Mortar Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=923;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1564.2494,5.0014391,1296.0598};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""mtrg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MTR1_G";
- description="Syndikat Mortar Team 1 Gunner";
- isPlayable=1;
- };
- id=924;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MTR1";
- };
- id=922;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MTR1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item312
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.0326,5.0014391,1285.1262};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""msamag"",this] call f_fnc_assignGear;";
- name="UnitSyn_MSAM1_AG";
- description="Syndikat Medium SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=926;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.03;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1563.976,5.0014391,1282.9612};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""msamg"",this] call f_fnc_assignGear;";
- name="UnitSyn_MSAM1_G";
- description="Syndikat Medium SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=927;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_MSAM1";
- };
- id=925;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat MSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item313
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.7533,5.0014391,1272.1184};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""hsamag"",this] call f_fnc_assignGear;";
- name="UnitSyn_HSAM1_AG";
- description="Syndikat Heavy SAM Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=929;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1564.6967,5.0014391,1269.9534};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""hsamg"",this] call f_fnc_assignGear;";
- name="UnitSyn_HSAM1_G";
- description="Syndikat Heavy SAM Team 1 Gunner";
- isPlayable=1;
- };
- id=930;
- type="I_C_Soldier_Para_5_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_HSAM1";
- };
- id=928;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat HSAM1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item314
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.8353,5.0014391,1261.8909};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""sp"",this] call f_fnc_assignGear;";
- name="UnitSyn_ST1_SP";
- description="Syndikat Sniper Team 1 Spotter (Leader)";
- isPlayable=1;
- };
- id=932;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1564.7787,5.0014391,1259.7258};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""sn"",this] call f_fnc_assignGear; ";
- name="UnitSyn_ST1_G";
- description="Syndikat Sniper Team 1 Sniper";
- isPlayable=1;
- };
- id=933;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_ST1";
- };
- id=931;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat ST1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item315
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1560.3763,5.0014391,1249.842};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitSyn_ENG1_FTL";
- description="Syndikat Engineer Team 1 Leader (Demo)";
- isPlayable=1;
- };
- id=935;
- type="I_C_Soldier_Para_8_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1565.3197,5.0014391,1247.677};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""eng"",this] call f_fnc_assignGear;";
- name="UnitSyn_ENG1_A1";
- description="Syndikat Engineer Team 1 Assistant (Demo)";
- isPlayable=1;
- };
- id=936;
- type="I_C_Soldier_Para_8_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1554.9447,5.0014391,1248.1292};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitSyn_ENG1_A2";
- description="Syndikat Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=937;
- type="I_C_Soldier_Para_8_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1570.2924,5.0014391,1245.7551};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""engm"",this] call f_fnc_assignGear;";
- name="UnitSyn_ENG1_A3";
- description="Syndikat Engineer Team 1 Assistant (Mines)";
- isPlayable=1;
- };
- id=938;
- type="I_C_Soldier_Para_8_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_ENG1";
- };
- id=934;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat ENG1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item316
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.641,5.0014391,1225.605};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitSyn_TH1_P";
- description="Syndikat Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=940;
- type="I_C_Helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.641,5.0014391,1225.605};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- rank="SERGEANT";
- init="[""pcc"",this] call f_fnc_assignGear; ";
- name="UnitSyn_TH1_CP";
- description="Syndikat Transport Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=941;
- type="I_C_Helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.02;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=940;
- item1=1027;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=941;
- item1=1027;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=939;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item317
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1379.3519,5.0014391,1284.8792};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitSyn_IFV1_G";
- description="Syndikat Technical 1 Gunner";
- isPlayable=1;
- };
- id=944;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.95999998;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1379.3519,5.0014391,1284.8792};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitSyn_IFV1_D";
- description="Syndikat Technical 1 Driver (Repair)";
- isPlayable=1;
- };
- id=945;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_IFV1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=944;
- item1=946;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=945;
- item1=946;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=943;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat IFV1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item318
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1379.3519,7.1644082,1284.8704};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this,""ind_c_f""] call f_fnc_assignGear";
- name="VehSyn_IFV1";
- textures="Guerilla_09";
- };
- id=946;
- type="B_G_Offroad_01_armed_F";
- };
- class Item319
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1420.1664,5.0014391,1287.9719};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- rank="CORPORAL";
- init="[""vg"",this] call f_fnc_assignGear;";
- name="UnitSyn_IFV2_G";
- description="Syndikat Technical 2 Gunner";
- isPlayable=1;
- };
- id=948;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1420.1664,5.0014391,1287.9719};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- init="[""vd"",this] call f_fnc_assignGear;";
- name="UnitSyn_IFV2_D";
- description="Syndikat Technical 2 Driver (Repair)";
- isPlayable=1;
- };
- id=949;
- type="I_C_Soldier_Para_1_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.04;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpSyn_IFV2";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=948;
- item1=950;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item1
- {
- linkID=1;
- item0=949;
- item1=950;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=947;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Syndikat IFV2 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item320
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1420.1664,7.1644082,1287.9631};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_ifv"",this,""ind_c_f""] call f_fnc_assignGear";
- name="VehSyn_IFV2";
- textures="Guerilla_09";
- };
- id=950;
- type="B_G_Offroad_01_armed_F";
- };
- class Item321
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1367.5658,6.5695963,1372.9875};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehSyn_CAR1";
- textures="Olive";
- };
- id=951;
- type="I_C_Offroad_02_unarmed_F";
- };
- class Item322
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1366.2035,6.5695963,1345.7668};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehSyn_CAR2";
- textures="Olive";
- };
- id=952;
- type="I_C_Offroad_02_unarmed_F";
- };
- class Item323
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1418.0883,6.8716264,1395.2258};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR1";
- textures="Olive";
- };
- id=953;
- type="I_C_Van_01_transport_F";
- };
- class Item324
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1425.2494,6.8716264,1389.2473};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR2";
- textures="Olive";
- };
- id=954;
- type="I_C_Van_01_transport_F";
- };
- class Item325
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1455.6927,6.8716264,1395.2034};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR3";
- textures="Olive";
- };
- id=955;
- type="I_C_Van_01_transport_F";
- };
- class Item326
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1463.8392,6.8716264,1388.677};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR4";
- textures="Olive";
- };
- id=956;
- type="I_C_Van_01_transport_F";
- };
- class Item327
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1499.974,6.8716264,1393.5471};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR5";
- textures="Olive";
- };
- id=957;
- type="I_C_Van_01_transport_F";
- };
- class Item328
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1516.6342,6.8716264,1389.5872};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_tr"",this] call f_fnc_assignGear";
- name="VehSyn_TR6";
- textures="Olive";
- };
- id=958;
- type="I_C_Van_01_transport_F";
- };
- class Item329
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1574.7318,6.5695963,1367.6516};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehSyn_CAR3";
- textures="Olive";
- };
- id=959;
- type="I_C_Offroad_02_unarmed_F";
- };
- class Item330
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1573.8197,6.5695963,1342.1731};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehSyn_CAR4";
- textures="Olive";
- };
- id=960;
- type="I_C_Offroad_02_unarmed_F";
- };
- class Item331
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1507.1195,5.8924227,1374.9778};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
- name="CrateFIA_C_1";
- };
- id=961;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item332
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1465.9681,5.8924227,1375.2434};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
- name="CrateFIA_B_1";
- };
- id=962;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item333
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1425.1469,5.8924227,1375.5403};
- };
- side="Empty";
- flags=4;
- class Attributes
- {
- skill=0.60000002;
- init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
- name="CrateFIA_A_1";
- };
- id=963;
- type="IG_supplyCrate_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="ammoBox";
- expression="[_this,_value] call bis_fnc_initAmmoBox;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item334
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1348.1381,5,1369.7581};
- };
- id=964;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item335
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.14,5.0014391,1363.6685};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=966;
- type="I_helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1.01;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.14,5.0014391,1363.6685};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- };
- id=967;
- type="I_helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=1;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=966;
- item1=968;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=967;
- item1=968;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=965;
- };
- class Item336
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.14,6.5310755,1363.6184};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- textures="Green";
- };
- id=968;
- type="I_Heli_light_03_F";
- };
- class Item337
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1346.0267,5.0014391,1363.6892};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=970;
- type="I_soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.98000002;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=970;
- item1=971;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=969;
- };
- class Item338
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1346.0267,5.7216258,1363.6389};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=971;
- type="I_Mortar_01_F";
- };
- class Item339
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1350.3256,5,1367.3372};
- };
- id=972;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item340
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1346.0433,5,1367.4338};
- };
- id=973;
- type="SupportProvider_Artillery";
- };
- class Item341
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1348.4252,5,1341.1448};
- };
- id=974;
- type="SupportRequester";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportRequester_BIS_SUPP_limit_UAV";
- expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute1
- {
- property="SupportRequester_BIS_SUPP_custom_HQ";
- expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportRequester_BIS_SUPP_limit_Transport";
- expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute3
- {
- property="SupportRequester_BIS_SUPP_limit_Drop";
- expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute4
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute5
- {
- property="SupportRequester_BIS_SUPP_limit_Artillery";
- expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- class Attribute6
- {
- property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
- expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="-1";
- };
- };
- };
- nAttributes=7;
- };
- };
- class Item342
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.4271,5.0014391,1335.0552};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=976;
- type="I_helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.99000001;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.4271,5.0014391,1335.0552};
- };
- side="Independent";
- flags=4;
- class Attributes
- {
- };
- id=977;
- type="I_helipilot_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=976;
- item1=978;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=977;
- item1=978;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=975;
- };
- class Item343
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1350.4271,6.5310755,1335.0051};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- textures="Green";
- };
- id=978;
- type="I_Heli_light_03_F";
- };
- class Item344
- {
- dataType="Group";
- side="Independent";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1346.3138,5.0014391,1335.0759};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- };
- id=980;
- type="I_soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.97000003;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=980;
- item1=981;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=979;
- };
- class Item345
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1346.3138,5.7216258,1335.0256};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- };
- id=981;
- type="I_Mortar_01_F";
- };
- class Item346
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1350.6117,5,1338.7239};
- };
- id=982;
- type="SupportProvider_Virtual_CAS_Heli";
- class CustomAttributes
- {
- class Attribute0
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
- expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0;
- };
- };
- };
- class Attribute1
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
- expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="";
- };
- };
- };
- class Attribute2
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
- expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="[]";
- };
- };
- };
- class Attribute3
- {
- property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
- expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Side";
- };
- };
- };
- nAttributes=4;
- };
- };
- class Item347
- {
- dataType="Logic";
- class PositionInfo
- {
- position[]={1346.3304,5,1338.8206};
- };
- id=983;
- type="SupportProvider_Artillery";
- };
- class Item348
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={1559.641,6.8630314,1225.556};
- };
- side="Independent";
- flags=6;
- class Attributes
- {
- skill=0.60000002;
- init="[""v_helo_l"",this,""syndikat""] call f_fnc_assignGear";
- name="VehSyn_TH1_1";
- };
- id=1027;
- type="I_Heli_light_03_unarmed_F";
- };
- class Item349
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={489.91336,5.0014391,1044.3853};
- };
- side="West";
- flags=7;
- class Attributes
- {
- rank="CAPTAIN";
- init="[""co"",this] call f_fnc_assignGear;";
- name="UnitGEN_CO";
- description="Gendarmerie Commander";
- isPlayable=1;
- };
- id=1038;
- type="B_GEN_Commander_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_CO";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=1038;
- item1=1088;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=1037;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie CO -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item350
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={490.23773,5.0014391,1022.6599};
- };
- side="West";
- flags=7;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""dc"",this] call f_fnc_assignGear;";
- name="UnitGEN_DC";
- description="Gendarmerie Deputy Commander";
- isPlayable=1;
- };
- id=1040;
- type="B_GEN_Commander_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_DC";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=1;
- };
- class Links
- {
- items=1;
- class Item0
- {
- linkID=0;
- item0=1040;
- item1=1089;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=1039;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie DC -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item351
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.42276,5.1286469,1041.3831};
- };
- side="West";
- flags=6;
- class Attributes
- {
- rank="SERGEANT";
- init="[""pat"",this] call f_fnc_assignGear;";
- name="UnitGEN_A_Sgt";
- description="Gendarmerie Alpha Sergeant";
- isPlayable=1;
- };
- id=1067;
- type="B_GEN_Soldier_F";
- atlOffset=0.12720776;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={509.84177,5.0014391,1044.8337};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""pat"",this] call f_fnc_assignGear;";
- name="UnitGEN_A_G2";
- description="Gendarmerie Alpha Gendarme";
- isPlayable=1;
- };
- id=1068;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={512.95728,5.0014391,1039.1799};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""pat"",this] call f_fnc_assignGear;";
- name="UnitGEN_A_G3";
- description="Gendarmerie Alpha Gendarme";
- isPlayable=1;
- };
- id=1069;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={513.53827,5.1286469,1035.7292};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""pat"",this] call f_fnc_assignGear;";
- name="UnitGEN_A_G1";
- description="Gendarmerie Alpha Gendarme";
- isPlayable=1;
- };
- id=1066;
- type="B_GEN_Soldier_F";
- atlOffset=0.12720776;
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_A";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=1067;
- item1=1090;
- class CustomData
- {
- role=3;
- cargoIndex=0;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1068;
- item1=1090;
- class CustomData
- {
- role=1;
- };
- };
- class Item2
- {
- linkID=2;
- item0=1069;
- item1=1091;
- class CustomData
- {
- role=1;
- };
- };
- class Item3
- {
- linkID=3;
- item0=1066;
- item1=1091;
- class CustomData
- {
- role=3;
- cargoIndex=0;
- };
- };
- };
- };
- id=1041;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie Alpha -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item352
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.1658,5.0014391,1021.7027};
- };
- side="West";
- flags=6;
- class Attributes
- {
- rank="SERGEANT";
- init="[""smg"",this] call f_fnc_assignGear;";
- name="UnitGEN_B_Sgt";
- description="Gendarmerie Bravo Sergeant";
- isPlayable=1;
- };
- id=1070;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.1658,5.0014391,1021.7027};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""smg"",this] call f_fnc_assignGear;";
- name="UnitGEN_B_G1";
- description="Gendarmerie Bravo Gendarme";
- isPlayable=1;
- };
- id=1071;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.1658,5.0014391,1021.7027};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""smg"",this] call f_fnc_assignGear;";
- name="UnitGEN_B_G2";
- description="Gendarmerie Bravo Gendarme";
- isPlayable=1;
- };
- id=1072;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.1658,5.0014391,1021.7027};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""smg"",this] call f_fnc_assignGear;";
- name="UnitGEN_B_G3";
- description="Gendarmerie Bravo Gendarme";
- isPlayable=1;
- };
- id=1073;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_B";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=1070;
- item1=1092;
- class CustomData
- {
- role=3;
- cargoIndex=0;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1071;
- item1=1092;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=1072;
- item1=1092;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=1073;
- item1=1092;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=1049;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie Bravo -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item353
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.59879,5.0014391,999.65369};
- };
- side="West";
- flags=6;
- class Attributes
- {
- rank="SERGEANT";
- init="[""car"",this] call f_fnc_assignGear;";
- name="UnitGEN_C_Sgt";
- description="Gendarmerie Charlie Sergeant";
- isPlayable=1;
- };
- id=1074;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.59879,5.0014391,999.65369};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""car"",this] call f_fnc_assignGear;";
- name="UnitGEN_C_G1";
- description="Gendarmerie Charlie Gendarme";
- isPlayable=1;
- };
- id=1075;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.59879,5.0014391,999.65369};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""car"",this] call f_fnc_assignGear;";
- name="UnitGEN_C_G2";
- description="Gendarmerie Charlie Gendarme";
- isPlayable=1;
- };
- id=1076;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.59879,5.0014391,999.65369};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""car"",this] call f_fnc_assignGear;";
- name="UnitGEN_C_G3";
- description="Gendarmerie Charlie Gendarme";
- isPlayable=1;
- };
- id=1077;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_C";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=1074;
- item1=1093;
- class CustomData
- {
- role=3;
- cargoIndex=0;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1075;
- item1=1093;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- class Item2
- {
- linkID=2;
- item0=1076;
- item1=1093;
- class CustomData
- {
- role=2;
- turretPath[]={1};
- };
- };
- class Item3
- {
- linkID=3;
- item0=1077;
- item1=1093;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=1054;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie Charlie -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item354
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=4;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.27676,5.0014391,976.62372};
- };
- side="West";
- flags=6;
- class Attributes
- {
- rank="SERGEANT";
- init="[""nf"",this] call f_fnc_assignGear;";
- name="UnitGEN_J_Sgt";
- description="Gendarmerie Juliet Sergeant (Night Force)";
- isPlayable=1;
- };
- id=1078;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.27676,5.0014391,976.62372};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""nf"",this] call f_fnc_assignGear;";
- name="UnitGEN_J_G1";
- description="Gendarmerie Juliet Gendarme (Night Force)";
- isPlayable=1;
- };
- id=1079;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item2
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.27676,5.0014391,976.62372};
- };
- side="West";
- flags=4;
- class Attributes
- {
- rank="CORPORAL";
- init="[""nf"",this] call f_fnc_assignGear;";
- name="UnitGEN_J_G2";
- description="Gendarmerie Juliet Gendarme (Night Force)";
- isPlayable=1;
- };
- id=1080;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item3
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.27676,5.0014391,976.62372};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""nf"",this] call f_fnc_assignGear;";
- name="UnitGEN_J_G3";
- description="Gendarmerie Juliet Gendarme (Night Force)";
- isPlayable=1;
- };
- id=1081;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_J";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=4;
- };
- class Links
- {
- items=4;
- class Item0
- {
- linkID=0;
- item0=1078;
- item1=1098;
- class CustomData
- {
- role=3;
- cargoIndex=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1079;
- item1=1098;
- class CustomData
- {
- role=3;
- cargoIndex=0;
- };
- };
- class Item2
- {
- linkID=2;
- item0=1080;
- item1=1098;
- class CustomData
- {
- role=3;
- cargoIndex=2;
- };
- };
- class Item3
- {
- linkID=3;
- item0=1081;
- item1=1098;
- class CustomData
- {
- role=1;
- };
- };
- };
- };
- id=1059;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie Juliet -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item355
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=1;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={491.44461,5.0014391,999.80695};
- };
- side="West";
- flags=6;
- class Attributes
- {
- rank="SERGEANT";
- init="[""mk"",this] call f_fnc_assignGear;";
- name="UnitGEN_MK_MK";
- description="Gendarmerie Marksman";
- isPlayable=1;
- };
- id=1082;
- type="B_GEN_Soldier_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_MK";
- };
- id=1064;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie MK -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item356
- {
- dataType="Group";
- side="West";
- class Entities
- {
- items=2;
- class Item0
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={491.17267,5.0014391,976.23016};
- };
- side="West";
- flags=7;
- class Attributes
- {
- rank="LIEUTENANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitGEN_TH1_P";
- description="Gendarmerie Transport Helo 1 Pilot";
- isPlayable=1;
- };
- id=1084;
- type="B_GEN_Commander_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item1
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={491.17267,5.0014391,976.23016};
- };
- side="West";
- flags=5;
- class Attributes
- {
- rank="SERGEANT";
- init="[""pp"",this] call f_fnc_assignGear;";
- name="UnitGEN_TH1_CP";
- description="Gendarmerie Transport Helo 1 Co-Pilot (Repair)";
- isPlayable=1;
- };
- id=1086;
- type="B_GEN_Commander_F";
- class CustomAttributes
- {
- class Attribute0
- {
- property="pitch";
- expression="_this setpitch _value;";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "SCALAR"
- };
- };
- value=0.94999999;
- };
- };
- };
- nAttributes=1;
- };
- };
- };
- class Attributes
- {
- name="GrpGEN_TH1";
- };
- class CrewLinks
- {
- class LinkIDProvider
- {
- nextID=2;
- };
- class Links
- {
- items=2;
- class Item0
- {
- linkID=0;
- item0=1084;
- item1=1087;
- class CustomData
- {
- role=1;
- };
- };
- class Item1
- {
- linkID=1;
- item0=1086;
- item1=1087;
- class CustomData
- {
- role=2;
- turretPath[]={0};
- };
- };
- };
- };
- id=1083;
- class CustomAttributes
- {
- class Attribute0
- {
- property="groupID";
- expression="_this setGroupID [_value];";
- class Value
- {
- class data
- {
- class type
- {
- type[]=
- {
- "STRING"
- };
- };
- value="Gendarmerie TH1 -";
- };
- };
- };
- nAttributes=1;
- };
- };
- class Item357
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={491.17273,5.6047058,975.20013};
- };
- side="West";
- flags=6;
- class Attributes
- {
- init="[""v_helo_l"",this] call f_fnc_assignGear";
- name="VehGEN_TH1";
- textures="BlueLine";
- };
- id=1087;
- type="C_Heli_Light_01_civil_F";
- };
- class Item358
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={489.91336,6.6115026,1044.366};
- };
- side="West";
- flags=6;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR1";
- };
- id=1088;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item359
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={490.23773,6.6115026,1022.6406};
- };
- side="West";
- flags=6;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR2";
- };
- id=1089;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item360
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={509.84177,6.6115026,1044.8145};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR3";
- };
- id=1090;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item361
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={512.95728,6.6115026,1039.1606};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR4";
- };
- id=1091;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item362
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.1658,6.6115026,1021.6835};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR5";
- };
- id=1092;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item363
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.59879,6.6115026,999.63446};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR6";
- };
- id=1093;
- type="B_GEN_Offroad_01_gen_F";
- };
- class Item364
- {
- dataType="Object";
- class PositionInfo
- {
- position[]={510.27676,6.5964622,976.57373};
- };
- side="West";
- flags=4;
- class Attributes
- {
- init="[""v_car"",this] call f_fnc_assignGear";
- name="VehGEN_CAR7";
- textures="Black";
- };
- id=1098;
- type="C_SUV_01_F";
- };
- };
- class Connections
- {
- class LinkIDProvider
- {
- nextID=50;
- };
- class Links
- {
- items=50;
- class Item0
- {
- linkID=0;
- item0=813;
- item1=110;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item1
- {
- linkID=1;
- item0=804;
- item1=110;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item2
- {
- linkID=2;
- item0=192;
- item1=110;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item3
- {
- linkID=3;
- item0=115;
- item1=813;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item4
- {
- linkID=4;
- item0=118;
- item1=804;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item5
- {
- linkID=5;
- item0=820;
- item1=120;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item6
- {
- linkID=6;
- item0=802;
- item1=120;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item7
- {
- linkID=7;
- item0=681;
- item1=120;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item8
- {
- linkID=8;
- item0=125;
- item1=820;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item9
- {
- linkID=9;
- item0=128;
- item1=802;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item10
- {
- linkID=10;
- item0=814;
- item1=130;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item11
- {
- linkID=11;
- item0=801;
- item1=130;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item12
- {
- linkID=12;
- item0=686;
- item1=130;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item13
- {
- linkID=13;
- item0=135;
- item1=814;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item14
- {
- linkID=14;
- item0=138;
- item1=801;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item15
- {
- linkID=15;
- item0=819;
- item1=140;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item16
- {
- linkID=16;
- item0=799;
- item1=140;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item17
- {
- linkID=17;
- item0=369;
- item1=140;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item18
- {
- linkID=18;
- item0=149;
- item1=819;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item19
- {
- linkID=19;
- item0=145;
- item1=799;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item20
- {
- linkID=20;
- item0=818;
- item1=150;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item21
- {
- linkID=21;
- item0=800;
- item1=150;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item22
- {
- linkID=22;
- item0=374;
- item1=150;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item23
- {
- linkID=23;
- item0=159;
- item1=818;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item24
- {
- linkID=24;
- item0=155;
- item1=800;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item25
- {
- linkID=25;
- item0=817;
- item1=160;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item26
- {
- linkID=26;
- item0=797;
- item1=160;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item27
- {
- linkID=27;
- item0=532;
- item1=160;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item28
- {
- linkID=28;
- item0=169;
- item1=817;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item29
- {
- linkID=29;
- item0=165;
- item1=797;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item30
- {
- linkID=30;
- item0=816;
- item1=170;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item31
- {
- linkID=31;
- item0=798;
- item1=170;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item32
- {
- linkID=32;
- item0=537;
- item1=170;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item33
- {
- linkID=33;
- item0=179;
- item1=816;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item34
- {
- linkID=34;
- item0=175;
- item1=798;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item35
- {
- linkID=35;
- item0=815;
- item1=180;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item36
- {
- linkID=36;
- item0=803;
- item1=180;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item37
- {
- linkID=37;
- item0=197;
- item1=180;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item38
- {
- linkID=38;
- item0=185;
- item1=815;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item39
- {
- linkID=39;
- item0=188;
- item1=803;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item40
- {
- linkID=40;
- item0=973;
- item1=964;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item41
- {
- linkID=41;
- item0=972;
- item1=964;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item42
- {
- linkID=42;
- item0=970;
- item1=973;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item43
- {
- linkID=43;
- item0=966;
- item1=972;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item44
- {
- linkID=44;
- item0=983;
- item1=974;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item45
- {
- linkID=45;
- item0=982;
- item1=974;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item46
- {
- linkID=46;
- item0=980;
- item1=983;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item47
- {
- linkID=47;
- item0=976;
- item1=982;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item48
- {
- linkID=48;
- item0=824;
- item1=964;
- class CustomData
- {
- type="Sync";
- };
- };
- class Item49
- {
- linkID=49;
- item0=839;
- item1=974;
- class CustomData
- {
- type="Sync";
- };
- };
- };
- };
-};
+version=54;
+class EditorData
+{
+ moveGridStep=1;
+ angleGridStep=0.2617994;
+ scaleGridStep=1;
+ autoGroupingDist=10;
+ toggles=517;
+ class ItemIDProvider
+ {
+ nextID=3726;
+ };
+ class Camera
+ {
+ pos[]={1429.4276,30,1650.8149};
+ dir[]={0,-0.70710683,0.70710683};
+ up[]={0,0.70710677,0.70710677};
+ aside[]={0.99999994,0,-0};
+ };
+};
+binarizationWanted=0;
+sourceName="FA3-5-7_release_template";
+addons[]=
+{
+ "A3_Soft_F_Enoch_Truck_02",
+ "A3_Soft_F_Enoch_Offroad_01",
+ "A3_Modules_F_Supports",
+ "A3_Characters_F_Enoch",
+ "A3_Air_F_Enoch_Heli_Light_03",
+ "A3_Modules_F",
+ "A3_Static_F_Enoch_Mortar_01",
+ "A3_Supplies_F_Enoch_Ammoboxes",
+ "A3_Armor_F_Enoch_APC_Tracked_03",
+ "A3_Weapons_F_Ammoboxes",
+ "A3_Characters_F",
+ "A3_Soft_F_Offroad_01",
+ "A3_Soft_F_Gamma_Van_01",
+ "A3_Air_F_Heli_Light_02",
+ "A3_Static_F_Mortar_01",
+ "A3_Air_F_Heli_Light_01",
+ "A3_Air_F_Heli_Heli_Transport_03",
+ "A3_Air_F_Heli_Heli_Transport_04",
+ "A3_Air_F_Beta_Heli_Transport_02",
+ "A3_Air_F_Beta_Heli_Transport_01",
+ "A3_Armor_F_Beta_APC_Tracked_01",
+ "A3_Air_F_Beta_Heli_Attack_01",
+ "A3_Armor_F_Beta_APC_Wheeled_02",
+ "A3_Air_F_Beta_Heli_Attack_02",
+ "A3_Armor_F_EPC_MBT_01",
+ "A3_Armor_F_Gamma_APC_Wheeled_03",
+ "A3_Armor_F_Gamma_MBT_02",
+ "A3_Armor_F_EPB_MBT_03",
+ "A3_Air_F_EPB_Heli_Light_03",
+ "A3_Soft_F_Beta_Truck_02",
+ "A3_Soft_F_Beta_MRAP_03",
+ "A3_Soft_F_MRAP_01",
+ "A3_Soft_F_Beta_Truck_01",
+ "A3_Soft_F_Exp_Truck_01",
+ "A3_Soft_F_MRAP_02",
+ "A3_Armor_F_Beta_APC_Wheeled_01",
+ "A3_Armor_F_Beta_APC_Tracked_02",
+ "A3_Armor_F_EPB_APC_Tracked_03",
+ "A3_Modules_F_Curator_Curator",
+ "A3_Data_F_Curator_Virtual",
+ "A3_Characters_F_Exp",
+ "A3_Soft_F_Exp_Offroad_02",
+ "A3_Soft_F_Exp_Van_01",
+ "A3_Soft_F_Exp_Offroad_01",
+ "A3_Soft_F_Gamma_SUV_01",
+ "A3_Data_F_Exp_A_Virtual",
+ "A3_Air_F_EPC_Plane_CAS_01",
+ "A3_Characters_F_Jets",
+ "A3_Air_F_Gamma_Plane_Fighter_03",
+ "A3_Air_F_EPC_Plane_CAS_02",
+ "A3_Soft_F_Bootcamp_Van_01"
+};
+class AddonsMetaData
+{
+ class List
+ {
+ items=30;
+ class Item0
+ {
+ className="A3_Soft_F_Enoch";
+ name="Arma 3 Contact Platform - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item1
+ {
+ className="A3_Modules_F";
+ name="Arma 3 Alpha - Scripted Modules";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item2
+ {
+ className="A3_Characters_F_Enoch";
+ name="Arma 3 Contact Platform - Characters and Clothing";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item3
+ {
+ className="A3_Air_F_Enoch";
+ name="Arma 3 Enoch - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item4
+ {
+ className="A3_Static_F_Enoch";
+ name="Arma 3 Enoch - Turrets";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item5
+ {
+ className="A3_Supplies_F_Enoch";
+ name="Arma 3 Enoch - Ammoboxes and Supplies";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item6
+ {
+ className="A3_Armor_F_Enoch";
+ name="CFGPATCHES_A3_Armor_F_Enoch";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item7
+ {
+ className="A3_Weapons_F";
+ name="Arma 3 Alpha - Weapons and Accessories";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item8
+ {
+ className="A3_Characters_F";
+ name="Arma 3 Alpha - Characters and Clothing";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item9
+ {
+ className="A3_Soft_F";
+ name="Arma 3 Alpha - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item10
+ {
+ className="A3_Soft_F_Gamma";
+ name="Arma 3 - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item11
+ {
+ className="A3_Air_F";
+ name="Arma 3 Alpha - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item12
+ {
+ className="A3_Static_F";
+ name="Arma 3 Alpha - Turrets";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item13
+ {
+ className="A3_Air_F_Heli";
+ name="Arma 3 Helicopters - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item14
+ {
+ className="A3_Air_F_Beta";
+ name="Arma 3 Beta - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item15
+ {
+ className="A3_Armor_F_Beta";
+ name="Arma 3 Beta - Armored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item16
+ {
+ className="A3_Armor_F_EPC";
+ name="Arma 3 Win Episode - Armored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item17
+ {
+ className="A3_Armor_F_Gamma";
+ name="Arma 3 - Armored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item18
+ {
+ className="A3_Armor_F_EPB";
+ name="Arma 3 Adapt Episode - Armored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item19
+ {
+ className="A3_Air_F_EPB";
+ name="Arma 3 Adapt Episode - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item20
+ {
+ className="A3_Soft_F_Beta";
+ name="Arma 3 Beta - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item21
+ {
+ className="A3_Soft_F_Exp";
+ name="Arma 3 Apex - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item22
+ {
+ className="A3_Modules_F_Curator";
+ name="Arma 3 Zeus Update - Scripted Modules";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item23
+ {
+ className="A3_Data_F_Curator";
+ name="Arma 3 Zeus Update - Main Configuration";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item24
+ {
+ className="A3_Characters_F_Exp";
+ name="Arma 3 Apex - Characters and Clothing";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item25
+ {
+ className="A3_Data_F_Exp_A";
+ name="Arma 3 Nexus Update - Main Configuration";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item26
+ {
+ className="A3_Air_F_EPC";
+ name="Arma 3 Win Episode - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item27
+ {
+ className="A3_Characters_F_Jets";
+ name="Arma 3 Jets - Characters and Clothing";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item28
+ {
+ className="A3_Air_F_Gamma";
+ name="Arma 3 - Aircraft";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ class Item29
+ {
+ className="A3_Soft_F_Bootcamp";
+ name="Arma 3 Bootcamp Update - Unarmored Land Vehicles";
+ author="Bohemia Interactive";
+ url="https://www.arma3.com";
+ };
+ };
+};
+randomSeed=1116085;
+class ScenarioData
+{
+ author="*** Insert mission author name here. ***";
+ overViewPicture="overviewLogo.jpg";
+ onLoadMission="Made with the F3 Mission Development Framework.";
+ loadScreen="loadLogo.jpg";
+};
+class CustomAttributes
+{
+ class Category0
+ {
+ name="Scenario";
+ class Attribute0
+ {
+ property="EnableDebugConsole";
+ expression="true";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+};
+class Mission
+{
+ class Intel
+ {
+ briefingName="fa3-5-7";
+ resistanceWest=0;
+ timeOfChanges=28800;
+ startWeather=0.50001526;
+ startWind=0.25;
+ startGust=0.25;
+ forecastWeather=0.50277799;
+ forecastWind=0.25;
+ forecastWaves=0;
+ forecastGust=0.25;
+ rainForced=1;
+ lightningsForced=1;
+ wavesForced=1;
+ windForced=1;
+ year=2035;
+ month=7;
+ day=6;
+ hour=8;
+ minute=15;
+ startFogDecay=0;
+ forecastFogDecay=0;
+ };
+ class Entities
+ {
+ items=593;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1414.5186,7.3817577,571.53052};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehLDF_TR1";
+ };
+ id=2053;
+ type="I_E_Truck_02_transport_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1459.9346,7.3817577,571.48462};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehLDF_TR2";
+ };
+ id=2054;
+ type="I_E_Truck_02_transport_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1502.0322,7.3817577,571.65845};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehLDF_TR3";
+ };
+ id=2055;
+ type="I_E_Truck_02_transport_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1364.127,6.8319178,557.20605};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehLDF_CAR1";
+ reportRemoteTargets=1;
+ };
+ id=2056;
+ type="I_E_Offroad_01_comms_F";
+ atlOffset=0.11480904;
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1364.3169,6.8319178,527.73975};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehLDF_CAR2";
+ reportRemoteTargets=1;
+ };
+ id=2057;
+ type="I_E_Offroad_01_comms_F";
+ atlOffset=0.11480904;
+ };
+ class Item5
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1347.4922,5,555.66821};
+ };
+ id=2073;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item6
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1349.4941,5.0014391,549.57861};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2075;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1349.4941,5.0014391,549.57861};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2076;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2075;
+ item1=2077;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2076;
+ item1=2077;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2074;
+ };
+ class Item7
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1349.4941,6.5310755,549.52856};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2077;
+ type="I_E_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item8
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1345.3809,5.0014391,549.59961};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2367;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2367;
+ item1=2366;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2078;
+ };
+ class Item9
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1347.9287,5,525.74048};
+ };
+ id=2081;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item10
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1350.0137,5.0014391,519.70459};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2083;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1350.0137,5.0014391,519.70459};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2084;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2083;
+ item1=2085;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2084;
+ item1=2085;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2082;
+ };
+ class Item11
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1350.0137,6.5310755,519.65454};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2085;
+ type="I_E_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item12
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1345.855,5.0014391,519.698};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2369;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2369;
+ item1=2368;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2086;
+ };
+ class Item13
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1349.6787,5,553.24731};
+ };
+ id=2196;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item14
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1350.1152,5,523.32056};
+ };
+ id=2197;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item15
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1345.834,5,523.41724};
+ };
+ id=2198;
+ type="SupportProvider_Artillery";
+ };
+ class Item16
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1345.3975,5,553.34399};
+ };
+ id=2199;
+ type="SupportProvider_Artillery";
+ };
+ class Item17
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1404.6733,5,580.39526};
+ };
+ name="F3_preMount_LDF";
+ init="[synchronizedObjects this, [""GrpLDF_ASL"",""GrpLDF_A1"",""GrpLDF_A2""], true, false] call f_fnc_mountGroups;";
+ id=2200;
+ type="Logic";
+ };
+ class Item18
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1448.5806,5,582.0376};
+ };
+ name="F3_preMount_LDF_1";
+ init="[synchronizedObjects this, [""GrpLDF_BSL"",""GrpLDF_B1"",""GrpLDF_B2""], true, false] call f_fnc_mountGroups;;";
+ id=2201;
+ type="Logic";
+ };
+ class Item19
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1491.5488,5,581.80518};
+ };
+ name="F3_preMount_LDF_2";
+ init="[synchronizedObjects this, [""GrpLDF_CSL"",""GrpLDF_C1"",""GrpLDF_C2""], true, false] call f_fnc_mountGroups;";
+ id=2202;
+ type="Logic";
+ };
+ class Item20
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1361.9395,5,574.99536};
+ };
+ name="F3_preMount_LDF_3";
+ init="[synchronizedObjects this, [""GrpLDF_CO""], true, false] call f_fnc_mountGroups;";
+ id=2203;
+ type="Logic";
+ };
+ class Item21
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1360.7656,5,546.81909};
+ };
+ name="F3_preMount_LDF_4";
+ init="[synchronizedObjects this, [""GrpLDF_DC""], true, false] call f_fnc_mountGroups;";
+ id=2204;
+ type="Logic";
+ };
+ class Item22
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1575.2297,6.8321085,546.9436};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehLDF_CAR3";
+ reportRemoteTargets=1;
+ };
+ id=2362;
+ type="I_E_Offroad_01_covered_F";
+ atlOffset=0.11499977;
+ };
+ class Item23
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1576.6787,6.8321085,519.27856};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehLDF_CAR4";
+ reportRemoteTargets=1;
+ };
+ id=2363;
+ type="I_E_Offroad_01_covered_F";
+ atlOffset=0.11499977;
+ };
+ class Item24
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1345.3809,5.7216258,549.54932};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2366;
+ type="I_E_Mortar_01_F";
+ };
+ class Item25
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1345.855,5.7216258,519.64764};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2368;
+ type="I_E_Mortar_01_F";
+ };
+ class Item26
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1419.1116,5.8924227,562.052};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_e_f""] call f_fnc_assignGear";
+ name="CrateLDF_A";
+ };
+ id=2371;
+ type="I_EAF_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item27
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1463.3728,5.8924227,563.448};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_e_f""] call f_fnc_assignGear";
+ name="CrateLDF_B";
+ };
+ id=2372;
+ type="I_EAF_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item28
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1505.8157,5.8924227,563.55298};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_e_f""] call f_fnc_assignGear";
+ name="CrateLDF_C";
+ };
+ id=2373;
+ type="I_EAF_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item29
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.5498,5.0014391,558.7395};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CO";
+ description="LDF Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2090;
+ type="I_E_Officer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1377.5498,5.0014391,557.08911};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CO_JTAC";
+ description="LDF Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2091;
+ type="I_E_Officer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1367.5498,5.0014391,557.08911};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CO_UAV";
+ description="LDF UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2092;
+ type="I_E_Soldier_UAV_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.5498,5.0014391,554.34985};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CO_M";
+ description="LDF Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2093;
+ type="I_E_Medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_CO";
+ };
+ id=2089;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item30
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.8486,5.0014391,529.15942};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_DC";
+ description="LDF Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2095;
+ type="I_E_Officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1377.8486,5.0014391,527.50903};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitLDF_DC_JTAC";
+ description="LDF Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2096;
+ type="I_E_Officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1367.8486,5.0014391,527.50903};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitLDF_DC_UAV";
+ description="LDF UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2097;
+ type="I_E_Soldier_UAV_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.8486,5.0014391,524.76978};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitLDF_DC_M";
+ description="LDF Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2098;
+ type="I_E_Medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_DC";
+ init="DC";
+ };
+ id=2094;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item31
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1371.785,7.6137953,468.95001};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_COV";
+ };
+ id=2028;
+ type="I_E_APC_tracked_03_cannon_F";
+ atlOffset=0.10300016;
+ };
+ class Item32
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1371.785,5.1044393,469};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_COV_C";
+ description="LDF Command Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2025;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1371.785,5.1044393,469};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_COV_G";
+ description="LDF Command Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2026;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1371.785,5.1044393,469};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_COV_D";
+ description="LDF Command Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2027;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_COV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2025;
+ item1=2028;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2026;
+ item1=2028;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2027;
+ item1=2028;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2024;
+ atlOffset=0.10300016;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF COV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item33
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1413.4414,5.0014391,557.36743};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_ASL_SL";
+ description="LDF Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2100;
+ type="I_E_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1418.4414,5.0014391,555.71704};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitLDF_ASL_M";
+ description="LDF Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2101;
+ type="I_E_Medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_ASL";
+ };
+ id=2099;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item34
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1414.377,5.0014391,530.0813};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_FTL";
+ description="LDF Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2103;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1419.377,5.0014391,528.43091};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_AR1";
+ description="LDF Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2104;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1409.377,5.0014391,528.43091};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_AR2";
+ description="LDF Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2105;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.377,5.0014391,525.69263};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_AT";
+ description="LDF Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2106;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1404.377,5.0014391,525.69263};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_R1";
+ description="LDF Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2107;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1429.377,5.0014391,521.14478};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A1_R2";
+ description="LDF Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2108;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_A1";
+ };
+ id=2102;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item35
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1414.1133,5.0014391,504.26099};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_FTL";
+ description="LDF Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2110;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1419.1133,5.0014391,502.6106};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_AR1";
+ description="LDF Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2111;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1409.1133,5.0014391,502.6106};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_AR2";
+ description="LDF Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2112;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.1133,5.0014391,499.87134};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_AT";
+ description="LDF Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2113;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1404.1133,5.0014391,499.87134};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_R1";
+ description="LDF Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2114;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1429.1133,5.0014391,495.32544};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_A2_R2";
+ description="LDF Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2115;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_A2";
+ };
+ id=2109;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item36
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1416.485,7.6137953,467.81};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_AV";
+ };
+ id=2033;
+ type="I_E_APC_tracked_03_cannon_F";
+ atlOffset=0.10300016;
+ };
+ class Item37
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1416.485,5.1044393,467.85999};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_AV_C";
+ description="LDF Alpha Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2030;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1416.485,5.1044393,467.85999};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_AV_G";
+ description="LDF Alpha Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2031;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1416.485,5.1044393,467.85999};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_AV_D";
+ description="LDF Alpha Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2032;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_AV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2030;
+ item1=2033;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2031;
+ item1=2033;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2032;
+ item1=2033;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2029;
+ atlOffset=0.10300016;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF AV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item38
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.542,5.0014391,557.46509};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_BSL_SL";
+ description="LDF Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2117;
+ type="I_E_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1461.542,5.0014391,555.8147};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitLDF_BSL_M";
+ description="LDF Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2118;
+ type="I_E_Medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_BSL";
+ };
+ id=2116;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item39
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.7939,5.0014391,530.02954};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_FTL";
+ description="LDF Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2120;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1461.7939,5.0014391,528.37915};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_AR1";
+ description="LDF Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2121;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1451.7939,5.0014391,528.37915};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_AR2";
+ description="LDF Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2122;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.7939,5.0014391,525.63989};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_AT";
+ description="LDF Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2123;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1446.7939,5.0014391,525.63989};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_R1";
+ description="LDF Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2124;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1471.7939,5.0014391,521.09302};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B1_R2";
+ description="LDF Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2125;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_B1";
+ };
+ id=2119;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item40
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.4775,5.0014391,503.73657};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_FTL";
+ description="LDF Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2127;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1461.4775,5.0014391,502.08716};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_AR1";
+ description="LDF Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2128;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1451.4775,5.0014391,502.08716};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_AR2";
+ description="LDF Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2129;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.4775,5.0014391,499.34692};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_AT";
+ description="LDF Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2130;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1446.4775,5.0014391,499.34692};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_R1";
+ description="LDF Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2131;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1471.4775,5.0014391,494.80005};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_B2_R2";
+ description="LDF Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2132;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_B2";
+ };
+ id=2126;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item41
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.302,7.6137953,467.875};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_BV";
+ };
+ id=2038;
+ type="I_E_APC_tracked_03_cannon_F";
+ atlOffset=0.10300016;
+ };
+ class Item42
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.302,5.1044393,467.92499};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_BV_C";
+ description="LDF Bravo Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2035;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.302,5.1044393,467.92499};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_BV_G";
+ description="LDF Bravo Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2036;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.302,5.1044393,467.92499};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_BV_D";
+ description="LDF Bravo Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2037;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_BV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2035;
+ item1=2038;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2036;
+ item1=2038;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2037;
+ item1=2038;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2034;
+ atlOffset=0.10300016;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF BV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item43
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.3818,5.0014391,556.94556};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CSL_SL";
+ description="LDF Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2134;
+ type="I_E_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1504.3818,5.0014391,555.29517};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CSL_M";
+ description="LDF Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2135;
+ type="I_E_Medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_CSL";
+ };
+ id=2133;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item44
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1500.0381,5.0014391,528.6272};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_FTL";
+ description="LDF Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2137;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1505.0381,5.0014391,526.97681};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_AR1";
+ description="LDF Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2138;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1495.0381,5.0014391,526.97681};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_AR2";
+ description="LDF Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2139;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1510.0381,5.0014391,524.23755};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_AT";
+ description="LDF Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2140;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1490.0381,5.0014391,524.23755};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_R1";
+ description="LDF Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2141;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1515.0381,5.0014391,519.69067};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C1_R2";
+ description="LDF Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2142;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_C1";
+ };
+ id=2136;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item45
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.7188,5.0014391,503.6897};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_FTL";
+ description="LDF Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2144;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1504.7188,5.0014391,502.03833};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_AR1";
+ description="LDF Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2145;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1494.7188,5.0014391,502.03833};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_AR2";
+ description="LDF Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2146;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1509.7188,5.0014391,499.30005};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_AT";
+ description="LDF Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2147;
+ type="I_E_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1489.7188,5.0014391,499.30005};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_R1";
+ description="LDF Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2148;
+ type="I_E_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1514.7188,5.0014391,494.75317};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitLDF_C2_R2";
+ description="LDF Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2149;
+ type="I_E_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_C2";
+ };
+ id=2143;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item46
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.854,7.6137953,468.159};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_CV";
+ };
+ id=2043;
+ type="I_E_APC_tracked_03_cannon_F";
+ atlOffset=0.10300016;
+ };
+ class Item47
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.854,5.1044393,468.20898};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CV_C";
+ description="LDF Charlie Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2040;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.854,5.1044393,468.20898};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CV_G";
+ description="LDF Charlie Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2041;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.854,5.1044393,468.20898};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_CV_D";
+ description="LDF Charlie Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2042;
+ type="I_E_Crew_F";
+ atlOffset=0.10300016;
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_CV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2040;
+ item1=2043;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2041;
+ item1=2043;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2042;
+ item1=2043;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2039;
+ atlOffset=0.10300016;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF CV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item48
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.7844,5.0014391,555.58716};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG1_TL";
+ description="LDF Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2151;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1562.7842,5.0014391,553.93677};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG1_G";
+ description="LDF Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2152;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1553.6216,5.0014391,553.96533};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG1_AG";
+ description="LDF Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2153;
+ type="I_E_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MMG1";
+ };
+ id=2150;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item49
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.8096,5.0014391,540.84521};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG2_TL";
+ description="LDF Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2155;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1562.8096,5.0014391,539.19458};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG2_G";
+ description="LDF Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2156;
+ type="I_E_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1553.6475,5.0014391,539.22339};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitLDF_MMG2_AG";
+ description="LDF Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2157;
+ type="I_E_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MMG2";
+ };
+ id=2154;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item50
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.9155,5.0014391,527.56909};
+ angles[]={0,0.030927233,0};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT1_TL";
+ description="LDF Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2159;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1562.915,5.0014391,525.91919};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT1_G";
+ description="LDF Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2160;
+ type="I_E_Soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1553.7524,5.0014391,525.94824};
+ angles[]={0,0.030927233,0};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT1_AG";
+ description="LDF Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2161;
+ type="I_E_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MAT1";
+ };
+ id=2158;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item51
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.3345,5.0014391,516.03418};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT2_TL";
+ description="LDF Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2163;
+ type="I_E_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.334,5.0014391,514.38403};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT2_G";
+ description="LDF Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2164;
+ type="I_E_Soldier_AT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1554.1714,5.0014391,514.41333};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MAT2_AG";
+ description="LDF Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2165;
+ type="I_E_Soldier_AAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MAT2";
+ };
+ id=2162;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item52
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.2803,5.0014391,502.91431};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HMG1_TL";
+ description="LDF Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2167;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.2803,5.0014391,501.26392};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hmgg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HMG1_G";
+ description="LDF Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2168;
+ type="I_E_Support_MG_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_HMG1";
+ };
+ id=2166;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item53
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.2666,5.0014391,491.53516};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HAT1_TL";
+ description="LDF Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2170;
+ type="I_E_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.2666,5.0014391,489.88501};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hatg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HAT1_G";
+ description="LDF Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2171;
+ type="I_E_Soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1554.1045,5.0014391,489.91431};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HAT1_AG";
+ description="LDF Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2172;
+ type="I_E_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_HAT1";
+ };
+ id=2169;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item54
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.2676,5.0014391,479.41626};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MTR1_TL";
+ description="LDF Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2174;
+ type="I_E_Support_AMort_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.2676,5.0014391,477.76587};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mtrg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MTR1_G";
+ description="LDF Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2175;
+ type="I_E_Support_Mort_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MTR1";
+ };
+ id=2173;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item55
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.0566,5.0014391,467.41821};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MSAM1_TL";
+ description="LDF Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2177;
+ type="I_E_Soldier_AAA_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.0566,5.0014391,465.76782};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""msamg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MSAM1_G";
+ description="LDF Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2178;
+ type="I_E_Soldier_AA_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1553.8945,5.0014391,465.79614};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_MSAM1_AG";
+ description="LDF Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2179;
+ type="I_E_Soldier_AAA_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_MSAM1";
+ };
+ id=2176;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item56
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1558.2324,5.0014391,454.23657};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HSAM1_TL";
+ description="LDF Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2181;
+ type="I_E_Soldier_AAA_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.2324,5.0014391,452.58618};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hsamg"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_HSAM1_G";
+ description="LDF Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2182;
+ type="I_E_Soldier_AA_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_HSAM1";
+ };
+ id=2180;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item57
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.9316,5.0014391,443.3999};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ST1_SP";
+ description="LDF Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2383;
+ type="I_E_Soldier_Pathfinder_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male03POL";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1562.9316,5.0014391,441.75};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""sn"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ST1_G";
+ description="LDF Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2384;
+ type="I_E_soldier_M_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02POL";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_ST1";
+ };
+ id=2380;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item58
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1559,5.0014391,430.05005};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ENG1_FTL";
+ description="LDF Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2187;
+ type="I_E_Engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564,5.0014391,428.40063};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ENG1_A1";
+ description="LDF Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2188;
+ type="I_E_Engineer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1554,5.0014391,428.40063};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ENG1_A2";
+ description="LDF Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2189;
+ type="I_E_Engineer_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569,5.0014391,425.6604};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear; ";
+ name="UnitLDF_ENG1_A3";
+ description="LDF Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2190;
+ type="I_E_Engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_ENG1";
+ };
+ id=2186;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item59
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.501,7.6857953,445.76001};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_IFV1";
+ textures="EAF_01";
+ };
+ id=2065;
+ type="I_E_APC_tracked_03_cannon_F";
+ atlOffset=0.17500019;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="VehicleCustomization";
+ expression="if (local _this) then {if (isSimpleObject _this) then {_this setVariable ['bis_fnc_initVehicle_customization',_value]} else {([_this] + _value + [true]) call (uinamespace getvariable 'bis_fnc_initVehicle');};};";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ class value
+ {
+ items=2;
+ class Item0
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ class Item1
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ class value
+ {
+ items=14;
+ class Item0
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showBags";
+ };
+ };
+ class Item1
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item2
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showBags2";
+ };
+ };
+ class Item3
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item4
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showCamonetHull";
+ };
+ };
+ class Item5
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item6
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showCamonetTurret";
+ };
+ };
+ class Item7
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item8
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showTools";
+ };
+ };
+ class Item9
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item10
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showSLATHull";
+ };
+ };
+ class Item11
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ class Item12
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showSLATTurret";
+ };
+ };
+ class Item13
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item60
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.501,5.1764393,445.81};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV1_C";
+ description="LDF IFV 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2062;
+ type="I_E_Crew_F";
+ atlOffset=0.17500019;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.501,5.1764393,445.81};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV1_G";
+ description="LDF IFV 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2063;
+ type="I_E_Crew_F";
+ atlOffset=0.17500019;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.501,5.1764393,445.81};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV1_D";
+ description="LDF IFV 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2064;
+ type="I_E_Crew_F";
+ atlOffset=0.17500019;
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2062;
+ item1=2065;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2063;
+ item1=2065;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2064;
+ item1=2065;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2061;
+ atlOffset=0.17500019;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF IFV1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item61
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.702,7.5107951,443.41299};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehLDF_IFV2";
+ textures="EAF_01";
+ };
+ id=2070;
+ type="I_E_APC_tracked_03_cannon_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="VehicleCustomization";
+ expression="if (local _this) then {if (isSimpleObject _this) then {_this setVariable ['bis_fnc_initVehicle_customization',_value]} else {([_this] + _value + [true]) call (uinamespace getvariable 'bis_fnc_initVehicle');};};";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ class value
+ {
+ items=2;
+ class Item0
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ class Item1
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ class value
+ {
+ items=14;
+ class Item0
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showBags";
+ };
+ };
+ class Item1
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item2
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showBags2";
+ };
+ };
+ class Item3
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item4
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showCamonetHull";
+ };
+ };
+ class Item5
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item6
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showCamonetTurret";
+ };
+ };
+ class Item7
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item8
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showTools";
+ };
+ };
+ class Item9
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ class Item10
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showSLATHull";
+ };
+ };
+ class Item11
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ class Item12
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="showSLATTurret";
+ };
+ };
+ class Item13
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item62
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.702,5.0014391,443.46298};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV2_C";
+ description="LDF IFV 2 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2067;
+ type="I_E_Crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.702,5.0014391,443.46298};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV2_G";
+ description="LDF IFV 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2068;
+ type="I_E_Crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.702,5.0014391,443.46298};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitLDF_IFV2_D";
+ description="LDF IFV 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2069;
+ type="I_E_Crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2067;
+ item1=2070;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2068;
+ item1=2070;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2069;
+ item1=2070;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2066;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF IFV2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item63
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.386,6.8630314,411.42014};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehLDF_TH1";
+ };
+ id=2011;
+ type="I_E_Heli_light_03_unarmed_F";
+ };
+ class Item64
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.386,5.0014391,411.46899};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH1_P";
+ description="LDF Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2009;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.386,5.0014391,411.46899};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH1_CP";
+ description="LDF Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2010;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2009;
+ item1=2011;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2010;
+ item1=2011;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2008;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item65
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.469,6.8630314,412.25912};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehLDF_TH2";
+ };
+ id=2015;
+ type="I_E_Heli_light_03_unarmed_F";
+ };
+ class Item66
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.469,5.0014391,412.30798};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH2_P";
+ description="LDF Transport Helo 2 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2013;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.469,5.0014391,412.30798};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH2_CP";
+ description="LDF Transport Helo 2 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2014;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_TH2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2013;
+ item1=2015;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2014;
+ item1=2015;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2012;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF TH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item67
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.7159,6.8630314,413.10013};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehLDF_TH3";
+ };
+ id=2019;
+ type="I_E_Heli_light_03_unarmed_F";
+ };
+ class Item68
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.7159,5.0014391,413.14899};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH3_P";
+ description="LDF Transport Helo 3 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2017;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1457.7159,5.0014391,413.14899};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH3_CP";
+ description="LDF Transport Helo 3 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2018;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_TH3";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2017;
+ item1=2019;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2018;
+ item1=2019;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2016;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF TH3 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item69
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.0341,6.8630314,413.75613};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehLDF_TH4";
+ };
+ id=2023;
+ type="I_E_Heli_light_03_unarmed_F";
+ };
+ class Item70
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.0341,5.0014391,413.80499};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH4_P";
+ description="LDF Transport Helo 4 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2021;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.0341,5.0014391,413.80499};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_TH4_CP";
+ description="LDF Transport Helo 4 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2022;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_TH4";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2021;
+ item1=2023;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2022;
+ item1=2023;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2020;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF TH4 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item71
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.203,6.5310755,380.211};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_a"",this] call f_fnc_assignGear";
+ name="VehLDF_AH1";
+ receiveRemoteTargets=1;
+ };
+ id=2052;
+ type="I_E_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item72
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.203,5.0014391,380.26099};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_AH1_P";
+ description="LDF Attack Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2050;
+ type="I_E_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.203,5.0014391,380.26099};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitLDF_AH1_CP";
+ description="LDF Attack Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2051;
+ type="I_E_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpLDF_AH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2050;
+ item1=2052;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2051;
+ item1=2052;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2049;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="LDF AH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item73
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2472.3262,5.8924227,969.11792};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="CrateNPR_A";
+ };
+ id=2385;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item74
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2514.335,5.8924227,970.24878};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="CrateNPR_B";
+ };
+ id=2386;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item75
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2554.291,5.8924227,969.04077};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="CrateNPR_C";
+ };
+ id=2387;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item76
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2416.0752,5,956.7937};
+ };
+ id=2388;
+ type="SupportProvider_Artillery";
+ };
+ class Item77
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2418.1699,5.4784107,959.11792};
+ };
+ id=2393;
+ type="SupportRequester";
+ atlOffset=0.47841072;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item78
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2416.0908,5.3587284,953.92017};
+ };
+ side="East";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=2546;
+ type="O_G_Soldier_F";
+ atlOffset=0.35728931;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2546;
+ item1=2545;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2394;
+ atlOffset=0.35728931;
+ };
+ class Item79
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2420.438,5.0114393,952.69604};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2538;
+ type="O_helipilot_F";
+ atlOffset=0.010000229;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2420.438,5.0114393,952.69604};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2539;
+ type="O_helipilot_F";
+ atlOffset=0.010000229;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2538;
+ item1=2537;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2539;
+ item1=2537;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2397;
+ atlOffset=0.010000229;
+ };
+ class Item80
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2419.0068,5.8319387,935.28882};
+ };
+ id=2401;
+ type="SupportRequester";
+ atlOffset=0.83193874;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item81
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2416.9512,5.7404861,930.1438};
+ };
+ side="East";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=2544;
+ type="O_G_Soldier_F";
+ atlOffset=0.73904705;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2544;
+ item1=2543;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2402;
+ atlOffset=0.73904705;
+ };
+ class Item82
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2421.3159,5.2114391,928.89996};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2541;
+ type="O_helipilot_F";
+ atlOffset=0.21000004;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2421.3159,5.2114391,928.89996};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2542;
+ type="O_helipilot_F";
+ atlOffset=0.21000004;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2541;
+ item1=2540;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2542;
+ item1=2540;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2405;
+ atlOffset=0.21000004;
+ };
+ class Item83
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2434.7751,5.0014391,961.54614};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""co"",this,""spetsnaz""] call f_fnc_assignGear;";
+ name="UnitNPR_CO";
+ description="Spetsnaz Commander";
+ isPlayer=1;
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2547;
+ type="O_G_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2439.7749,5.0014391,959.89478};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""jtac"",this] call f_fnc_assignGear;";
+ name="UnitNPR_CO_JTAC";
+ description="NPR JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2410;
+ type="O_G_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2430.3057,5.0014391,958.53394};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""uav"",this] call f_fnc_assignGear;";
+ name="UnitNPR_CO_UAV";
+ description="NPR UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2411;
+ type="O_G_Soldier_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2444.7754,5.0014391,957.15503};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="UnitNPR_CO_M";
+ description="NPR Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2412;
+ type="O_G_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_CO";
+ };
+ id=2409;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item84
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2434.2373,5.2133446,937.1814};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""dc"",this] call f_fnc_assignGear;";
+ name="UnitNPR_DC";
+ description="NPR Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2415;
+ type="O_G_officer_F";
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2439.2373,5.2344303,935.53101};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""jtac"",this] call f_fnc_assignGear;";
+ name="UnitNPR_DC_JTAC";
+ description="NPR Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2416;
+ type="O_G_officer_F";
+ atlOffset=0.23299122;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.2373,5.1082706,935.53101};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""uav"",this] call f_fnc_assignGear;";
+ name="UnitNPR_DC_UAV";
+ description="NPR UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2417;
+ type="O_G_Soldier_F";
+ atlOffset=0.10683155;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2444.2373,5.1013861,932.79175};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="UnitNPR_DC_M";
+ description="NPR Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2418;
+ type="O_G_medic_F";
+ atlOffset=0.099946976;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_DC";
+ };
+ id=2414;
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item85
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2470.9287,5.0014391,960.93652};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""dc"",this,""spetsnaz""] call f_fnc_assignGear;";
+ name="UnitNPR_ASL_SL";
+ description="Spetsnaz Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2420;
+ type="O_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.9287,5.0014391,959.28589};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="UnitNPR_ASL_M";
+ description="NPR Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2421;
+ type="O_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_ASL";
+ };
+ id=2419;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item86
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2471.4883,5.0014391,939.4314};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_FTL";
+ description="NPR Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2423;
+ type="O_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2476.4883,5.0913763,937.78101};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_AR1";
+ description="NPR Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2424;
+ type="O_G_Soldier_AR_F";
+ atlOffset=0.08993721;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2466.4883,5.0014391,937.78101};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_AR2";
+ description="NPR Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2425;
+ type="O_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2481.4883,5.248991,935.04175};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_AT";
+ description="NPR Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2426;
+ type="O_G_Soldier_LAT_F";
+ atlOffset=0.24755192;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2461.4883,5.0014391,935.04175};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_R1";
+ description="NPR Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2427;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2486.4883,5.0014391,930.49487};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A1_R2";
+ description="NPR Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2428;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_A1";
+ };
+ id=2422;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item87
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2471.252,5.0014391,915.55249};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_FTL";
+ description="NPR Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2430;
+ type="O_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2476.252,5.0014391,913.9021};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_AR1";
+ description="NPR Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2431;
+ type="O_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2466.252,5.0014391,913.9021};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_AR2";
+ description="NPR Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2432;
+ type="O_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2481.252,5.0014391,911.16284};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_AT";
+ description="NPR Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2433;
+ type="O_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2461.252,5.0014391,911.16284};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_R1";
+ description="NPR Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2434;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2486.252,5.0014391,906.61597};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_A2_R2";
+ description="NPR Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2435;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_A2";
+ };
+ id=2429;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item88
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2511.6108,5.0014391,960.8894};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""dc"",this,""spetsnaz""] call f_fnc_assignGear;";
+ name="UnitNPR_BSL_SL";
+ description="Spetsnaz Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2437;
+ type="O_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2516.6104,5.0014391,959.23901};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="UnitNPR_BSL_M";
+ description="NPR Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2438;
+ type="O_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_BSL";
+ };
+ id=2436;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item89
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2512.377,5.0014391,939.19409};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_FTL";
+ description="NPR Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2440;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2517.377,5.0014391,937.54468};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_AR1";
+ description="NPR Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2441;
+ type="O_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2507.377,5.0014391,937.54468};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_AR2";
+ description="NPR Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2442;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2522.377,5.0014391,934.80444};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_AT";
+ description="NPR Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2443;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2502.377,5.0014391,934.80444};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_R1";
+ description="NPR Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2444;
+ type="O_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2527.377,5.0014391,930.25854};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B1_R2";
+ description="NPR Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2445;
+ type="O_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_B1";
+ };
+ id=2439;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item90
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2511.8174,5.0014391,915.96655};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_FTL";
+ description="NPR Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2447;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2516.8174,5.0014391,914.31519};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_AR1";
+ description="NPR Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2448;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2506.8174,5.0014391,914.31519};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_AR2";
+ description="NPR Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2449;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2521.8174,5.0014391,911.57593};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_AT";
+ description="NPR Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2450;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2501.8174,5.0014391,911.57593};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_R1";
+ description="NPR Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2451;
+ type="O_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2526.8174,5.0014391,907.02905};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_B2_R2";
+ description="NPR Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2452;
+ type="O_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_B2";
+ };
+ id=2446;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item91
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2554.7935,5.3024392,960.29248};
+ };
+ side="East";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""dc"",this,""spetsnaz""] call f_fnc_assignGear;";
+ name="UnitNPR_CSL_SL";
+ description="Spetsnaz Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2454;
+ type="O_G_Soldier_SL_F";
+ atlOffset=0.30100012;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male05GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2559.7939,5.6464462,958.64233};
+ };
+ side="East";
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="UnitNPR_CSL_M";
+ description="NPR Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2455;
+ type="O_G_medic_F";
+ atlOffset=0.64500713;
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_CSL";
+ };
+ id=2453;
+ atlOffset=0.30100012;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item92
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2555.1953,5.0014391,938.53296};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_FTL";
+ description="NPR Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2457;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2560.1953,5.0014391,936.88354};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_AR1";
+ description="NPR Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2458;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2550.1953,5.0014391,936.88354};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_AR2";
+ description="NPR Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2459;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2565.1953,5.0014391,934.14331};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_AT";
+ description="NPR Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2460;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2545.1953,5.0014391,934.14331};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_R1";
+ description="NPR Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2461;
+ type="O_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2570.1953,5.0014391,929.59644};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C1_R2";
+ description="NPR Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2462;
+ type="O_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_C1";
+ };
+ id=2456;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item93
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2555.5,5.0014391,915.42944};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_FTL";
+ description="NPR Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2464;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2560.5,5.0014391,913.77905};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_AR1";
+ description="NPR Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2465;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2550.5,5.0014391,913.77905};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_AR2";
+ description="NPR Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2466;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2565.5,5.0014391,911.03979};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_AT";
+ description="NPR Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2467;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2545.5,5.0014391,911.03979};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_R1";
+ description="NPR Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2468;
+ type="O_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2570.5,5.0014391,906.49194};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="UnitNPR_C2_R2";
+ description="NPR Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2469;
+ type="O_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_C2";
+ };
+ id=2463;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item94
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.4854,5.153439,960.51416};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG1_TL";
+ description="NPR Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2471;
+ type="O_G_Soldier_TL_F";
+ atlOffset=0.15199995;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.4854,5.2476587,958.86401};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG1_G";
+ description="NPR Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2472;
+ type="O_G_Soldier_AR_F";
+ atlOffset=0.24621964;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.3232,5.153439,958.89331};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG1_AG";
+ description="NPR Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2473;
+ type="O_G_Soldier_lite_F";
+ atlOffset=0.15199995;
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MMG1";
+ };
+ id=2470;
+ atlOffset=0.15199995;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item95
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.3452,5.0014391,949.17505};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG2_TL";
+ description="NPR Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2475;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.3457,5.0014391,947.52515};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG2_G";
+ description="NPR Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2476;
+ type="O_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.1831,5.0014391,947.5542};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitNPR_MMG2_AG";
+ description="NPR Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2477;
+ type="O_G_Soldier_lite_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MMG2";
+ };
+ id=2474;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item96
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.6895,5.0014391,938.46704};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matl"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT1_TL";
+ description="NPR Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2479;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.6895,5.0014391,936.81714};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT1_G";
+ description="NPR Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2480;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.5273,5.0014391,936.84619};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT1_AG";
+ description="NPR Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2481;
+ type="O_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MAT1";
+ };
+ id=2478;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item97
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.6021,5.0014391,926.48511};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matl"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT2_TL";
+ description="NPR Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2483;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.6025,5.0014391,924.83472};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT2_G";
+ description="NPR Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2484;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.4404,5.0014391,924.86304};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""matag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MAT2_AG";
+ description="NPR Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2485;
+ type="O_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MAT2";
+ };
+ id=2482;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item98
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2592.0908,5.0014391,915.58667};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hmgag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HMG1_TL";
+ description="NPR Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2487;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2597.0908,5.0014391,913.93628};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hmgg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HMG1_G";
+ description="NPR Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2488;
+ type="O_G_Soldier_AR_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_HMG1";
+ };
+ id=2486;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item99
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.915,5.0014391,903.18335};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HAT1_TL";
+ description="NPR Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2490;
+ type="O_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.915,5.2301273,901.53296};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hatg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HAT1_G";
+ description="NPR Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2491;
+ type="O_G_Soldier_LAT_F";
+ atlOffset=0.22868824;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.752,5.0014391,901.56128};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HAT1_AG";
+ description="NPR Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2492;
+ type="O_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_HAT1";
+ };
+ id=2489;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item100
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.917,5.0014391,891.41479};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MTR1_TL";
+ description="NPR Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2494;
+ type="O_G_Soldier_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.917,5.3897858,889.7644};
+ };
+ side="East";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""mtrg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MTR1_G";
+ description="NPR Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2495;
+ type="O_G_Soldier_A_F";
+ atlOffset=0.38834667;
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MTR1";
+ };
+ id=2493;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item101
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.916,5.0014391,878.89722};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MSAM1_TL";
+ description="NPR Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2497;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.916,5.5413675,877.24683};
+ };
+ side="East";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""msamg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MSAM1_G";
+ description="NPR Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2498;
+ type="O_G_Soldier_LAT_F";
+ atlOffset=0.53992844;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.7529,5.0014391,877.27515};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_MSAM1_AG";
+ description="NPR Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2499;
+ type="O_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_MSAM1";
+ };
+ id=2496;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item102
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.8154,5.0014391,866.1228};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HSAM1_TL";
+ description="NPR Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2501;
+ type="O_G_Soldier_LAT_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.8154,5.0014391,864.47241};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""hsamg"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_HSAM1_G";
+ description="NPR Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2502;
+ type="O_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_HSAM1";
+ };
+ id=2500;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item103
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.6885,5.0014391,855.21753};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""sp"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_ST1_SP";
+ description="NPR Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2504;
+ type="O_G_Soldier_M_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.6885,5.0014391,853.56714};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""sn"",this] call f_fnc_assignGear; ";
+ name="UnitNPR_ST1_G";
+ description="NPR Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2505;
+ type="O_G_Soldier_M_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_ST1";
+ };
+ id=2503;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item104
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2592.46,5.0014391,842.87085};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""eng"",this] call f_fnc_assignGear;";
+ name="UnitNPR_ENG1_FTL";
+ description="NPR Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2507;
+ type="O_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2597.46,5.0014391,841.22046};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""eng"",this] call f_fnc_assignGear;";
+ name="UnitNPR_ENG1_A1";
+ description="NPR Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2508;
+ type="O_G_engineer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.46,5.0014391,841.22046};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""engm"",this] call f_fnc_assignGear;";
+ name="UnitNPR_ENG1_A2";
+ description="NPR Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2509;
+ type="O_G_engineer_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2602.46,5.0014391,838.4812};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""engm"",this] call f_fnc_assignGear;";
+ name="UnitNPR_ENG1_A3";
+ description="NPR Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2510;
+ type="O_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_ENG1";
+ };
+ id=2506;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item105
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2438.377,5.0014391,877.57196};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""lvc"",this] call f_fnc_assignGear;";
+ name="UnitNPR_IFV1_G";
+ description="NPR Technical 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2513;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2438.377,4.932281,877.57068};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""lvd"",this] call f_fnc_assignGear;";
+ name="UnitNPR_IFV1_D";
+ description="NPR Technical 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3711;
+ type="O_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2513;
+ item1=2514;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3711;
+ item1=2514;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2511;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR TECH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item106
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2438.377,7.1644082,877.56329};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_ifv"",this] call f_fnc_assignGear";
+ name="VehNPR_IFV1";
+ textures="Guerilla_07";
+ };
+ id=2514;
+ type="O_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item107
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2473.1011,5.0014391,877.48901};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""lvc"",this] call f_fnc_assignGear;";
+ name="UnitNPR_IFV2_G";
+ description="NPR Technical 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2516;
+ type="O_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99833667;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2473.1011,4.932281,877.48773};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""lvd"",this] call f_fnc_assignGear;";
+ name="UnitNPR_IFV2_D";
+ description="NPR Technical 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3713;
+ type="O_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2516;
+ item1=2518;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3713;
+ item1=2518;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2515;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR TECH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item108
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2473.1011,7.1644082,877.48035};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_ifv"",this] call f_fnc_assignGear";
+ name="VehNPR_IFV2";
+ textures="Guerilla_07";
+ };
+ id=2518;
+ type="O_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item109
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2416.9121,5.8610754,932.96362};
+ };
+ id=2519;
+ type="SupportProvider_Artillery";
+ atlOffset=0.8610754;
+ };
+ class Item110
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2462.1133,5,980.48608};
+ };
+ name="F3_preMount_NPR_5";
+ init="[synchronizedObjects this, [""grpNPR_ASL"",""grpNPR_A1"",""grpNPR_A2""], true, false] call f_fnc_mountGroups;";
+ id=2520;
+ type="Logic";
+ };
+ class Item111
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2505.7476,5,982.57349};
+ };
+ name="F3_preMount_NPR_6";
+ init="[synchronizedObjects this, [""grpNPR_BSL"",""grpNPR_B1"",""grpNPR_B2""], true, false] call f_fnc_mountGroups;";
+ id=2521;
+ type="Logic";
+ };
+ class Item112
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2547.1201,5,984.74316};
+ };
+ name="F3_preMount_NPR_7";
+ init="[synchronizedObjects this, [""grpNPR_CSL"",""grpNPR_C1"",""grpNPR_C2""], true, false] call f_fnc_mountGroups;";
+ id=2522;
+ type="Logic";
+ };
+ class Item113
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2424.0928,5,974.83545};
+ };
+ name="F3_preMount_NPR_8";
+ init="[synchronizedObjects this, [""grpNPR_CO""], true, false] call f_fnc_mountGroups;";
+ id=2523;
+ type="Logic";
+ };
+ class Item114
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2425.5508,5,949.01196};
+ };
+ name="F3_preMount_NPR_9";
+ init="[synchronizedObjects this, [""grpNPR_DC""], true, false] call f_fnc_mountGroups;";
+ id=2524;
+ type="Logic";
+ };
+ class Item115
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2604.9854,6.6115026,930.93628};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="VehNPR_CAR4";
+ textures="Guerilla_07";
+ };
+ id=2525;
+ type="O_G_Offroad_01_F";
+ };
+ class Item116
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.0674,6.6115026,962.24976};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="VehNPR_CAR1";
+ textures="Guerilla_07";
+ };
+ id=2526;
+ type="O_G_Offroad_01_F";
+ };
+ class Item117
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.1465,6.7971687,939.72729};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="VehNPR_CAR2";
+ textures="Guerilla_07";
+ };
+ id=2527;
+ type="O_G_Offroad_01_F";
+ atlOffset=0.18566608;
+ };
+ class Item118
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2604.2197,6.6115026,953.50366};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="VehNPR_CAR3";
+ textures="Guerilla_07";
+ };
+ id=2528;
+ type="O_G_Offroad_01_F";
+ };
+ class Item119
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2470.4519,6.8715067,976.32617};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR1";
+ textures="Guerilla_04";
+ };
+ id=2529;
+ type="O_G_Van_01_transport_F";
+ };
+ class Item120
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2478.3496,6.8716264,971.83276};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR2";
+ textures="Guerilla_04";
+ };
+ id=2530;
+ type="O_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item121
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2514.3623,6.8716264,977.11401};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR3";
+ textures="Guerilla_04";
+ };
+ id=2531;
+ type="O_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item122
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2524.4727,6.8716264,971.95776};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR4";
+ textures="Guerilla_04";
+ };
+ id=2532;
+ type="O_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item123
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2554.8184,6.8716264,976.95972};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR5";
+ textures="Guerilla_04";
+ };
+ id=2533;
+ type="O_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item124
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2563.6807,6.8716264,971.45093};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="VehNPR_TR6";
+ textures="Guerilla_04";
+ };
+ id=2534;
+ type="O_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item125
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2421.502,5.7177486,933.42065};
+ };
+ id=2535;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.71774864;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item126
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2420.3564,5.4597912,956.698};
+ };
+ id=2536;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.45979118;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item127
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2420.438,7.1796465,952.5354};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; ";
+ textures="Black";
+ receiveRemoteTargets=1;
+ };
+ id=2537;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ atlOffset=0.010000229;
+ };
+ class Item128
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2421.3159,7.3796463,928.73932};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; ";
+ textures="Black";
+ receiveRemoteTargets=1;
+ };
+ id=2540;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ atlOffset=0.21000004;
+ };
+ class Item129
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2416.9512,6.4606729,930.09351};
+ };
+ side="East";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; ";
+ };
+ id=2543;
+ type="O_G_Mortar_01_F";
+ atlOffset=0.73904705;
+ };
+ class Item130
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2416.0908,6.0789151,953.86987};
+ };
+ side="East";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; ";
+ };
+ id=2545;
+ type="O_G_Mortar_01_F";
+ atlOffset=0.35728931;
+ };
+ class Item131
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2593,5.6047058,830.01996};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""v_helo_l"",this] call f_fnc_assignGear";
+ name="VehNPR_TH1";
+ textures="Elliptical";
+ };
+ id=2392;
+ type="C_Heli_Light_01_civil_F";
+ };
+ class Item132
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2593,5.0014391,831.04999};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""pc"",this] call f_fnc_assignGear;";
+ name="UnitNPR_TH1_P";
+ description="NPR Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2390;
+ type="O_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2593,5.0014391,831.04999};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""npr""] call f_fnc_setVirtualFaction; [""pc"",this] call f_fnc_assignGear;";
+ name="UnitNPR_TH1_CP";
+ description="NPR Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2391;
+ type="O_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="grpNPR_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2390;
+ item1=2392;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2391;
+ item1=2392;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2389;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NPR TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item133
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.07501,8.3443718,1248.3247};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehNATO_TH1";
+ };
+ id=2551;
+ type="B_Heli_Transport_03_F";
+ };
+ class Item134
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2379.1589,7.5924172,1254.5443};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH1";
+ textures="Opfor";
+ };
+ id=2552;
+ type="O_Heli_Transport_04_covered_F";
+ };
+ class Item135
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.799,8.610199,1218.4109};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehAAF_TH1";
+ };
+ id=2553;
+ type="I_Heli_Transport_02_F";
+ };
+ class Item136
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.48001,8.3443718,1220.5427};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehNATO_TH2";
+ textures="Green";
+ };
+ id=2554;
+ type="B_Heli_Transport_03_F";
+ };
+ class Item137
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={467.56,7.1392598,1249.0493};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH3";
+ textures="Green";
+ };
+ id=2555;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item138
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={468.41699,7.1392598,1221.5104};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH4";
+ textures="Green";
+ };
+ id=2556;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item139
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.71503,7.1392598,1249.2554};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH5";
+ textures="Green";
+ };
+ id=2557;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item140
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.78699,7.1392598,1221.2484};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH6";
+ textures="Green";
+ };
+ id=2558;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item141
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.33698,7.1392598,1249.8334};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH7";
+ };
+ id=2559;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item142
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.229,7.1392598,1222.3274};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehNATO_TH8";
+ };
+ id=2560;
+ type="B_Heli_Transport_01_F";
+ };
+ class Item143
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.42001,7.4527192,1304.17};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_AV";
+ };
+ id=2561;
+ type="B_APC_Tracked_01_rcws_F";
+ atlOffset=-0.17999983;
+ };
+ class Item144
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={517.84601,7.4527192,1301.23};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_BV";
+ };
+ id=2562;
+ type="B_APC_Tracked_01_rcws_F";
+ atlOffset=-0.17999983;
+ };
+ class Item145
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.05603,7.4527192,1302.459};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_CV";
+ };
+ id=2563;
+ type="B_APC_Tracked_01_rcws_F";
+ atlOffset=-0.17999983;
+ };
+ class Item146
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.17899,7.4527192,1304.597};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_COV";
+ };
+ id=2564;
+ type="B_APC_Tracked_01_rcws_F";
+ atlOffset=-0.17999983;
+ };
+ class Item147
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.90399,6.9319367,1193.7064};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_a"",this] call f_fnc_assignGear;";
+ name="VehNATO_AH1";
+ reportRemoteTargets=1;
+ receiveRemoteTargets=1;
+ };
+ id=2565;
+ type="B_Heli_Attack_01_dynamicLoadout_F";
+ atlOffset=0.010000229;
+ };
+ class Item148
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.882,8.610199,1219.2489};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehAAF_TH2";
+ };
+ id=2566;
+ type="I_Heli_Transport_02_F";
+ };
+ class Item149
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.129,8.610199,1220.0898};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehAAF_TH3";
+ };
+ id=2567;
+ type="I_Heli_Transport_02_F";
+ };
+ class Item150
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.446,8.610199,1220.7458};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehAAF_TH4";
+ };
+ id=2568;
+ type="I_Heli_Transport_02_F";
+ };
+ class Item151
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2380.8411,7.5924172,1224.6202};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_h"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH2";
+ textures="Opfor";
+ };
+ id=2569;
+ type="O_Heli_Transport_04_covered_F";
+ };
+ class Item152
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.54,7.1696463,1253.5693};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH3";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2570;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item153
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.9109,7.1696463,1223.8492};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH4";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2571;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item154
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2480.333,7.1696463,1253.2292};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH5";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2572;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item155
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.699,7.1696463,1223.5043};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH6";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2573;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item156
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.553,7.1696463,1253.6243};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH7";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2574;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item157
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2531.9209,7.1696463,1223.9043};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_m"",this] call f_fnc_assignGear";
+ name="VehCSAT_TH8";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=2575;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item158
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.1589,7.5568428,1301.319};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_COV";
+ textures="Hex";
+ };
+ id=2576;
+ type="O_APC_Wheeled_02_rcws_v2_F";
+ };
+ class Item159
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2423.8579,7.5568428,1301.094};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_AV";
+ textures="Hex";
+ };
+ id=2577;
+ type="O_APC_Wheeled_02_rcws_v2_F";
+ };
+ class Item160
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.9971,7.5568428,1300.306};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_BV";
+ textures="Hex";
+ };
+ id=2578;
+ type="O_APC_Wheeled_02_rcws_v2_F";
+ };
+ class Item161
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.116,7.5568428,1300.116};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_CV";
+ textures="Hex";
+ };
+ id=2579;
+ type="O_APC_Wheeled_02_rcws_v2_F";
+ };
+ class Item162
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2382.634,8.0559025,1193.7081};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_a"",this] call f_fnc_assignGear;";
+ name="VehCSAT_AH1";
+ textures="Opfor";
+ reportRemoteTargets=1;
+ receiveRemoteTargets=1;
+ };
+ id=2580;
+ type="O_Heli_Attack_02_dynamicLoadout_F";
+ };
+ class Item163
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.48199,7.5374756,1279.723};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tank"",this] call f_fnc_assignGear;";
+ name="VehNATO_TNK1";
+ };
+ id=2581;
+ type="B_MBT_01_TUSK_F";
+ atlOffset=-0.18900013;
+ };
+ class Item164
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.178,7.6142888,1275.793};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_COV";
+ };
+ id=2582;
+ type="I_APC_Wheeled_03_cannon_F";
+ };
+ class Item165
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.8781,7.6142888,1274.653};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_AV";
+ };
+ id=2583;
+ type="I_APC_Wheeled_03_cannon_F";
+ };
+ class Item166
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.694,7.6142888,1274.718};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_BV";
+ };
+ id=2584;
+ type="I_APC_Wheeled_03_cannon_F";
+ };
+ class Item167
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.246,7.6142888,1275.002};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_CV";
+ };
+ id=2585;
+ type="I_APC_Wheeled_03_cannon_F";
+ };
+ class Item168
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.0381,7.1894407,1274.825};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tank"",this] call f_fnc_assignGear;";
+ name="VehCSAT_TNK1";
+ textures="Hex";
+ };
+ id=2586;
+ type="O_MBT_02_cannon_F";
+ atlOffset=-0.18099976;
+ };
+ class Item169
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.766,7.7286081,1250.95};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tank"",this] call f_fnc_assignGear;";
+ name="VehAAF_TNK1";
+ };
+ id=2587;
+ type="I_MBT_03_cannon_F";
+ };
+ class Item170
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.5959,6.5310755,1187.054};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_a"",this] call f_fnc_assignGear";
+ name="VehAAF_AH1";
+ receiveRemoteTargets=1;
+ };
+ id=2588;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item171
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.9111,7.3817577,1378.3733};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehAAF_TR1";
+ };
+ id=2589;
+ type="I_Truck_02_transport_F";
+ };
+ class Item172
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1469.3271,7.3817577,1378.3274};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehAAF_TR2";
+ };
+ id=2590;
+ type="I_Truck_02_transport_F";
+ };
+ class Item173
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1511.4248,7.3817577,1378.5012};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehAAF_TR3";
+ };
+ id=2591;
+ type="I_Truck_02_transport_F";
+ };
+ class Item174
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1373.5197,6.8319178,1364.0488};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehAAF_CAR1";
+ reportRemoteTargets=1;
+ };
+ id=2592;
+ type="I_MRAP_03_F";
+ };
+ class Item175
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.47964,7.2059455,1371.2716};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehNato_CAR1";
+ };
+ id=2593;
+ type="B_MRAP_01_F";
+ };
+ class Item176
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={473.05093,7.2247906,1387.7373};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehNato_TR1";
+ };
+ id=2594;
+ type="B_Truck_01_transport_F";
+ };
+ class Item177
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={518.69934,7.2247906,1386.2725};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehNato_TR2";
+ };
+ id=2595;
+ type="B_Truck_01_transport_F";
+ };
+ class Item178
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={559.82141,7.2247906,1387.9121};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehNato_TR3";
+ };
+ id=2596;
+ type="B_Truck_01_transport_F";
+ };
+ class Item179
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2371.9885,7.4435053,1377.9761};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehCSAT_CAR1";
+ textures="Hex";
+ };
+ id=2597;
+ type="O_MRAP_02_F";
+ };
+ class Item180
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2427.5139,7.3817043,1393.5962};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehCSAT_TR1";
+ };
+ id=2598;
+ type="O_Truck_02_transport_F";
+ atlOffset=-5.3405762e-005;
+ };
+ class Item181
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.7581,7.3817043,1392.978};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehCSAT_TR2";
+ };
+ id=2599;
+ type="O_Truck_02_transport_F";
+ atlOffset=-5.3405762e-005;
+ };
+ class Item182
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.4778,7.3817043,1393.0493};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehCSAT_TR3";
+ };
+ id=2600;
+ type="O_Truck_02_transport_F";
+ atlOffset=-5.3405762e-005;
+ };
+ class Item183
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={609.92908,6.6115026,918.35986};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehFIA_CAR4";
+ textures="Guerilla_07";
+ };
+ id=2601;
+ type="B_G_Offroad_01_F";
+ };
+ class Item184
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={434.01099,6.6115026,949.67334};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehFIA_CAR1";
+ textures="Guerilla_07";
+ };
+ id=2602;
+ type="B_G_Offroad_01_F";
+ };
+ class Item185
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={434.09009,6.7971687,927.15088};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehFIA_CAR2";
+ textures="Guerilla_07";
+ };
+ id=2603;
+ type="B_G_Offroad_01_F";
+ atlOffset=0.18566608;
+ };
+ class Item186
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={609.16345,6.6115026,940.92725};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehFIA_CAR3";
+ textures="Guerilla_07";
+ };
+ id=2604;
+ type="B_G_Offroad_01_F";
+ };
+ class Item187
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={475.39575,6.8716264,963.74945};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR1";
+ textures="Guerilla_04";
+ };
+ id=2605;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item188
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={483.29321,6.8716264,959.25629};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR2";
+ textures="Guerilla_04";
+ };
+ id=2606;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item189
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={519.30615,6.8716264,964.53754};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR3";
+ textures="Guerilla_04";
+ };
+ id=2607;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item190
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1373.7095,6.8319178,1334.5823};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehAAF_CAR2";
+ reportRemoteTargets=1;
+ };
+ id=2608;
+ type="I_MRAP_03_F";
+ };
+ class Item191
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2372.0071,7.4435053,1350.3169};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehCSAT_CAR2";
+ textures="Hex";
+ };
+ id=2609;
+ type="O_MRAP_02_F";
+ };
+ class Item192
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.11832,7.2059455,1351.5773};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehNato_CAR2";
+ };
+ id=2610;
+ type="B_MRAP_01_F";
+ };
+ class Item193
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.1387,5.8924227,1366.1125};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
+ name="CrateAAF_A";
+ };
+ id=2611;
+ type="I_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item194
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.3311,5.8924227,1366.6682};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
+ name="CrateAAF_B";
+ };
+ id=2612;
+ type="I_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item195
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1511.9297,5.8924227,1366.8713};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_f""] call f_fnc_assignGear";
+ name="CrateAAF_C";
+ };
+ id=2613;
+ type="I_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_Mk20_F"",""LMG_Mk200_F""],[1,2,1]],[[""9Rnd_45ACP_Mag"",""30Rnd_9x21_Mag"",""20Rnd_762x51_Mag"",""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareYellow_F"",""UGL_FlareGreen_F""],[6,6,6,24,3,6,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator_03"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_blk""],[1,10,2,1]],[[""B_FieldPack_oli""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item196
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={466.2482,5.8924227,1380.1455};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
+ name="CrateNATO_A";
+ };
+ id=2614;
+ type="B_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item197
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={518.9884,5.8924227,1379.6846};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
+ name="CrateNATO_B";
+ };
+ id=2615;
+ type="B_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item198
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.05286,5.8924227,1379.9961};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_f""] call f_fnc_assignGear";
+ name="CrateNATO_C";
+ };
+ id=2616;
+ type="B_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_NLAW_F"",""arifle_MX_F"",""arifle_MX_SW_F""],[1,2,1]],[[""30Rnd_65x39_caseless_mag"",""16Rnd_9x21_Mag"",""30Rnd_45ACP_Mag_SMG_01"",""20Rnd_762x51_Mag"",""100Rnd_65x39_caseless_mag"",""1Rnd_HE_Grenade_shell"",""3Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_green"",""NLAW_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,6,6,6,3,1,2,2,6,3,2,6,6,2,2,2,2]],[[""Laserdesignator"",""FirstAidKit"",""acc_flashlight"",""bipod_01_F_blk""],[1,10,2,1]],[[""B_Kitbag_mcamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item199
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2424.8733,5.8924227,1386.2729};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
+ name="CrateCSAT_A";
+ };
+ id=2617;
+ type="O_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item200
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2476.925,5.8924227,1386.394};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
+ name="CrateCSAT_B";
+ };
+ id=2618;
+ type="O_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item201
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2530.9124,5.8924227,1385.6392};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""opf_f""] call f_fnc_assignGear";
+ name="CrateCSAT_C";
+ };
+ id=2619;
+ type="O_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_Katiba_F"",""LMG_Zafir_F""],[1,2,1]],[[""16Rnd_9x21_Mag"",""30Rnd_65x39_caseless_green"",""10Rnd_762x54_Mag"",""150Rnd_762x54_Box"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeRed_Grenade_shell"",""Chemlight_red"",""RPG32_F"",""RPG32_HE_F"",""Laserbatteries"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellRed"",""UGL_FlareYellow_F"",""UGL_FlareRed_F"",""30Rnd_9x21_Mag_SMG_02""],[6,24,12,4,6,2,2,6,3,1,2,6,6,2,2,2,2,6]],[[""Laserdesignator_02"",""FirstAidKit"",""acc_flashlight"",""bipod_02_F_blk""],[1,10,2,1]],[[""B_FieldPack_ocamo""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item202
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={477.26978,5.8924227,956.5415};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
+ name="CrateFIA_A";
+ };
+ id=2620;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item203
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={519.27881,5.8924227,957.67236};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
+ name="CrateFIA_B";
+ };
+ id=2621;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item204
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={559.23474,5.8924227,956.46436};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""blu_g_f""] call f_fnc_assignGear";
+ name="CrateFIA_C";
+ };
+ id=2622;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item205
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={597.94403,5.6047058,817.44397};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_l"",this] call f_fnc_assignGear";
+ name="VehFIA_TH1";
+ textures="Elliptical";
+ };
+ id=2623;
+ type="C_Heli_Light_01_civil_F";
+ };
+ class Item206
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.91599,7.4623775,1278.91};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_IFV1";
+ };
+ id=2624;
+ type="B_APC_Wheeled_01_cannon_F";
+ atlOffset=-0.077000141;
+ };
+ class Item207
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.59399,7.4623775,1279.098};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehNATO_IFV2";
+ };
+ id=2625;
+ type="B_APC_Wheeled_01_cannon_F";
+ atlOffset=-0.077000141;
+ };
+ class Item208
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={635.25696,7.2059455,1365.7882};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehNato_CAR3";
+ };
+ id=2626;
+ type="B_MRAP_01_F";
+ };
+ class Item209
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={634.94348,7.2059455,1342.8126};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehNato_CAR4";
+ };
+ id=2627;
+ type="B_MRAP_01_F";
+ };
+ class Item210
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.4871,7.3928018,1275.9659};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_IFV1";
+ textures="Hex";
+ };
+ id=2628;
+ type="O_APC_Tracked_02_cannon_F";
+ atlOffset=-0.17999983;
+ };
+ class Item211
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.5959,7.3928018,1276.311};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehCSAT_IFV2";
+ textures="Hex";
+ };
+ id=2629;
+ type="O_APC_Tracked_02_cannon_F";
+ atlOffset=-0.17999983;
+ };
+ class Item212
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2610.7737,7.4435053,1367.3921};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehCSAT_CAR3";
+ textures="Hex";
+ };
+ id=2630;
+ type="O_MRAP_02_F";
+ };
+ class Item213
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2610.9114,7.4435053,1342.0503};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehCSAT_CAR4";
+ textures="Hex";
+ };
+ id=2631;
+ type="O_MRAP_02_F";
+ };
+ class Item214
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.894,7.6857953,1252.603};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_IFV1";
+ };
+ id=2632;
+ type="I_APC_tracked_03_cannon_F";
+ atlOffset=0.17500019;
+ };
+ class Item215
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.095,7.5107951,1250.256};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear;";
+ name="VehAAF_IFV2";
+ };
+ id=2633;
+ type="I_APC_tracked_03_cannon_F";
+ };
+ class Item216
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1584.6221,6.8319178,1353.7864};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehAAF_CAR3";
+ reportRemoteTargets=1;
+ };
+ id=2634;
+ type="I_MRAP_03_F";
+ };
+ class Item217
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1586.0713,6.8319178,1326.1213};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehAAF_CAR4";
+ reportRemoteTargets=1;
+ };
+ id=2635;
+ type="I_MRAP_03_F";
+ };
+ class Item218
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={441.642,7.1644082,878.32532};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear";
+ name="VehFIA_IFV1";
+ textures="Guerilla_07";
+ };
+ id=2636;
+ type="B_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item219
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={476.36499,7.1644082,878.24231};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this] call f_fnc_assignGear";
+ name="VehFIA_IFV2";
+ textures="Guerilla_07";
+ };
+ id=2637;
+ type="B_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item220
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={529.4165,6.8716264,959.38129};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR4";
+ textures="Guerilla_04";
+ };
+ id=2638;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item221
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={559.76208,6.8716264,964.38324};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR5";
+ textures="Guerilla_04";
+ };
+ id=2639;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item222
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={568.62439,6.8716264,958.87445};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehFIA_TR6";
+ textures="Guerilla_04";
+ };
+ id=2640;
+ type="B_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item223
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2332.5256,5.3882694,527.68066};
+ };
+ init="[this, true, allUnits] call f_fnc_zeusInit;";
+ id=2641;
+ type="ModuleCurator_F";
+ atlOffset=0.38826942;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ModuleCurator_F_Owner";
+ expression="_this setVariable ['Owner',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="F3_Zeus";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="ModuleCurator_F_Forced";
+ expression="_this setVariable ['Forced',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ModuleCurator_F_Name";
+ expression="_this setVariable ['Name',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="ModuleInfo";
+ expression="false";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="ModuleCurator_F_Addons";
+ expression="_this setVariable ['Addons',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=2;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item224
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2333.1096,5.3580265,516.60645};
+ };
+ init="[this, true, allUnits] call f_fnc_zeusInit;";
+ id=2642;
+ type="ModuleCurator_F";
+ atlOffset=0.3580265;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ModuleCurator_F_Owner";
+ expression="_this setVariable ['Owner',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="F3_Zeus_1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="ModuleCurator_F_Forced";
+ expression="_this setVariable ['Forced',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ModuleCurator_F_Name";
+ expression="_this setVariable ['Name',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="ModuleInfo";
+ expression="false";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="ModuleCurator_F_Addons";
+ expression="_this setVariable ['Addons',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=2;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item225
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2333.2209,5.6426582,505.96094};
+ };
+ init="[this, true, allUnits] call f_fnc_zeusInit;";
+ id=2643;
+ type="ModuleCurator_F";
+ atlOffset=0.64265823;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ModuleCurator_F_Owner";
+ expression="_this setVariable ['Owner',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="F3_Zeus_2";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="ModuleCurator_F_Forced";
+ expression="_this setVariable ['Forced',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ModuleCurator_F_Name";
+ expression="_this setVariable ['Name',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="ModuleInfo";
+ expression="false";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="ModuleCurator_F_Addons";
+ expression="_this setVariable ['Addons',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=2;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item226
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2335.0481,6.0756798,495.34863};
+ };
+ init="[this, true, allUnits] call f_fnc_zeusInit;";
+ id=2644;
+ type="ModuleCurator_F";
+ atlOffset=1.0756798;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ModuleCurator_F_Owner";
+ expression="_this setVariable ['Owner',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="F3_Zeus_3";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="ModuleCurator_F_Forced";
+ expression="_this setVariable ['Forced',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ModuleCurator_F_Name";
+ expression="_this setVariable ['Name',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="ModuleInfo";
+ expression="false";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="ModuleCurator_F_Addons";
+ expression="_this setVariable ['Addons',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=2;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item227
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={411.01968,5,1370.0654};
+ };
+ id=2645;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item228
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={408.35269,5.0014391,1364.9382};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2647;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2647;
+ item1=2648;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2646;
+ };
+ class Item229
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={408.35269,5.7216258,1364.8878};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2648;
+ type="B_Mortar_01_F";
+ };
+ class Item230
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.13589,5.0014391,1363.7788};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2650;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.13589,5.0014391,1363.7788};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2651;
+ type="B_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2650;
+ item1=2652;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2651;
+ item1=2652;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2649;
+ atlOffset=-0.37890196;
+ };
+ class Item231
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.13589,6.4002423,1363.7296};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2652;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=-0.37890196;
+ };
+ class Item232
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={423.11353,5.4784107,946.5415};
+ };
+ id=2653;
+ type="SupportRequester";
+ atlOffset=0.47841072;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item233
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.03442,5.3587284,941.34381};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=2655;
+ type="B_Soldier_F";
+ atlOffset=0.35728931;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2655;
+ item1=2656;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2654;
+ atlOffset=0.35728931;
+ };
+ class Item234
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.03442,6.0789151,941.29346};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2656;
+ type="B_Mortar_01_F";
+ atlOffset=0.35728931;
+ };
+ class Item235
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={425.38208,5.0109735,940.11981};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2658;
+ type="B_Helipilot_F";
+ atlOffset=0.009534359;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={425.38208,5.0109735,940.11981};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2659;
+ type="B_Helipilot_F";
+ atlOffset=0.009534359;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2658;
+ item1=2660;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2659;
+ item1=2660;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2657;
+ atlOffset=0.009534359;
+ };
+ class Item236
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={425.38208,6.7886786,940.07086};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2660;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=0.009534359;
+ };
+ class Item237
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={423.95044,5.8319387,922.7124};
+ };
+ id=2661;
+ type="SupportRequester";
+ atlOffset=0.83193874;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item238
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.89478,5.7404861,917.56744};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=2663;
+ type="B_Soldier_F";
+ atlOffset=0.73904705;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2663;
+ item1=2664;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2662;
+ atlOffset=0.73904705;
+ };
+ class Item239
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={421.89478,6.4606729,917.51709};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2664;
+ type="B_Mortar_01_F";
+ atlOffset=0.73904705;
+ };
+ class Item240
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={426.26001,5.2110257,916.32391};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2666;
+ type="B_Helipilot_F";
+ atlOffset=0.20958662;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={426.26001,5.2110257,916.32391};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2667;
+ type="B_Helipilot_F";
+ atlOffset=0.20958662;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2666;
+ item1=2668;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2667;
+ item1=2668;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2665;
+ atlOffset=0.20958662;
+ };
+ class Item241
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={426.26001,6.9887309,916.27496};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2668;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=0.20958662;
+ };
+ class Item242
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2352.8674,5,1375.1069};
+ };
+ id=2669;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item243
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2355.2317,5.0014391,1368.4746};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2671;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2355.2317,5.0014391,1368.4746};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2672;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2671;
+ item1=2673;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2672;
+ item1=2673;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2670;
+ };
+ class Item244
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2355.2317,7.1696463,1368.314};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ pylons="PylonWeapon_2000Rnd_65x39_belt;PylonRack_12Rnd_missiles;";
+ };
+ id=2673;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item245
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2350.7871,5.0014391,1368.7531};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2675;
+ type="O_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2675;
+ item1=2676;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2674;
+ };
+ class Item246
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2350.7871,5.7216258,1368.7026};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2676;
+ type="O_Mortar_01_F";
+ };
+ class Item247
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2353.8879,5,1349.772};
+ };
+ id=2677;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item248
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2356.1008,5.0014391,1343.0537};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2679;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2356.1008,5.0014391,1343.0537};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2680;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2679;
+ item1=2681;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2680;
+ item1=2681;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2678;
+ };
+ class Item249
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2356.1008,7.1696463,1342.8931};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ pylons="PylonWeapon_2000Rnd_65x39_belt;PylonRack_12Rnd_missiles;";
+ };
+ id=2681;
+ type="O_Heli_Light_02_dynamicLoadout_F";
+ };
+ class Item250
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2351.9036,5.0014391,1343.4551};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2683;
+ type="O_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2683;
+ item1=2684;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2682;
+ };
+ class Item251
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2351.9036,5.7216258,1343.4048};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2684;
+ type="O_Mortar_01_F";
+ };
+ class Item252
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1356.8848,5,1362.511};
+ };
+ id=2685;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item253
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1358.887,5.0014391,1356.421};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2687;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1358.887,5.0014391,1356.421};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2688;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2687;
+ item1=2689;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2688;
+ item1=2689;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2686;
+ };
+ class Item254
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1358.887,6.5310755,1356.371};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2689;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item255
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1354.7734,5.0014391,1356.4421};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2691;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2691;
+ item1=2692;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2690;
+ };
+ class Item256
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1354.7734,5.7216258,1356.3917};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2692;
+ type="I_Mortar_01_F";
+ };
+ class Item257
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1357.3213,5,1332.5833};
+ };
+ id=2693;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item258
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1359.406,5.0014391,1326.547};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2695;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1359.406,5.0014391,1326.547};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2696;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2695;
+ item1=2697;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2696;
+ item1=2697;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2694;
+ };
+ class Item259
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1359.406,6.5310755,1326.4969};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2697;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item260
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.248,5.0014391,1326.541};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2699;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2699;
+ item1=2700;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2698;
+ };
+ class Item261
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.248,5.7216258,1326.4906};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2700;
+ type="I_Mortar_01_F";
+ };
+ class Item262
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={411.24136,5,1347.6611};
+ };
+ id=2701;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item263
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={409.20523,5.0014391,1342.4988};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2703;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=2703;
+ item1=2704;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2702;
+ };
+ class Item264
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={409.20523,5.7216258,1342.4484};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=2704;
+ type="B_Mortar_01_F";
+ };
+ class Item265
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.58804,5.0014391,1341.3022};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=2706;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.58804,5.0014391,1341.3022};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=2707;
+ type="B_Helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2706;
+ item1=2708;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2707;
+ item1=2708;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2705;
+ atlOffset=-0.37890196;
+ };
+ class Item266
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={413.58804,6.4002423,1341.2531};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ receiveRemoteTargets=1;
+ };
+ id=2708;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=-0.37890196;
+ };
+ class Item267
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={425.25861,5.0014391,1363.5155};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CO";
+ description="NATO Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2710;
+ type="B_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.25861,5.0014391,1361.8661};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CO_JTAC";
+ description="NATO JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2711;
+ type="B_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={420.25861,5.0014391,1361.8661};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CO_UAV";
+ description="NATO UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2712;
+ type="B_soldier_UAV_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={435.25861,5.0014391,1359.1268};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CO_M";
+ description="NATO Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2713;
+ type="B_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_CO";
+ };
+ id=2709;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item268
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.38492,5.0014391,1351.1897};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_DC";
+ description="NATO Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2715;
+ type="B_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={435.38492,5.0014391,1349.5393};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitNATO_DC_JTAC";
+ description="NATO JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2716;
+ type="B_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={425.38492,5.0014391,1349.5393};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitNATO_DC_UAV";
+ description="NATO UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2717;
+ type="B_soldier_UAV_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={440.38492,5.0014391,1346.8};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitNATO_DC_M";
+ description="NATO Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2718;
+ type="B_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_DC";
+ };
+ id=2714;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item269
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.17899,4.8214393,1304.6471};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_COV_C";
+ description="NATO Command Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2720;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.17899,4.8214393,1304.6471};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_COV_G";
+ description="NATO Command Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2721;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.17899,4.8214393,1304.6471};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_COV_D";
+ description="NATO Command Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2722;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_COV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2720;
+ item1=2564;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2721;
+ item1=2564;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2722;
+ item1=2564;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2719;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO COV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item270
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={469.71011,5.0014391,1372.1106};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ASL_SL";
+ description="NATO Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2724;
+ type="B_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male09ENG";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={474.71011,5.0014391,1370.4602};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ASL_M";
+ description="NATO Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2725;
+ type="B_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male09ENG";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_ASL";
+ };
+ id=2723;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item271
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={469.50504,5.0014391,1350.5276};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_FTL";
+ description="NATO Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2727;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={474.50504,5.0014391,1348.8772};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_AR1";
+ description="NATO Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2728;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={464.50504,5.0014391,1348.8772};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_AR2";
+ description="NATO Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2729;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={479.50504,5.0014391,1346.1379};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_AT";
+ description="NATO Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2730;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={459.50504,5.0014391,1346.1379};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_R1";
+ description="NATO Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3723;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={484.50504,5.0014391,1341.5911};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A1_R2";
+ description="NATO Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3725;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_A1";
+ };
+ id=2726;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item272
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={469.71109,5.0014391,1326.9739};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_FTL";
+ description="NATO Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2734;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={474.71109,5.0014391,1325.3235};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_AR1";
+ description="NATO Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2735;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={464.71109,5.0014391,1325.3235};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_AR2";
+ description="NATO Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2736;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={479.71109,5.0014391,1322.5842};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_AT";
+ description="NATO Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2737;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={459.71109,5.0014391,1322.5842};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_R1";
+ description="NATO Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2738;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={484.71109,5.0014391,1318.0374};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_A2_R2";
+ description="NATO Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2739;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_A2";
+ };
+ id=2733;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item273
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.42001,4.8214393,1304.2201};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_AV_C";
+ description="NATO Alpha Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2741;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.42001,4.8214393,1304.2201};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_AV_G";
+ description="NATO Alpha Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2742;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.42001,4.8214393,1304.2201};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_AV_D";
+ description="NATO Alpha Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2743;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_AV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2741;
+ item1=2561;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2742;
+ item1=2561;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2743;
+ item1=2561;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2740;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO AV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item274
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={515.86633,5.0014391,1371.6272};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_BSL_SL";
+ description="NATO Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2745;
+ type="B_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={520.86633,5.0014391,1369.9768};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitNATO_BSL_M";
+ description="NATO Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2746;
+ type="B_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_BSL";
+ };
+ id=2744;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item275
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={515.87219,5.0014391,1349.8528};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_FTL";
+ description="NATO Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2748;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={520.87219,5.0014391,1348.2024};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_AR1";
+ description="NATO Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2749;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={510.87222,5.0014391,1348.2024};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_AR2";
+ description="NATO Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2750;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={525.87219,5.0014391,1345.4631};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_AT";
+ description="NATO Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2751;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={505.87222,5.0014391,1345.4631};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_R1";
+ description="NATO Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2752;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={530.87219,5.0014391,1340.9163};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B1_R2";
+ description="NATO Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2753;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_B1";
+ };
+ id=2747;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item276
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={515.69153,5.0014391,1326.2991};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_FTL";
+ description="NATO Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2755;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={520.69153,5.0014391,1324.6487};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_AR1";
+ description="NATO Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2756;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={510.69156,5.0014391,1324.6487};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_AR2";
+ description="NATO Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2757;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={525.69153,5.0014391,1321.9094};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_AT";
+ description="NATO Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2758;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={505.69156,5.0014391,1321.9094};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_R1";
+ description="NATO Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2759;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={530.69153,5.0014391,1317.3625};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_B2_R2";
+ description="NATO Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2760;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_B2";
+ };
+ id=2754;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item277
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={517.84601,4.8214393,1301.28};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_BV_C";
+ description="NATO Bravo Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2762;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={517.84601,4.8214393,1301.28};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_BV_G";
+ description="NATO Bravo Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2763;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={517.84601,4.8214393,1301.28};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_BV_D";
+ description="NATO Bravo Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2764;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_BV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2762;
+ item1=2562;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2763;
+ item1=2562;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2764;
+ item1=2562;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2761;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO BV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item278
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={558.87317,5.0014391,1372.5715};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CSL_SL";
+ description="NATO Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2766;
+ type="B_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.87317,5.0014391,1370.9231};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CSL_M";
+ description="NATO Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2767;
+ type="B_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_CSL";
+ };
+ id=2765;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item279
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={558.73254,5.0014391,1350.0002};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_FTL";
+ description="NATO Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2769;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.73254,5.0014391,1348.3499};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_AR1";
+ description="NATO Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2770;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={553.73254,5.0014391,1348.3499};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_AR2";
+ description="NATO Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2771;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={568.73254,5.0014391,1345.6106};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_AT";
+ description="NATO Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2772;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={548.73254,5.0014391,1345.6106};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_R1";
+ description="NATO Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2773;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={573.73254,5.0014391,1341.0637};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C1_R2";
+ description="NATO Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2774;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_C1";
+ };
+ id=2768;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item280
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={559.41809,5.0014391,1326.5735};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_FTL";
+ description="NATO Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2776;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={564.41809,5.0014391,1324.9231};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_AR1";
+ description="NATO Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2777;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={554.41809,5.0014391,1324.9231};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_AR2";
+ description="NATO Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2778;
+ type="B_soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={569.41809,5.0014391,1322.1838};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_AT";
+ description="NATO Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2779;
+ type="B_soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={549.41809,5.0014391,1322.1838};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_R1";
+ description="NATO Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2780;
+ type="B_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={574.41809,5.0014391,1317.636};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitNATO_C2_R2";
+ description="NATO Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2781;
+ type="B_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_C2";
+ };
+ id=2775;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item281
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.05603,4.8214393,1302.509};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CV_C";
+ description="NATO Charlie Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2783;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.05603,4.8214393,1302.509};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CV_G";
+ description="NATO Charlie Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2784;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.05603,4.8214393,1302.509};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CV_D";
+ description="NATO Charlie Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2785;
+ type="B_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_CV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2783;
+ item1=2563;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2784;
+ item1=2563;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2785;
+ item1=2563;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2782;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO CV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item282
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.67798,5.0014391,1372.7941};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG1_TL";
+ description="NATO Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2787;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.67786,5.0014391,1371.1438};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG1_G";
+ description="NATO Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2788;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.51489,5.0014391,1371.1731};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG1_AG";
+ description="NATO Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2789;
+ type="B_soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MMG1";
+ };
+ id=2786;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item283
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.31201,5.0014391,1361.0021};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG2_TL";
+ description="NATO Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2791;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.31165,5.0014391,1359.3518};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG2_G";
+ description="NATO Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2792;
+ type="B_soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.14893,5.0014391,1359.3811};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitNATO_MMG2_AG";
+ description="NATO Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2793;
+ type="B_soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MMG2";
+ };
+ id=2790;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item284
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.51703,5.0014391,1349.5031};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT1_TL";
+ description="NATO Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2795;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.51672,5.0372052,1347.8528};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT1_G";
+ description="NATO Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2796;
+ type="B_soldier_AT_F";
+ atlOffset=0.035766125;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.354,5.0014391,1347.8821};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT1_AG";
+ description="NATO Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2797;
+ type="B_soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MAT1";
+ };
+ id=2794;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item285
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.828,5.0014391,1337.9661};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT2_TL";
+ description="NATO Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2799;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.82825,5.0014391,1336.3157};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT2_G";
+ description="NATO Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2800;
+ type="B_soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.66602,5.0014391,1336.3441};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MAT2_AG";
+ description="NATO Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2801;
+ type="B_soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MAT2";
+ };
+ id=2798;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item286
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.53235,5.0014391,1325.4583};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HMG1_TL";
+ description="NATO Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2803;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.53235,5.0014391,1323.8079};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hmgg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HMG1_G";
+ description="NATO Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2804;
+ type="B_support_MG_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_HMG1";
+ };
+ id=2802;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item287
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.42999,5.0014391,1314.5901};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HAT1_TL";
+ description="NATO Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2806;
+ type="B_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.42981,5.0014391,1312.9397};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""hatg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HAT1_G";
+ description="NATO Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2807;
+ type="B_soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.26697,5.0014391,1312.968};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HAT1_AG";
+ description="NATO Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2808;
+ type="B_soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_HAT1";
+ };
+ id=2805;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item288
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.72571,5.5986366,1302.717};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MTR1_TL";
+ description="NATO Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2810;
+ type="B_support_AMort_F";
+ atlOffset=0.59719753;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.72571,5.6381588,1301.0667};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""mtrg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MTR1_G";
+ description="NATO Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2811;
+ type="B_support_Mort_F";
+ atlOffset=0.6367197;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MTR1";
+ };
+ id=2809;
+ atlOffset=0.59719753;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item289
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.651,5.7164392,1290.2791};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MSAM1_TL";
+ description="NATO Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2813;
+ type="B_soldier_AAA_F";
+ atlOffset=0.71500015;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.65149,5.791913,1288.6282};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""msamg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MSAM1_G";
+ description="NATO Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2814;
+ type="B_soldier_AA_F";
+ atlOffset=0.79047394;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={617.48901,5.7164392,1288.6571};
+ };
+ side="West";
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_MSAM1_AG";
+ description="NATO Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2815;
+ type="B_soldier_AAA_F";
+ atlOffset=0.71500015;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_MSAM1";
+ };
+ id=2812;
+ atlOffset=0.71500015;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item290
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.7384,5.7222595,1277.7756};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HSAM1_TL";
+ description="NATO Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2817;
+ type="B_soldier_AAA_F";
+ atlOffset=0.72082043;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.7384,5.7153502,1276.1252};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""hsamg"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_HSAM1_G";
+ description="NATO Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2818;
+ type="B_soldier_AA_F";
+ atlOffset=0.71391106;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_HSAM1";
+ };
+ id=2816;
+ atlOffset=0.72082043;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item291
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.7384,5.6523895,1266.6995};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_ST1_SP";
+ description="NATO Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2820;
+ type="B_spotter_F";
+ atlOffset=0.65095043;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.7384,5.6546535,1265.0491};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""sn"",this] call f_fnc_assignGear; ";
+ name="UnitNATO_ST1_SN";
+ description="NATO Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2821;
+ type="B_sniper_F";
+ atlOffset=0.65321445;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_ST1";
+ };
+ id=2819;
+ atlOffset=0.65095043;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item292
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.41223,5.2708397,1254.4338};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ENG1_FTL";
+ description="NATO Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2823;
+ type="B_engineer_F";
+ atlOffset=0.2694006;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.41223,5.1099253,1252.7834};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ENG1_A1";
+ description="NATO Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2824;
+ type="B_engineer_F";
+ atlOffset=0.10848618;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={616.41223,5.3070717,1252.7834};
+ };
+ side="West";
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ENG1_A2";
+ description="NATO Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2825;
+ type="B_engineer_F";
+ atlOffset=0.30563259;
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={631.41223,5.0951824,1250.0442};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitNATO_ENG1_A3";
+ description="NATO Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2826;
+ type="B_engineer_F";
+ atlOffset=0.093743324;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_ENG1";
+ };
+ id=2822;
+ atlOffset=0.2694006;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item293
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={621.09973,5.0014391,1240.26};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitNATO_DT1_TL";
+ description="NATO Diver Team 1 Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2828;
+ type="B_diver_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={626.09973,5.0014391,1238.6096};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitNATO_DT1_D1";
+ description="NATO Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2829;
+ type="B_diver_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={616.09973,5.0014391,1238.6096};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitNATO_DT1_D2";
+ description="NATO Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2830;
+ type="B_diver_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={631.09973,5.0014391,1235.8704};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitNATO_DT1_D3";
+ description="NATO Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2831;
+ type="B_diver_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_DT1";
+ };
+ id=2827;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO DT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item294
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.91599,4.924439,1278.9601};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV1_C";
+ description="NATO IFV 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2833;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.91599,4.924439,1278.9601};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV1_G";
+ description="NATO IFV 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2834;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={430.91599,4.924439,1278.9601};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV1_D";
+ description="NATO IFV 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2835;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2833;
+ item1=2624;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2834;
+ item1=2624;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2835;
+ item1=2624;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2832;
+ atlOffset=-0.077000141;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO IFV1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item295
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.59399,4.924439,1279.1481};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV2_C";
+ description="NATO IFV 2 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2837;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.59399,4.924439,1279.1481};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV2_G";
+ description="NATO IFV 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2838;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={470.59399,4.924439,1279.1481};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_IFV2_D";
+ description="NATO IFV 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2839;
+ type="B_crew_F";
+ atlOffset=-0.077000141;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2837;
+ item1=2625;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2838;
+ item1=2625;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2839;
+ item1=2625;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2836;
+ atlOffset=-0.077000141;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO IFV2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item296
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.48199,4.812439,1279.7731};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TNK1_C";
+ description="NATO Tank 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2841;
+ type="B_crew_F";
+ atlOffset=-0.18900013;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.48199,4.812439,1279.7731};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TNK1_G";
+ description="NATO Tank 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2842;
+ type="B_crew_F";
+ atlOffset=-0.18900013;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.48199,4.812439,1279.7731};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TNK1_D";
+ description="NATO Tank 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2843;
+ type="B_crew_F";
+ atlOffset=-0.18900013;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TNK1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=2841;
+ item1=2581;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2842;
+ item1=2581;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2843;
+ item1=2581;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2840;
+ atlOffset=-0.18900013;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TNK1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item297
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.07501,5.0014391,1248.4301};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH1_P";
+ description="NATO Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2845;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.07501,5.0014391,1248.4301};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH1_CP";
+ description="NATO Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2846;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.07501,5.0014391,1248.4301};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH1_G1";
+ description="NATO Transport Helo 1 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2847;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.07501,5.0014391,1248.4301};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH1_G2";
+ description="NATO Transport Helo 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2848;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2845;
+ item1=2551;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2846;
+ item1=2551;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2847;
+ item1=2551;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2848;
+ item1=2551;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2844;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item298
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.48001,5.0014391,1220.6481};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH2_P";
+ description="NATO Transport Helo 2 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2850;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.48001,5.0014391,1220.6481};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH2_CP";
+ description="NATO Transport Helo 2 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2851;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.48001,5.0014391,1220.6481};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH2_G1";
+ description="NATO Transport Helo 2 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2852;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={432.48001,5.0014391,1220.6481};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH2_G2";
+ description="NATO Transport Helo 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2853;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2850;
+ item1=2554;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2851;
+ item1=2554;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2852;
+ item1=2554;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2853;
+ item1=2554;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2849;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item299
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={467.56,5.0014391,1249.099};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH3_P";
+ description="NATO Transport Helo 3 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2855;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={467.56,5.0014391,1249.099};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH3_CP";
+ description="NATO Transport Helo 3 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2856;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={467.56,5.0014391,1249.099};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH3_G1";
+ description="NATO Transport Helo 3 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2857;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={467.56,5.0014391,1249.099};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH3_G2";
+ description="NATO Transport Helo 3 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2858;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH3";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2855;
+ item1=2555;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2856;
+ item1=2555;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2857;
+ item1=2555;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2858;
+ item1=2555;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2854;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH3 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item300
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={468.41699,5.0014391,1221.5601};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH4_P";
+ description="NATO Transport Helo 4 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2860;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={468.41699,5.0014391,1221.5601};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH4_CP";
+ description="NATO Transport Helo 4 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2861;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={468.41699,5.0014391,1221.5601};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH4_G1";
+ description="NATO Transport Helo 4 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2862;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={468.41699,5.0014391,1221.5601};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH4_G2";
+ description="NATO Transport Helo 4 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2863;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH4";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2860;
+ item1=2556;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2861;
+ item1=2556;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2862;
+ item1=2556;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2863;
+ item1=2556;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2859;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH4 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item301
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.71503,5.0014391,1249.3051};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH5_P";
+ description="NATO Transport Helo 5 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2865;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.71503,5.0014391,1249.3051};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH5_CP";
+ description="NATO Transport Helo 5 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2866;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.71503,5.0014391,1249.3051};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH5_G1";
+ description="NATO Transport Helo 5 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2867;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.71503,5.0014391,1249.3051};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH5_G2";
+ description="NATO Transport Helo 5 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2868;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH5";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2865;
+ item1=2557;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2866;
+ item1=2557;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2867;
+ item1=2557;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2868;
+ item1=2557;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2864;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH5 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item302
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.78699,5.0014391,1221.2981};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH6_P";
+ description="NATO Transport Helo 6 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2870;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.78699,5.0014391,1221.2981};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH6_CP";
+ description="NATO Transport Helo 6 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2871;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.78699,5.0014391,1221.2981};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH6_G1";
+ description="NATO Transport Helo 6 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2872;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.78699,5.0014391,1221.2981};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH6_G2";
+ description="NATO Transport Helo 6 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2873;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH6";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2870;
+ item1=2558;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2871;
+ item1=2558;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2872;
+ item1=2558;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2873;
+ item1=2558;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2869;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH6 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item303
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.33698,5.0014391,1249.8831};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH7_P";
+ description="NATO Transport Helo 7 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2875;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.33698,5.0014391,1249.8831};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH7_CP";
+ description="NATO Transport Helo 7 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2876;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.33698,5.0014391,1249.8831};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH7_G1";
+ description="NATO Transport Helo 7 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2877;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={562.33698,5.0014391,1249.8831};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH7_G2";
+ description="NATO Transport Helo 7 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2878;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH7";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2875;
+ item1=2559;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2876;
+ item1=2559;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2877;
+ item1=2559;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2878;
+ item1=2559;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2874;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH7 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item304
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.229,5.0014391,1222.3771};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH8_P";
+ description="NATO Transport Helo 8 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2880;
+ type="B_Helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.229,5.0014391,1222.3771};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH8_CP";
+ description="NATO Transport Helo 8 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2881;
+ type="B_Helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.229,5.0014391,1222.3771};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH8_G1";
+ description="NATO Transport Helo 8 Crew Chief";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2882;
+ type="B_helicrew_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={563.229,5.0014391,1222.3771};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_TH8_G2";
+ description="NATO Transport Helo 8 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2883;
+ type="B_helicrew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_TH8";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=2880;
+ item1=2560;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2881;
+ item1=2560;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2882;
+ item1=2560;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2883;
+ item1=2560;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={2};
+ };
+ };
+ };
+ };
+ id=2879;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO TH8 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item305
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.90399,5.0114393,1193.7561};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_AH1_P";
+ description="NATO Attack Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2885;
+ type="B_Helipilot_F";
+ atlOffset=0.010000229;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={431.90399,5.0114393,1193.7561};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitNATO_AH1_CP";
+ description="NATO Attack Helo 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2886;
+ type="B_Helipilot_F";
+ atlOffset=0.010000229;
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_AH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2885;
+ item1=2565;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2886;
+ item1=2565;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=2884;
+ atlOffset=0.010000229;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO AH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item306
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2379.9329,5.0014391,1377.0327};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ lock="UNLOCKED";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CO";
+ description="CSAT Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2888;
+ type="O_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2384.9329,5.0014391,1375.3823};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CO_JTAC";
+ description="CSAT JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2889;
+ type="O_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2374.9329,5.0014391,1375.3823};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CO_UAV";
+ description="CSAT UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2890;
+ type="O_soldier_UAV_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2389.9329,5.0014391,1372.6421};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CO_M";
+ description="CSAT Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2891;
+ type="O_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_CO";
+ };
+ id=2887;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item307
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.3215,5.0014391,1352.3208};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ lock="UNLOCKED";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_DC";
+ description="CSAT Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2893;
+ type="O_officer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2386.3215,5.0014391,1350.6694};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_DC_JTAC";
+ description="CSAT JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2894;
+ type="O_officer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2376.3215,5.0014391,1350.6694};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_DC_UAV";
+ description="CSAT UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2895;
+ type="O_soldier_UAV_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2391.3215,5.0014391,1347.9312};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_DC_M";
+ description="CSAT Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2896;
+ type="O_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_DC";
+ };
+ id=2892;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item308
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.1589,5.0014391,1301.369};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_COV_G";
+ description="CSAT Command Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2898;
+ type="O_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.1589,5.0014391,1301.369};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_COV_D";
+ description="CSAT Command Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2899;
+ type="O_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_COV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2898;
+ item1=2576;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2899;
+ item1=2576;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2897;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT COV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item309
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2423.9153,5.0014391,1376.146};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ lock="UNLOCKED";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ASL_SL";
+ description="CSAT Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2901;
+ type="O_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2428.9153,5.0014391,1374.4956};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ASL_M";
+ description="CSAT Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2902;
+ type="O_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_ASL";
+ };
+ id=2900;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item310
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2424.97,5.0014391,1350.8052};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_FTL";
+ description="CSAT Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2904;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.97,5.0014391,1349.1548};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_AR1";
+ description="CSAT Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2905;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2419.97,5.0014391,1349.1548};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_AR2";
+ description="CSAT Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2906;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2434.97,5.0014391,1346.4155};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_AT";
+ description="CSAT Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2907;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2414.97,5.0014391,1346.4155};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_R1";
+ description="CSAT Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2908;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2439.97,5.0014391,1341.8687};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A1_R2";
+ description="CSAT Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2909;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_A1";
+ };
+ id=2903;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item311
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2425.2102,5.0014391,1324.6548};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_FTL";
+ description="CSAT Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2911;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2430.2102,5.0014391,1323.0046};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_AR1";
+ description="CSAT Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2912;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2420.2102,5.0014391,1323.0046};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_AR2";
+ description="CSAT Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2913;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2435.2102,5.0014391,1320.2654};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_AT";
+ description="CSAT Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2914;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2415.2102,5.0014391,1320.2654};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_R1";
+ description="CSAT Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2915;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2440.2102,5.0014391,1315.7175};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_A2_R2";
+ description="CSAT Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2916;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_A2";
+ };
+ id=2910;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item312
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2423.8579,5.0014391,1301.144};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_AV_G";
+ description="CSAT Alpha Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2918;
+ type="O_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2423.8579,5.0014391,1301.144};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_AV_D";
+ description="CSAT Alpha Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2919;
+ type="O_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_AV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2918;
+ item1=2577;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2919;
+ item1=2577;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2917;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT AV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item313
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.7698,5.0014391,1376.0884};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ lock="UNLOCKED";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_BSL_SL";
+ description="CSAT Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2921;
+ type="O_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2480.7698,5.0014391,1374.438};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_BSL_M";
+ description="CSAT Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2922;
+ type="O_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_BSL";
+ };
+ id=2920;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item314
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2476.9465,5.0014391,1350.1851};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_FTL";
+ description="CSAT Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2924;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2481.9465,5.0014391,1348.5347};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_AR1";
+ description="CSAT Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2925;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2471.9465,5.0014391,1348.5347};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_AR2";
+ description="CSAT Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2926;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2486.9465,5.0014391,1345.7944};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_AT";
+ description="CSAT Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2927;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2466.9465,5.0014391,1345.7944};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_R1";
+ description="CSAT Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2928;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2491.9465,5.0014391,1341.2485};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B1_R2";
+ description="CSAT Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2929;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_B1";
+ };
+ id=2923;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item315
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2476.4866,5.0014391,1323.9839};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_FTL";
+ description="CSAT Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2931;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2481.4866,5.0014391,1322.3337};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_AR1";
+ description="CSAT Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2932;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2471.4866,5.0014391,1322.3337};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_AR2";
+ description="CSAT Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2933;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2486.4866,5.0014391,1319.5945};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_AT";
+ description="CSAT Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2934;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2466.4866,5.0014391,1319.5945};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_R1";
+ description="CSAT Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2935;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2491.4866,5.0014391,1315.0476};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_B2_R2";
+ description="CSAT Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2936;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_B2";
+ };
+ id=2930;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item316
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.9971,5.0014391,1300.3561};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_BV_G";
+ description="CSAT Bravo Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2938;
+ type="O_crew_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2475.9971,5.0014391,1300.3561};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_BV_D";
+ description="CSAT Bravo Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2939;
+ type="O_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_BV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2938;
+ item1=2578;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2939;
+ item1=2578;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2937;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT BV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item317
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.0129,5.0014391,1376.1772};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ lock="UNLOCKED";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CSL_SL";
+ description="CSAT Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2941;
+ type="O_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.0129,5.0014391,1374.5269};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CSL_M";
+ description="CSAT Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2942;
+ type="O_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_CSL";
+ };
+ id=2940;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item318
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.8049,5.0014391,1350.1948};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_FTL";
+ description="CSAT Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2944;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.8049,5.0014391,1348.5444};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_AR1";
+ description="CSAT Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2945;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2524.8049,5.0014391,1348.5444};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_AR2";
+ description="CSAT Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2946;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2539.8049,5.0014391,1345.8052};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_AT";
+ description="CSAT Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2947;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2519.8049,5.0014391,1345.8052};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_R1";
+ description="CSAT Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2948;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2544.8049,5.0014391,1341.2583};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C1_R2";
+ description="CSAT Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2949;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_C1";
+ };
+ id=2943;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item319
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.5588,5.0014391,1324.356};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ lock="UNLOCKED";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_FTL";
+ description="CSAT Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2951;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.5588,5.0014391,1322.7058};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_AR1";
+ description="CSAT Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2952;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2524.5588,5.0014391,1322.7058};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ lock="UNLOCKED";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_AR2";
+ description="CSAT Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2953;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2539.5588,5.0014391,1319.9666};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_AT";
+ description="CSAT Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2954;
+ type="O_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2519.5588,5.0014391,1319.9666};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_R1";
+ description="CSAT Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2955;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2544.5588,5.0014391,1315.4197};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_C2_R2";
+ description="CSAT Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2956;
+ type="O_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_C2";
+ };
+ id=2950;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item320
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.116,5.0014391,1300.166};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CV_G";
+ description="CSAT Charlie Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2958;
+ type="O_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2529.116,5.0014391,1300.166};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CV_D";
+ description="CSAT Charlie Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2959;
+ type="O_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_CV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=2958;
+ item1=2579;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2959;
+ item1=2579;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=2957;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT CV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item321
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.7319,5.0014391,1375.573};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG1_TL";
+ description="CSAT Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2961;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.7317,5.0014391,1373.9224};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG1_G";
+ description="CSAT Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2962;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.5688,5.0014391,1373.951};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG1_AG";
+ description="CSAT Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2963;
+ type="O_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MMG1";
+ };
+ id=2960;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item322
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.948,5.0014391,1361.3551};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG2_TL";
+ description="CSAT Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2965;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.9475,5.0014391,1359.7046};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ lock="UNLOCKED";
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG2_G";
+ description="CSAT Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2966;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.7849,5.0014391,1359.733};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ lock="UNLOCKED";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MMG2_AG";
+ description="CSAT Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2967;
+ type="O_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MMG2";
+ };
+ id=2964;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item323
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.625,5.0014391,1349.76};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MAT1_TL";
+ description="CSAT Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2969;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.6252,5.0014391,1348.1099};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MAT1_G";
+ description="CSAT Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2970;
+ type="O_Soldier_AT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.4629,5.0014391,1348.139};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MAT1_AG";
+ description="CSAT Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2971;
+ type="O_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MAT1";
+ };
+ id=2968;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item324
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.115,5.0014391,1336.8};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_MAT2_TL";
+ description="CSAT Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2973;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2601.1155,5.0014391,1335.1499};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MAT2_G";
+ description="CSAT Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2974;
+ type="O_Soldier_AT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.9529,5.0014391,1335.1791};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_MAT2_AG";
+ description="CSAT Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2975;
+ type="O_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MAT2";
+ };
+ id=2972;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item325
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.8782,5.0014391,1324.9253};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_HMG1_TL";
+ description="CSAT Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2977;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.8782,5.0014391,1323.2751};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hmgg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_HMG1_G";
+ description="CSAT Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2978;
+ type="O_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_HMG1";
+ };
+ id=2976;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item326
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.6621,5.0014391,1312.0131};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_HAT1_TL";
+ description="CSAT Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2980;
+ type="O_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.6624,5.0014391,1310.363};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hatg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_HAT1_G";
+ description="CSAT Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2981;
+ type="O_Soldier_AT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.5,5.0014391,1310.3921};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_HAT1_AG";
+ description="CSAT Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2982;
+ type="O_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_HAT1";
+ };
+ id=2979;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item327
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.7024,5.0014391,1300.0876};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_MTR1_TL";
+ description="CSAT Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2984;
+ type="O_support_AMort_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.7024,5.0014391,1298.4373};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mtrg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MTR1_G";
+ description="CSAT Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2985;
+ type="O_support_Mort_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MTR1";
+ };
+ id=2983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item328
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.1621,5.0014391,1288.172};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_MSAM1_TL";
+ description="CSAT Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2987;
+ type="O_Soldier_AAA_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2601.1624,5.0014391,1286.5212};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""msamg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_MSAM1_G";
+ description="CSAT Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2988;
+ type="O_Soldier_AA_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2592,5.0014391,1286.55};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_MSAM1_AG";
+ description="CSAT Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2989;
+ type="O_Soldier_AAA_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_MSAM1";
+ };
+ id=2986;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item329
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.0227,5.0014391,1274.8455};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_HSAM1_TL";
+ description="CSAT Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2991;
+ type="O_Soldier_AAA_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2601.0227,5.0014391,1273.196};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hsamg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_HSAM1_G";
+ description="CSAT Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2992;
+ type="O_Soldier_AA_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_HSAM1";
+ };
+ id=2990;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item330
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.8958,5.0014391,1263.8103};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear; ";
+ name="UnitCSAT_ST1_SP";
+ description="CSAT Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2994;
+ type="O_spotter_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.8958,5.0014391,1262.1599};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""sn"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ST1_SN";
+ description="CSAT Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2995;
+ type="O_sniper_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_ST1";
+ };
+ id=2993;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item331
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2596.345,5.0014391,1251.0388};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ENG1_FTL";
+ description="CSAT Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2997;
+ type="O_engineer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2601.345,5.0014391,1249.3884};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ENG1_A1";
+ description="CSAT Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2998;
+ type="O_engineer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2591.345,5.0014391,1249.3884};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ENG1_A2";
+ description="CSAT Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=2999;
+ type="O_engineer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2606.345,5.0014391,1246.6492};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_ENG1_A3";
+ description="CSAT Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3000;
+ type="O_engineer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_ENG1";
+ };
+ id=2996;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item332
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2595.7639,5.0014391,1237.9285};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitCSAT_DT1_TL";
+ description="CSAT Diver Team 1 Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3002;
+ type="O_diver_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2600.7639,5.0014391,1236.2791};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitCSAT_DT1_D1";
+ description="CSAT Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3003;
+ type="O_diver_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2590.7639,5.0014391,1236.2791};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitCSAT_DT1_D2";
+ description="CSAT Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3004;
+ type="O_diver_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2605.7639,5.0014391,1233.5398};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitCSAT_DT1_D3";
+ description="CSAT Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3005;
+ type="O_diver_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_DT1";
+ };
+ id=3001;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT DT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item333
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.4871,4.8214393,1276.016};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV1_C";
+ description="CSAT IFV 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3007;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.4871,4.8214393,1276.016};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV1_G";
+ description="CSAT IFV 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3008;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2381.4871,4.8214393,1276.016};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV1_D";
+ description="CSAT IFV 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3009;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3007;
+ item1=2628;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3008;
+ item1=2628;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3009;
+ item1=2628;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3006;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT IFV1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item334
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.5959,4.8214393,1276.3611};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV2_C";
+ description="CSAT IFV 2 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3011;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.5959,4.8214393,1276.3611};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV2_G";
+ description="CSAT IFV 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3012;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.5959,4.8214393,1276.3611};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_IFV2_D";
+ description="CSAT IFV 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3013;
+ type="O_crew_F";
+ atlOffset=-0.17999983;
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3011;
+ item1=2629;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3012;
+ item1=2629;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3013;
+ item1=2629;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3010;
+ atlOffset=-0.17999983;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT IFV2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item335
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.0381,4.8204393,1274.875};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TNK1_C";
+ description="CSAT Tank 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3015;
+ type="O_crew_F";
+ atlOffset=-0.18099976;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.0381,4.8204393,1274.875};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TNK1_G";
+ description="CSAT Tank 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3016;
+ type="O_crew_F";
+ atlOffset=-0.18099976;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.0381,4.8204393,1274.875};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TNK1_D";
+ description="CSAT Tank 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3017;
+ type="O_crew_F";
+ atlOffset=-0.18099976;
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TNK1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3015;
+ item1=2586;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3016;
+ item1=2586;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3017;
+ item1=2586;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3014;
+ atlOffset=-0.18099976;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TNK1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item336
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2379.1589,5.0014391,1254.6061};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH1_P";
+ description="CSAT Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3019;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2379.1589,5.0014391,1254.6061};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH1_CP";
+ description="CSAT Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3020;
+ type="O_helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2379.1589,5.0014391,1254.6061};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH1_LM";
+ description="CSAT Transport Helo 1 Loadmaster";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3021;
+ type="O_helicrew_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3019;
+ item1=2552;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3020;
+ item1=2552;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3021;
+ item1=2552;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ };
+ };
+ id=3018;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item337
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2380.8411,5.0014391,1224.682};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH2_P";
+ description="CSAT Transport Helo 2 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3023;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2380.8411,5.0014391,1224.682};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH2_CP";
+ description="CSAT Transport Helo 2 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3024;
+ type="O_helipilot_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2380.8411,5.0014391,1224.682};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH2_LM";
+ description="CSAT Transport Helo 2 Loadmaster";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3025;
+ type="O_helicrew_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3023;
+ item1=2569;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3024;
+ item1=2569;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3025;
+ item1=2569;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ };
+ };
+ id=3022;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item338
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.54,5.0014391,1253.7301};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH3_P";
+ description="CSAT Transport Helo 3 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3027;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2429.54,5.0014391,1253.7301};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH3_CP";
+ description="CSAT Transport Helo 3 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3028;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH3";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3027;
+ item1=2570;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3028;
+ item1=2570;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3026;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH3 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item339
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.9109,5.0014391,1224.01};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH4_P";
+ description="CSAT Transport Helo 4 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3030;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2426.9109,5.0014391,1224.01};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH4_CP";
+ description="CSAT Transport Helo 4 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3031;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH4";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3030;
+ item1=2571;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3031;
+ item1=2571;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3029;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH4 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item340
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2480.333,5.0014391,1253.39};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH5_P";
+ description="CSAT Transport Helo 5 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3033;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2480.333,5.0014391,1253.39};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH5_CP";
+ description="CSAT Transport Helo 5 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3034;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH5";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3033;
+ item1=2572;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3034;
+ item1=2572;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3032;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH5 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item341
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.699,5.0014391,1223.665};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH6_P";
+ description="CSAT Transport Helo 6 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3036;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2477.699,5.0014391,1223.665};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH6_CP";
+ description="CSAT Transport Helo 6 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3037;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH6";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3036;
+ item1=2573;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3037;
+ item1=2573;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3035;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH6 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item342
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.553,5.0014391,1253.785};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH7_P";
+ description="CSAT Transport Helo 7 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3039;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2534.553,5.0014391,1253.785};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH7_CP";
+ description="CSAT Transport Helo 7 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3040;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH7";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3039;
+ item1=2574;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3040;
+ item1=2574;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3038;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH7 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item343
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2531.9209,5.0014391,1224.0651};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH8_P";
+ description="CSAT Transport Helo 8 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3042;
+ type="O_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2531.9209,5.0014391,1224.0651};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_TH8_CP";
+ description="CSAT Transport Helo 8 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3043;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_TH8";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3042;
+ item1=2575;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3043;
+ item1=2575;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3041;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT TH8 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item344
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2382.634,5.0014391,1193.7571};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_AH1_P";
+ description="CSAT Attack Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3045;
+ type="O_helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2382.634,5.0014391,1193.7571};
+ };
+ side="East";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_AH1_CP";
+ description="CSAT Attack Helo 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3046;
+ type="O_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_AH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3045;
+ item1=2580;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3046;
+ item1=2580;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3044;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT AH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item345
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.9424,5.0014391,1365.5823};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CO";
+ description="AAF Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3048;
+ type="I_officer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1386.9424,5.0014391,1363.9319};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CO_JTAC";
+ description="AAF Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3049;
+ type="I_officer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1376.9424,5.0014391,1363.9319};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CO_UAV";
+ description="AAF UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3050;
+ type="I_soldier_UAV_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1391.9424,5.0014391,1361.1926};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CO_M";
+ description="AAF Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3051;
+ type="I_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_CO";
+ };
+ id=3047;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item346
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.2412,5.0014391,1336.0022};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_DC";
+ description="AAF Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3053;
+ type="I_officer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1387.2412,5.0014391,1334.3518};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitAAF_DC_JTAC";
+ description="AAF Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3054;
+ type="I_officer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1377.2412,5.0014391,1334.3518};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitAAF_DC_UAV";
+ description="AAF UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3055;
+ type="I_soldier_UAV_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1392.2412,5.0014391,1331.6125};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitAAF_DC_M";
+ description="AAF Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3056;
+ type="I_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_DC";
+ init="DC";
+ };
+ id=3052;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item347
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.178,5.0014391,1275.843};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_COV_C";
+ description="AAF Command Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3058;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.178,5.0014391,1275.843};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_COV_G";
+ description="AAF Command Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3059;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.178,5.0014391,1275.843};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_COV_D";
+ description="AAF Command Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3060;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_COV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3058;
+ item1=2582;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3059;
+ item1=2582;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3060;
+ item1=2582;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3057;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF COV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item348
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1422.834,5.0014391,1364.2102};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_ASL_SL";
+ description="AAF Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3062;
+ type="I_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1427.834,5.0014391,1362.5598};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitAAF_ASL_M";
+ description="AAF Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3063;
+ type="I_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_ASL";
+ };
+ id=3061;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item349
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.7695,5.0014391,1336.9241};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_FTL";
+ description="AAF Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3065;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1428.7695,5.0014391,1335.2737};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_AR1";
+ description="AAF Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3066;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1418.7695,5.0014391,1335.2737};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_AR2";
+ description="AAF Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3067;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1433.7695,5.0014391,1332.5354};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_AT";
+ description="AAF Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3068;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1413.7695,5.0014391,1332.5354};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_R1";
+ description="AAF Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3069;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1438.7695,5.0014391,1327.9875};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A1_R2";
+ description="AAF Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3070;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_A1";
+ };
+ id=3064;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item350
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.5059,5.0014391,1311.1038};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_FTL";
+ description="AAF Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3072;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1428.5059,5.0014391,1309.4534};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_AR1";
+ description="AAF Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3073;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1418.5059,5.0014391,1309.4534};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_AR2";
+ description="AAF Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3074;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1433.5059,5.0014391,1306.7141};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_AT";
+ description="AAF Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3075;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1413.5059,5.0014391,1306.7141};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_R1";
+ description="AAF Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3076;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1438.5059,5.0014391,1302.1682};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_A2_R2";
+ description="AAF Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3077;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_A2";
+ };
+ id=3071;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item351
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.8781,5.0014391,1274.703};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_AV_C";
+ description="AAF Alpha Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3079;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.8781,5.0014391,1274.703};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_AV_G";
+ description="AAF Alpha Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3080;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.8781,5.0014391,1274.703};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_AV_D";
+ description="AAF Alpha Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3081;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_AV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3079;
+ item1=2583;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3080;
+ item1=2583;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3081;
+ item1=2583;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3078;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF AV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item352
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.9346,5.0014391,1364.3079};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_BSL_SL";
+ description="AAF Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3083;
+ type="I_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1470.9346,5.0014391,1362.6575};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitAAF_BSL_M";
+ description="AAF Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3084;
+ type="I_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_BSL";
+ };
+ id=3082;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item353
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.1865,5.0014391,1336.8723};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_FTL";
+ description="AAF Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3086;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1471.1865,5.0014391,1335.2219};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_AR1";
+ description="AAF Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3087;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1461.1865,5.0014391,1335.2219};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_AR2";
+ description="AAF Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3088;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1476.1865,5.0014391,1332.4827};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_AT";
+ description="AAF Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3089;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.1865,5.0014391,1332.4827};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_R1";
+ description="AAF Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3090;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1481.1865,5.0014391,1327.9358};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B1_R2";
+ description="AAF Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3091;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_B1";
+ };
+ id=3085;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item354
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.8701,5.0014391,1310.5793};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_FTL";
+ description="AAF Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3093;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1470.8701,5.0014391,1308.9299};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_AR1";
+ description="AAF Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3094;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1460.8701,5.0014391,1308.9299};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_AR2";
+ description="AAF Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3095;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1475.8701,5.0014391,1306.1897};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_AT";
+ description="AAF Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3096;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1455.8701,5.0014391,1306.1897};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_R1";
+ description="AAF Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3097;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1480.8701,5.0014391,1301.6428};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_B2_R2";
+ description="AAF Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3098;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_B2";
+ };
+ id=3092;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item355
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.694,5.0014391,1274.7681};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_BV_C";
+ description="AAF Bravo Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3100;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.694,5.0014391,1274.7681};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_BV_G";
+ description="AAF Bravo Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3101;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.694,5.0014391,1274.7681};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_BV_D";
+ description="AAF Bravo Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3102;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_BV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3100;
+ item1=2584;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3101;
+ item1=2584;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3102;
+ item1=2584;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3099;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF BV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item356
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.7744,5.0014391,1363.7883};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CSL_SL";
+ description="AAF Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3104;
+ type="I_Soldier_SL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1513.7744,5.0014391,1362.1379};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CSL_M";
+ description="AAF Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3105;
+ type="I_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_CSL";
+ };
+ id=3103;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item357
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1509.4307,5.0014391,1335.47};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_FTL";
+ description="AAF Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3107;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1514.4307,5.0014391,1333.8196};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_AR1";
+ description="AAF Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3108;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1504.4307,5.0014391,1333.8196};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_AR2";
+ description="AAF Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3109;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1519.4307,5.0014391,1331.0803};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_AT";
+ description="AAF Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3110;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.4307,5.0014391,1331.0803};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_R1";
+ description="AAF Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3111;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1524.4307,5.0014391,1326.5334};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C1_R2";
+ description="AAF Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3112;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_C1";
+ };
+ id=3106;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item358
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1509.1113,5.0014391,1310.5325};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_FTL";
+ description="AAF Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3114;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1514.1113,5.0014391,1308.8811};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_AR1";
+ description="AAF Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3115;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1504.1113,5.0014391,1308.8811};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_AR2";
+ description="AAF Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3116;
+ type="I_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1519.1113,5.0014391,1306.1428};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_AT";
+ description="AAF Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3117;
+ type="I_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1499.1113,5.0014391,1306.1428};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_R1";
+ description="AAF Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3118;
+ type="I_soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1524.1113,5.0014391,1301.5959};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitAAF_C2_R2";
+ description="AAF Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3119;
+ type="I_soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_C2";
+ };
+ id=3113;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item359
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.246,5.0014391,1275.052};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CV_C";
+ description="AAF Charlie Vehicle Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3121;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.246,5.0014391,1275.052};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CV_G";
+ description="AAF Charlie Vehicle Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3122;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.246,5.0014391,1275.052};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CV_D";
+ description="AAF Charlie Vehicle Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3123;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_CV";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3121;
+ item1=2585;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3122;
+ item1=2585;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3123;
+ item1=2585;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3120;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF CV -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item360
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.177,5.0014391,1362.4299};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG1_TL";
+ description="AAF Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3125;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.1768,5.0014391,1360.7795};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG1_G";
+ description="AAF Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3126;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.014,5.0014391,1360.8079};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG1_AG";
+ description="AAF Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3127;
+ type="I_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MMG1";
+ };
+ id=3124;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item361
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.202,5.0014391,1347.6877};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG2_TL";
+ description="AAF Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3129;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.2021,5.0014391,1346.0374};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG2_G";
+ description="AAF Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3130;
+ type="I_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.04,5.0014391,1346.0659};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitAAF_MMG2_AG";
+ description="AAF Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3131;
+ type="I_Soldier_AAR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MMG2";
+ };
+ id=3128;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item362
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.308,5.0014391,1334.4119};
+ angles[]={0,0.030927233,0};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT1_TL";
+ description="AAF Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3133;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.3076,5.0014391,1332.762};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT1_G";
+ description="AAF Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3134;
+ type="I_Soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.145,5.0014391,1332.7908};
+ angles[]={0,0.030927233,0};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT1_AG";
+ description="AAF Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3135;
+ type="I_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MAT1";
+ };
+ id=3132;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item363
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.7271,5.0014391,1322.877};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT2_TL";
+ description="AAF Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3137;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.7266,5.0014391,1321.2268};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT2_G";
+ description="AAF Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3138;
+ type="I_Soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.564,5.0014391,1321.2559};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MAT2_AG";
+ description="AAF Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3139;
+ type="I_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MAT2";
+ };
+ id=3136;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item364
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.6729,5.0014391,1309.7571};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HMG1_TL";
+ description="AAF Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3141;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.6729,5.0014391,1308.1067};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hmgg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HMG1_G";
+ description="AAF Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3142;
+ type="I_support_MG_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_HMG1";
+ };
+ id=3140;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item365
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.6591,5.0014391,1298.3779};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HAT1_TL";
+ description="AAF Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3144;
+ type="I_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.6592,5.0014391,1296.7278};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hatg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HAT1_G";
+ description="AAF Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3145;
+ type="I_Soldier_AT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.4969,5.0014391,1296.7568};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HAT1_AG";
+ description="AAF Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3146;
+ type="I_Soldier_AAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_HAT1";
+ };
+ id=3143;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item366
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.6602,5.0014391,1286.259};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MTR1_TL";
+ description="AAF Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3148;
+ type="I_support_AMort_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.6602,5.0014391,1284.6086};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mtrg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MTR1_G";
+ description="AAF Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3149;
+ type="I_support_Mort_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MTR1";
+ };
+ id=3147;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item367
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.4491,5.0014391,1274.2607};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MSAM1_TL";
+ description="AAF Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3151;
+ type="I_Soldier_AAA_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.4492,5.0014391,1272.6106};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""msamg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MSAM1_G";
+ description="AAF Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3152;
+ type="I_Soldier_AA_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.287,5.0014391,1272.6389};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_MSAM1_AG";
+ description="AAF Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3153;
+ type="I_Soldier_AAA_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_MSAM1";
+ };
+ id=3150;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item368
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.625,5.0014391,1261.0793};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HSAM1_TL";
+ description="AAF Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3155;
+ type="I_Soldier_AAA_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.625,5.0014391,1259.429};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hsamg"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_HSAM1_G";
+ description="AAF Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3156;
+ type="I_Soldier_AA_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_HSAM1";
+ };
+ id=3154;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item369
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1567.9805,5.0014391,1250.0208};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ST1_SP";
+ description="AAF Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3158;
+ type="I_Spotter_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1572.9805,5.0014391,1248.3704};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""sn"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ST1_SN";
+ description="AAF Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3159;
+ type="I_Sniper_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_ST1";
+ };
+ id=3157;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item370
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1568.3926,5.0014391,1236.8928};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ENG1_FTL";
+ description="AAF Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3161;
+ type="I_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1573.3926,5.0014391,1235.2434};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ENG1_A1";
+ description="AAF Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3162;
+ type="I_engineer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1563.3926,5.0014391,1235.2434};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ENG1_A2";
+ description="AAF Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3163;
+ type="I_engineer_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1578.3926,5.0014391,1232.5032};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear; ";
+ name="UnitAAF_ENG1_A3";
+ description="AAF Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3164;
+ type="I_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_ENG1";
+ };
+ id=3160;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item371
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569,5.0014391,1224.05};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitAAF_DT1_TL";
+ description="AAF Diver Team 1 Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3166;
+ type="I_diver_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1574,5.0014391,1222.3997};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitAAF_DT1_D1";
+ description="AAF Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3167;
+ type="I_diver_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564,5.0014391,1222.3997};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitAAF_DT1_D2";
+ description="AAF Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3168;
+ type="I_diver_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1579,5.0014391,1219.6604};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""div"",this] call f_fnc_assignGear ";
+ name="UnitAAF_DT1_D3";
+ description="AAF Diver Team 1 Diver";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3169;
+ type="I_diver_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_DT1";
+ };
+ id=3165;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF DT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item372
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.894,5.1764393,1252.6531};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV1_C";
+ description="AAF IFV 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3171;
+ type="I_crew_F";
+ atlOffset=0.17500019;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.894,5.1764393,1252.6531};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV1_G";
+ description="AAF IFV 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3172;
+ type="I_crew_F";
+ atlOffset=0.17500019;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.894,5.1764393,1252.6531};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV1_D";
+ description="AAF IFV 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3173;
+ type="I_crew_F";
+ atlOffset=0.17500019;
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3171;
+ item1=2632;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3172;
+ item1=2632;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3173;
+ item1=2632;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3170;
+ atlOffset=0.17500019;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF IFV1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item373
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.095,5.0014391,1250.306};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV2_C";
+ description="AAF IFV 2 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3175;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.095,5.0014391,1250.306};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV2_G";
+ description="AAF IFV 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3176;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.095,5.0014391,1250.306};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_IFV2_D";
+ description="AAF IFV 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3177;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3175;
+ item1=2633;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3176;
+ item1=2633;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3177;
+ item1=2633;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3174;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF IFV2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item374
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.766,5.0014391,1251};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""vc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TNK1_C";
+ description="AAF Tank 1 Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3179;
+ type="I_crew_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.766,5.0014391,1251};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""vg"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TNK1_G";
+ description="AAF Tank 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3180;
+ type="I_crew_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1466.766,5.0014391,1251};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""vd"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TNK1_D";
+ description="AAF Tank 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3181;
+ type="I_crew_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_TNK1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=3;
+ };
+ class Links
+ {
+ items=3;
+ class Item0
+ {
+ linkID=0;
+ item0=3179;
+ item1=2587;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0,0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3180;
+ item1=2587;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3181;
+ item1=2587;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3178;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF TNK1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item375
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.799,5.0014391,1218.4661};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH1_P";
+ description="AAF Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3183;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.799,5.0014391,1218.4661};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH1_CP";
+ description="AAF Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3184;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3183;
+ item1=2553;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3184;
+ item1=2553;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3182;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item376
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.882,5.0014391,1219.3041};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH2_P";
+ description="AAF Transport Helo 2 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3186;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.882,5.0014391,1219.3041};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH2_CP";
+ description="AAF Transport Helo 2 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3187;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_TH2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3186;
+ item1=2566;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3187;
+ item1=2566;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3185;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF TH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item377
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.129,5.0014391,1220.145};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH3_P";
+ description="AAF Transport Helo 3 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3189;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.129,5.0014391,1220.145};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH3_CP";
+ description="AAF Transport Helo 3 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3190;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_TH3";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3189;
+ item1=2567;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3190;
+ item1=2567;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3188;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF TH3 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item378
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.446,5.0014391,1220.801};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH4_P";
+ description="AAF Transport Helo 4 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3192;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.446,5.0014391,1220.801};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_TH4_CP";
+ description="AAF Transport Helo 4 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3193;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_TH4";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3192;
+ item1=2568;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3193;
+ item1=2568;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3191;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF TH4 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item379
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.5959,5.0014391,1187.104};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_AH1_P";
+ description="AAF Attack Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3195;
+ type="I_helipilot_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1381.5959,5.0014391,1187.104};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitAAF_AH1_CP";
+ description="AAF Attack Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3196;
+ type="I_helipilot_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_AH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3195;
+ item1=2588;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3196;
+ item1=2588;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3194;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF AH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item380
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={439.71899,5.0014391,948.96918};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[""co"",this,""ctrg""] call f_fnc_assignGear;";
+ name="UnitFIA_CO";
+ description="CTRG Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3198;
+ type="B_G_officer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={444.71899,5.0014391,947.31879};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this,""ctrg""] call f_fnc_assignGear;";
+ name="UnitFIA_CO_JTAC";
+ description="CTRG JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3199;
+ type="B_G_officer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={435.24927,5.0014391,945.95746};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitFIA_CO_UAV";
+ description="FIA UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3200;
+ type="B_G_Soldier_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={449.71899,5.0014391,944.57855};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitFIA_CO_M";
+ description="FIA Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3201;
+ type="B_G_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_CO";
+ };
+ id=3197;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item381
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={439.18091,5.2133446,924.60492};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_DC";
+ description="FIA Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3203;
+ type="B_G_officer_F";
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={444.18091,5.2344303,922.95453};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitFIA_DC_JTAC";
+ description="FIA Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3204;
+ type="B_G_officer_F";
+ atlOffset=0.23299122;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={434.18091,5.1082706,922.95453};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitFIA_DC_UAV";
+ description="FIA UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3205;
+ type="B_G_Soldier_F";
+ atlOffset=0.10683155;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={449.18091,5.1013861,920.21527};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitFIA_DC_M";
+ description="FIA Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3206;
+ type="B_G_medic_F";
+ atlOffset=0.099946976;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_DC";
+ };
+ id=3202;
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item382
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={475.87231,5.0014391,948.3598};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this,""ctrg""] call f_fnc_assignGear;";
+ name="UnitFIA_ASL_SL";
+ description="CTRG Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3208;
+ type="B_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={480.87231,5.0014391,946.70941};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitFIA_ASL_M";
+ description="FIA Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3209;
+ type="B_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_ASL";
+ };
+ id=3207;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item383
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={476.43188,5.0014391,926.85492};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_FTL";
+ description="FIA Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3211;
+ type="B_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={481.43188,5.0913763,925.20453};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_AR1";
+ description="FIA Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3212;
+ type="B_G_Soldier_AR_F";
+ atlOffset=0.08993721;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={471.43188,5.0014391,925.20453};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_AR2";
+ description="FIA Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3213;
+ type="B_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={486.43188,5.248991,922.46527};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_AT";
+ description="FIA Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3214;
+ type="B_G_Soldier_LAT_F";
+ atlOffset=0.24755192;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={466.43188,5.0014391,922.46527};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_R1";
+ description="FIA Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3215;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={491.43188,5.0014391,917.9184};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A1_R2";
+ description="FIA Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3216;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_A1";
+ };
+ id=3210;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item384
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={476.19556,5.0014391,902.97601};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_FTL";
+ description="FIA Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3218;
+ type="B_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={481.19556,5.0014391,901.32562};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_AR1";
+ description="FIA Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3219;
+ type="B_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={471.19556,5.0014391,901.32562};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_AR2";
+ description="FIA Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3220;
+ type="B_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={486.19556,5.0014391,898.58636};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_AT";
+ description="FIA Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3221;
+ type="B_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={466.19556,5.0014391,898.58636};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_R1";
+ description="FIA Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3222;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={491.19556,5.0014391,894.03949};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_A2_R2";
+ description="FIA Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3223;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_A2";
+ };
+ id=3217;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item385
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.5542,5.0014391,948.31293};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this,""ctrg""] call f_fnc_assignGear;";
+ name="UnitFIA_BSL_SL";
+ description="CTRG Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3225;
+ type="B_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={521.5542,5.0014391,946.66254};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitFIA_BSL_M";
+ description="FIA Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3226;
+ type="B_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_BSL";
+ };
+ id=3224;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item386
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={517.3208,5.0014391,926.61761};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_FTL";
+ description="FIA Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3228;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={522.3208,5.0014391,924.9682};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_AR1";
+ description="FIA Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3229;
+ type="B_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={512.3208,5.0014391,924.9682};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_AR2";
+ description="FIA Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3230;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={527.3208,5.0014391,922.22797};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_AT";
+ description="FIA Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3231;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={507.3208,5.0014391,922.22797};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_R1";
+ description="FIA Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3232;
+ type="B_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={532.3208,5.0014391,917.68207};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B1_R2";
+ description="FIA Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3233;
+ type="B_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_B1";
+ };
+ id=3227;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item387
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={516.76123,5.0014391,903.39008};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_FTL";
+ description="FIA Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3235;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={521.76123,5.0014391,901.73871};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_AR1";
+ description="FIA Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3236;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={511.76123,5.0014391,901.73871};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_AR2";
+ description="FIA Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3237;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={526.76123,5.0014391,898.99945};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_AT";
+ description="FIA Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3238;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={506.76123,5.0014391,898.99945};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_R1";
+ description="FIA Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3239;
+ type="B_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={531.76123,5.0014391,894.45258};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_B2_R2";
+ description="FIA Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3240;
+ type="B_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_B2";
+ };
+ id=3234;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item388
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={559.73767,5.3023081,947.71625};
+ };
+ side="West";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_CSL_SL";
+ description="FIA Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3242;
+ type="B_G_Soldier_SL_F";
+ atlOffset=0.30086899;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male06GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={564.73767,5.6464462,946.06586};
+ };
+ side="West";
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitFIA_CSL_M";
+ description="FIA Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3243;
+ type="B_G_medic_F";
+ atlOffset=0.64500713;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male06GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_CSL";
+ };
+ id=3241;
+ atlOffset=0.30086899;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item389
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.13904,5.0014391,925.95648};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_FTL";
+ description="FIA Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3245;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={565.13904,5.0014391,924.30707};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_AR1";
+ description="FIA Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3246;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={555.13904,5.0014391,924.30707};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_AR2";
+ description="FIA Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3247;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={570.13904,5.0014391,921.56683};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_AT";
+ description="FIA Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3248;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={550.13904,5.0014391,921.56683};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_R1";
+ description="FIA Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3249;
+ type="B_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={575.13904,5.0014391,917.01996};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C1_R2";
+ description="FIA Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3250;
+ type="B_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_C1";
+ };
+ id=3244;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item390
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={560.44373,5.0014391,902.85297};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""FTL"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_FTL";
+ description="FIA Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3252;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={565.44373,5.0014391,901.20258};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_AR1";
+ description="FIA Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3253;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={555.44373,5.0014391,901.20258};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_AR2";
+ description="FIA Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3254;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={570.44373,5.0014391,898.46332};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_AT";
+ description="FIA Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3255;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={550.44373,5.0014391,898.46332};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_R1";
+ description="FIA Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3256;
+ type="B_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={575.44373,5.0014391,893.91547};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitFIA_C2_R2";
+ description="FIA Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3257;
+ type="B_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_C2";
+ };
+ id=3251;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item391
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.42896,5.153439,947.93781};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG1_TL";
+ description="FIA Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3259;
+ type="B_G_Soldier_TL_F";
+ atlOffset=0.15199995;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.42908,5.2476587,946.28754};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG1_G";
+ description="FIA Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3260;
+ type="B_G_Soldier_AR_F";
+ atlOffset=0.24621964;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.26685,5.153439,946.31683};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG1_AG";
+ description="FIA Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3261;
+ type="B_G_Soldier_lite_F";
+ atlOffset=0.15199995;
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MMG1";
+ };
+ id=3258;
+ atlOffset=0.15199995;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item392
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.28894,5.0014391,936.59882};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG2_TL";
+ description="FIA Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3263;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.28943,5.0014391,934.94867};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG2_G";
+ description="FIA Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3264;
+ type="B_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.12695,5.0014391,934.97772};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitFIA_MMG2_AG";
+ description="FIA Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3265;
+ type="B_G_Soldier_lite_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MMG2";
+ };
+ id=3262;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item393
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.63293,5.0014391,925.89081};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT1_TL";
+ description="FIA Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3267;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.63318,5.0014391,924.24066};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT1_G";
+ description="FIA Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3268;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.47095,5.0014391,924.26971};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT1_AG";
+ description="FIA Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3269;
+ type="B_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MAT1";
+ };
+ id=3266;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item394
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.5459,5.0014391,913.90881};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT2_TL";
+ description="FIA Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3271;
+ type="B_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male06GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.54626,5.0014391,912.25824};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""matg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT2_G";
+ description="FIA Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3272;
+ type="B_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male06GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.38391,5.0014391,912.2868};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MAT2_AG";
+ description="FIA Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3273;
+ type="B_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male06GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MAT2";
+ };
+ id=3270;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item395
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={597.03455,5.0014391,903.01019};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HMG1_TL";
+ description="FIA Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3275;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={602.03455,5.0014391,901.3598};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""hmgg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HMG1_G";
+ description="FIA Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3276;
+ type="B_G_Soldier_AR_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_HMG1";
+ };
+ id=3274;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item396
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.85889,5.0014391,890.60681};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HAT1_TL";
+ description="FIA Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3278;
+ type="B_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.85876,5.2301273,888.95648};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""hatg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HAT1_G";
+ description="FIA Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3279;
+ type="B_G_Soldier_LAT_F";
+ atlOffset=0.22868824;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.69592,5.0014391,888.9848};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HAT1_AG";
+ description="FIA Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3280;
+ type="B_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_HAT1";
+ };
+ id=3277;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item397
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.86072,5.0014391,878.83832};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MTR1_TL";
+ description="FIA Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3282;
+ type="B_G_Soldier_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.86072,5.3897858,877.18793};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""mtrg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MTR1_G";
+ description="FIA Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3283;
+ type="B_G_Soldier_A_F";
+ atlOffset=0.38834667;
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MTR1";
+ };
+ id=3281;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item398
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.85999,5.0014391,866.3208};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MSAM1_TL";
+ description="FIA Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3285;
+ type="B_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.85974,5.5413675,864.67035};
+ };
+ side="West";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""msamg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MSAM1_G";
+ description="FIA Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3286;
+ type="B_G_Soldier_LAT_F";
+ atlOffset=0.53992844;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.6969,5.0014391,864.69879};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_MSAM1_AG";
+ description="FIA Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3287;
+ type="B_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_MSAM1";
+ };
+ id=3284;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item399
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.75916,5.0014391,853.54633};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HSAM1_TL";
+ description="FIA Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3289;
+ type="B_G_Soldier_LAT_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.75916,5.0014391,851.89594};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""hsamg"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_HSAM1_G";
+ description="FIA Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3290;
+ type="B_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_HSAM1";
+ };
+ id=3288;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item400
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={596.6322,5.0014391,842.64105};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_ST1_SP";
+ description="FIA Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3292;
+ type="B_G_Soldier_M_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={601.6322,5.0014391,840.99066};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[""sn"",this] call f_fnc_assignGear; ";
+ name="UnitFIA_ST1_G";
+ description="FIA Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3293;
+ type="B_G_Soldier_M_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_ST1";
+ };
+ id=3291;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item401
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={597.40369,5.0014391,830.29437};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitFIA_ENG1_FTL";
+ description="FIA Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3295;
+ type="B_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={602.40369,5.0014391,828.64398};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitFIA_ENG1_A1";
+ description="FIA Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3296;
+ type="B_G_engineer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={592.40369,5.0014391,828.64398};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitFIA_ENG1_A2";
+ description="FIA Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3297;
+ type="B_G_engineer_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={607.40369,5.0014391,825.90472};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitFIA_ENG1_A3";
+ description="FIA Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3298;
+ type="B_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_ENG1";
+ };
+ id=3294;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item402
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={597.94397,5.0014391,818.474};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_TH1_P";
+ description="FIA Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3300;
+ type="B_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={597.94397,5.0014391,818.474};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_TH1_CP";
+ description="FIA Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3301;
+ type="B_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3300;
+ item1=2623;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3301;
+ item1=2623;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3299;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item403
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={441.642,5.0014391,878.33398};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""lvc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_IFV1_G";
+ description="FIA Technical 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3304;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={441.642,4.932281,878.3327};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""lvd"",this] call f_fnc_assignGear;";
+ name="UnitFIA_IFV1_D";
+ description="FIA Technical 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3707;
+ type="B_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3304;
+ item1=2636;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3707;
+ item1=2636;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3302;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA TECH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item404
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={476.36499,5.0014391,878.25098};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[""lvc"",this] call f_fnc_assignGear;";
+ name="UnitFIA_IFV2_G";
+ description="FIA Technical 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3306;
+ type="B_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99833667;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={476.36499,4.932281,878.24969};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""lvd"",this] call f_fnc_assignGear;";
+ name="UnitFIA_IFV2_D";
+ description="FIA Technical 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3709;
+ type="B_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpFIA_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3306;
+ item1=2637;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3709;
+ item1=2637;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3305;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="FIA TECH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item405
+ {
+ dataType="Group";
+ side="Civilian";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2535,5.0014391,513.04999};
+ };
+ side="Civilian";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="this addAction [""Start Camera"",""[] call bis_fnc_camera;"",[],2,false,true,"""",""driver _target == _this""]; this allowDamage false;";
+ description="BBC Reporter";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3309;
+ type="C_journalist_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCIV_R1";
+ };
+ id=3308;
+ };
+ class Item406
+ {
+ dataType="Group";
+ side="Civilian";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2587.6277,5.0014391,509.5412};
+ };
+ side="Civilian";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="this addAction [""Start Camera"",""[] call bis_fnc_camera;"",[],2,false,true,"""",""driver _target == _this""]; this allowDamage false;";
+ description="CNN Reporter";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3311;
+ type="C_journalist_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCIV_R2";
+ };
+ id=3310;
+ };
+ class Item407
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2315.217,5,527.50098};
+ };
+ name="F3_Zeus";
+ isPlayable=1;
+ id=3312;
+ type="VirtualCurator_F";
+ };
+ class Item408
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2315.801,5.2476444,516.42676};
+ };
+ name="F3_Zeus_1";
+ isPlayable=1;
+ id=3313;
+ type="VirtualCurator_F";
+ atlOffset=0.24764442;
+ };
+ class Item409
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2317.2825,5.3839951,505.71582};
+ };
+ name="F3_Zeus_2";
+ isPlayable=1;
+ id=3314;
+ type="VirtualCurator_F";
+ atlOffset=0.38399506;
+ };
+ class Item410
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2317.7395,5.6081486,495.16895};
+ };
+ name="F3_Zeus_3";
+ isPlayable=1;
+ id=3315;
+ type="VirtualCurator_F";
+ atlOffset=0.60814857;
+ };
+ class Item411
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1359.0713,5,1360.0901};
+ };
+ id=3316;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item412
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1359.5078,5,1330.1633};
+ };
+ id=3317;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item413
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2355.054,5,1372.686};
+ };
+ id=3318;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item414
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2355.7756,5,1347.9272};
+ };
+ id=3319;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item415
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={426.44556,5.7177486,920.84424};
+ };
+ id=3320;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.71774864;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item416
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={425.30005,5.4597912,944.12158};
+ };
+ id=3321;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.45979118;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item417
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={413.42789,5,1345.2402};
+ };
+ id=3322;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item418
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={413.20621,5,1367.6445};
+ };
+ id=3323;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item419
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={408.92496,5,1367.7412};
+ };
+ id=3324;
+ type="SupportProvider_Artillery";
+ };
+ class Item420
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={421.85571,5.8610754,920.38721};
+ };
+ id=3325;
+ type="SupportProvider_Artillery";
+ atlOffset=0.8610754;
+ };
+ class Item421
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={409.14664,5,1345.3369};
+ };
+ id=3326;
+ type="SupportProvider_Artillery";
+ };
+ class Item422
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1355.2266,5,1330.26};
+ };
+ id=3327;
+ type="SupportProvider_Artillery";
+ };
+ class Item423
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1354.79,5,1360.1868};
+ };
+ id=3328;
+ type="SupportProvider_Artillery";
+ };
+ class Item424
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2351.7932,5,1347.4478};
+ };
+ id=3329;
+ type="SupportProvider_Artillery";
+ };
+ class Item425
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2350.7717,5,1372.7827};
+ };
+ id=3330;
+ type="SupportProvider_Artillery";
+ };
+ class Item426
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={421.0188,5,944.21729};
+ };
+ id=3331;
+ type="SupportProvider_Artillery";
+ };
+ class Item427
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1384.9258,5.0014391,960.14246};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="COLONEL";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CO";
+ description="Syndikat Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3333;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1390.5791,5.0014391,957.37585};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CO_JTAC";
+ description="Syndikat JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3334;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1379.9629,5.0014391,957.05847};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CO_UAV";
+ description="Syndikat UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3335;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1395.4541,5.0014391,955.17859};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CO_M";
+ description="Syndikat Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3336;
+ type="I_C_Soldier_Para_3_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_CO";
+ };
+ id=3332;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item428
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1384.8662,5.0014391,931.47351};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="MAJOR";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitSyn_DC";
+ description="Syndikat Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3338;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1390.2998,5.0014391,928.66296};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""jtac"",this] call f_fnc_assignGear;";
+ name="UnitSyn_DC_JTAC";
+ description="Syndikat JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3339;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1379.8799,5.0014391,928.75964};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""uav"",this] call f_fnc_assignGear;";
+ name="UnitSyn_DC_UAV";
+ description="Syndikat UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3340;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1395.1748,5.0014391,926.4657};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitSyn_DC_M";
+ description="Syndikat Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3341;
+ type="I_C_Soldier_Para_3_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_DC";
+ };
+ id=3337;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item429
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.4834,5.0014391,960.09656};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ASL_SL";
+ description="Syndikat Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3343;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1430.5889,5.0014391,957.10925};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ASL_M";
+ description="Syndikat Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3344;
+ type="I_C_Soldier_Para_3_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_ASL";
+ };
+ id=3342;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item430
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.3516,5.0014391,933.61902};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_FTL";
+ description="Syndikat Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3346;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1430.4561,5.0014391,930.63171};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_AR1";
+ description="Syndikat Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3347;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1420.2314,5.0014391,930.70593};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_AR2";
+ description="Syndikat Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3348;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1435.292,5.0014391,927.35046};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_AT";
+ description="Syndikat Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3349;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1415.8252,5.0014391,926.94812};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_R1";
+ description="Syndikat Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3350;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1441.3584,5.0014391,923.52625};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A1_R2";
+ description="Syndikat Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3351;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_A1";
+ };
+ id=3345;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item431
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.8135,5.0014391,904.32312};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_FTL";
+ description="Syndikat Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3353;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1430.9189,5.0014391,901.33582};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_AR1";
+ description="Syndikat Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3354;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1420.6943,5.0014391,901.41101};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_AR2";
+ description="Syndikat Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3355;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1435.7549,5.0014391,898.05457};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_AT";
+ description="Syndikat Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3356;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1416.2881,5.0014391,897.6532};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_R1";
+ description="Syndikat Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3357;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1441.8213,5.0014391,894.2323};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_A2_R2";
+ description="Syndikat Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3358;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_A2";
+ };
+ id=3352;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item432
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.5693,5.0014391,959.13953};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_BSL_SL";
+ description="Syndikat Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3360;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1470.6748,5.0014391,956.15125};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitSyn_BSL_M";
+ description="Syndikat Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3361;
+ type="I_C_Soldier_Para_3_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_BSL";
+ };
+ id=3359;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item433
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.5557,5.0014391,933.50183};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_FTL";
+ description="Syndikat Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3363;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1470.6611,5.0014391,930.51453};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_AR1";
+ description="Syndikat Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3364;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1460.4385,5.0014391,930.58875};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_AR2";
+ description="Syndikat Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3365;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1475.4971,5.0014391,927.23328};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_AT";
+ description="Syndikat Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3366;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.0322,5.0014391,926.83093};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_R1";
+ description="Syndikat Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3367;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1481.5635,5.0014391,923.41101};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B1_R2";
+ description="Syndikat Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3368;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_B1";
+ };
+ id=3362;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item434
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.9619,5.0014391,904.12878};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_FTL";
+ description="Syndikat Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3370;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1471.0684,5.0014391,901.14148};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_AR1";
+ description="Syndikat Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3371;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1460.8447,5.0014391,901.2157};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_AR2";
+ description="Syndikat Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3372;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1475.9033,5.0014391,897.86121};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_AT";
+ description="Syndikat Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3373;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1456.4385,5.0014391,897.45789};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_R1";
+ description="Syndikat Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3374;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1481.9697,5.0014391,894.03796};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_B2_R2";
+ description="Syndikat Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3375;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_B2";
+ };
+ id=3369;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item435
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1506.2314,5.0014391,958.30359};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CAPTAIN";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CSL_SL";
+ description="Syndikat Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3377;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1511.3369,5.0014391,955.31628};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""m"",this] call f_fnc_assignGear;";
+ name="UnitSyn_CSL_M";
+ description="Syndikat Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3378;
+ type="I_C_Soldier_Para_3_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_CSL";
+ };
+ id=3376;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item436
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1506.0186,5.0014391,934.84753};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_FTL";
+ description="Syndikat Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3380;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1511.124,5.0014391,931.86121};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_AR1";
+ description="Syndikat Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3381;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1500.8994,5.0014391,931.93445};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_AR2";
+ description="Syndikat Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3382;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1515.96,5.0014391,928.57898};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_AT";
+ description="Syndikat Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3383;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1496.4932,5.0014391,928.17664};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_R1";
+ description="Syndikat Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3384;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1522.0264,5.0014391,924.75769};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C1_R2";
+ description="Syndikat Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3385;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_C1";
+ };
+ id=3379;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item437
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1506.0186,5.0014391,904.35242};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""ftl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_FTL";
+ description="Syndikat Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3387;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1511.124,5.0014391,901.36511};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_AR1";
+ description="Syndikat Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3388;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1500.9014,5.0014391,901.43933};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""ar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_AR2";
+ description="Syndikat Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3389;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1515.96,5.0014391,898.08386};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""rat"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_AT";
+ description="Syndikat Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3390;
+ type="I_C_Soldier_Para_5_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1496.4951,5.0014391,897.68152};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_R1";
+ description="Syndikat Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3391;
+ type="I_C_Soldier_Para_1_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1522.0264,5.0014391,894.2616};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""aar"",this] call f_fnc_assignGear;";
+ name="UnitSyn_C2_R2";
+ description="Syndikat Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3392;
+ type="I_C_Soldier_Para_1_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_C2";
+ };
+ id=3386;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item438
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.38,5.0014391,956.45007};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG1_TL";
+ description="Syndikat Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3394;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.3232,5.0014391,954.28601};
+ };
+ side="Independent";
+ flags=5;
+ class Attributes
+ {
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG1_G";
+ description="Syndikat Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3395;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.2179,5.0014391,954.828};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG1_AG";
+ description="Syndikat Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3396;
+ type="I_C_Soldier_Para_4_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MMG1";
+ };
+ id=3393;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item439
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.194,5.0014391,943.86292};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""mmgl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG2_TL";
+ description="Syndikat Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3398;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.1377,5.0014391,941.6991};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""mmgg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG2_G";
+ description="Syndikat Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3399;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.032,5.0014391,942.24207};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""mmgag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MMG2_AG";
+ description="Syndikat Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3400;
+ type="I_C_Soldier_Para_4_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MMG2";
+ };
+ id=3397;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item440
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.218,5.0014391,932.70105};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT1_TL";
+ description="Syndikat Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3402;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.1631,5.0014391,930.53699};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""matg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT1_G";
+ description="Syndikat Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3403;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.0549,5.0014391,931.07898};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT1_AG";
+ description="Syndikat Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3404;
+ type="I_C_Soldier_Para_5_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MAT1";
+ };
+ id=3401;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item441
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.4401,5.0014391,921.15399};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""matl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT2_TL";
+ description="Syndikat Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3406;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.3838,5.0014391,918.99017};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""matg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT2_G";
+ description="Syndikat Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3407;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.278,5.0014391,919.53314};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""matag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MAT2_AG";
+ description="Syndikat Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3408;
+ type="I_C_Soldier_Para_5_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MAT2";
+ };
+ id=3405;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item442
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.3799,5.0014391,910.5321};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""hmgag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HMG1_TL";
+ description="Syndikat Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3410;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01FRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.3252,5.0014391,908.36707};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""hmgg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HMG1_G";
+ description="Syndikat Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3411;
+ type="I_C_Soldier_Para_4_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01FRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_HMG1";
+ };
+ id=3409;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item443
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.175,5.0014391,897.73108};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""hatl"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HAT1_TL";
+ description="Syndikat Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3413;
+ type="I_C_Soldier_Para_2_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.1182,5.0014391,895.56726};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""hatg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HAT1_G";
+ description="Syndikat Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3414;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.0129,5.0014391,896.10999};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""hatag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HAT1_AG";
+ description="Syndikat Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3415;
+ type="I_C_Soldier_Para_5_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_HAT1";
+ };
+ id=3412;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item444
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.665,5.0014391,885.66882};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""mtrag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MTR1_TL";
+ description="Syndikat Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3417;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.6084,5.0014391,883.50378};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""mtrg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MTR1_G";
+ description="Syndikat Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3418;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MTR1";
+ };
+ id=3416;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item445
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1564.392,5.0014391,872.57007};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""msaml"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MSAM1_TL";
+ description="Syndikat Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3420;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1569.335,5.0014391,870.40515};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""msamg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MSAM1_G";
+ description="Syndikat Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3421;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1559.3931,5.0014391,870.53296};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""msamag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_MSAM1_AG";
+ description="Syndikat Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3422;
+ type="I_C_Soldier_Para_5_F";
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_MSAM1";
+ };
+ id=3419;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item446
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565.1123,5.0014391,859.56238};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""hsamag"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HSAM1_TL";
+ description="Syndikat Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3424;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1570.0557,5.0014391,857.39734};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""hsamg"",this] call f_fnc_assignGear;";
+ name="UnitSyn_HSAM1_G";
+ description="Syndikat Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3425;
+ type="I_C_Soldier_Para_5_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_HSAM1";
+ };
+ id=3423;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item447
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565.1943,5.0014391,849.33484};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""sp"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ST1_SP";
+ description="Syndikat Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3427;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02FRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1570.1377,5.0014391,847.1698};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""sn"",this] call f_fnc_assignGear; ";
+ name="UnitSyn_ST1_G";
+ description="Syndikat Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3428;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02FRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_ST1";
+ };
+ id=3426;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item448
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565.7354,5.0014391,837.28601};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ENG1_FTL";
+ description="Syndikat Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3430;
+ type="I_C_Soldier_Para_8_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1570.6787,5.0014391,835.12097};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""eng"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ENG1_A1";
+ description="Syndikat Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3431;
+ type="I_C_Soldier_Para_8_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1560.3037,5.0014391,835.57312};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ENG1_A2";
+ description="Syndikat Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3432;
+ type="I_C_Soldier_Para_8_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1575.6514,5.0014391,833.1991};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""engm"",this] call f_fnc_assignGear;";
+ name="UnitSyn_ENG1_A3";
+ description="Syndikat Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3433;
+ type="I_C_Soldier_Para_8_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_ENG1";
+ };
+ id=3429;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item449
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565,5.0014391,813.05005};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_TH1_P";
+ description="Syndikat Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3435;
+ type="I_C_Helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565,5.0014391,813.05005};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear; ";
+ name="UnitSyn_TH1_CP";
+ description="Syndikat Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3436;
+ type="I_C_Helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3435;
+ item1=3478;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3436;
+ item1=3478;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3434;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item450
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1384.7111,5.0014391,872.323};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""lvc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_IFV1_G";
+ description="Syndikat Technical 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3438;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1384.7111,4.932281,872.32172};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""lvd"",this] call f_fnc_assignGear;";
+ name="UnitSyn_IFV1_D";
+ description="Syndikat Technical 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3719;
+ type="I_C_Soldier_Para_1_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3438;
+ item1=3440;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3719;
+ item1=3440;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3437;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat TECH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item451
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1384.7111,7.1644082,872.31433};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this,""ind_c_f""] call f_fnc_assignGear";
+ name="VehSyn_IFV1";
+ textures="Guerilla_09";
+ };
+ id=3440;
+ type="B_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item452
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.525,5.0014391,875.41602};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""lvc"",this] call f_fnc_assignGear;";
+ name="UnitSyn_IFV2_G";
+ description="Syndikat Technical 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3442;
+ type="I_C_Soldier_Para_1_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.525,4.932281,875.41473};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ init="[""lvd"",this] call f_fnc_assignGear;";
+ name="UnitSyn_IFV2_D";
+ description="Syndikat Technical 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3721;
+ type="I_C_Soldier_Para_1_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpSyn_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3442;
+ item1=3444;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3721;
+ item1=3444;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3441;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Syndikat TECH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item453
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.525,7.1644082,875.40735};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_ifv"",this,""ind_c_f""] call f_fnc_assignGear";
+ name="VehSyn_IFV2";
+ textures="Guerilla_09";
+ };
+ id=3444;
+ type="B_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item454
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1372.9248,6.5695963,960.43152};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehSyn_CAR1";
+ textures="Olive";
+ };
+ id=3445;
+ type="I_C_Offroad_02_unarmed_F";
+ };
+ class Item455
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1371.5625,6.5695963,933.21082};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehSyn_CAR2";
+ textures="Olive";
+ };
+ id=3446;
+ type="I_C_Offroad_02_unarmed_F";
+ };
+ class Item456
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.4473,6.8715067,982.6698};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR1";
+ textures="Olive";
+ };
+ id=3447;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item457
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1430.6084,6.8715067,976.69128};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR2";
+ textures="Olive";
+ };
+ id=3448;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item458
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1461.0518,6.8715067,982.64734};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR3";
+ textures="Olive";
+ };
+ id=3449;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item459
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1469.1982,6.8715067,976.12097};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR4";
+ textures="Olive";
+ };
+ id=3450;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item460
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1505.333,6.8715067,980.99109};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR5";
+ textures="Olive";
+ };
+ id=3451;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item461
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1521.9932,6.8715067,977.03113};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_tr"",this] call f_fnc_assignGear";
+ name="VehSyn_TR6";
+ textures="Olive";
+ };
+ id=3452;
+ type="I_C_Van_01_transport_F";
+ };
+ class Item462
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1580.0908,6.5695963,955.09558};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehSyn_CAR3";
+ textures="Olive";
+ };
+ id=3453;
+ type="I_C_Offroad_02_unarmed_F";
+ };
+ class Item463
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1579.1787,6.5695963,929.61707};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehSyn_CAR4";
+ textures="Olive";
+ };
+ id=3454;
+ type="I_C_Offroad_02_unarmed_F";
+ };
+ class Item464
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1512.479,5.8924227,962.422};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
+ name="CrateSyn_C";
+ };
+ id=3455;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item465
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1471.327,5.8924227,962.68689};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
+ name="CrateSyn_B";
+ };
+ id=3456;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item466
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1430.506,5.8924227,962.98401};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""crate_med"",this,""ind_c_f""] call f_fnc_assignGear";
+ name="CrateSyn_A";
+ };
+ id=3457;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item467
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1353.4971,5,957.20203};
+ };
+ id=3458;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item468
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.499,5.0014391,951.112};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3460;
+ type="I_helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.499,5.0014391,951.112};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=3461;
+ type="I_helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3460;
+ item1=3462;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3461;
+ item1=3462;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3459;
+ };
+ class Item469
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.499,6.5310755,951.06201};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ textures="Green";
+ receiveRemoteTargets=1;
+ };
+ id=3462;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item470
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1351.3857,5.0014391,951.13318};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3464;
+ type="I_soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.98000002;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3464;
+ item1=3465;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3463;
+ };
+ class Item471
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1351.3857,5.7216258,951.08276};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=3465;
+ type="I_Mortar_01_F";
+ };
+ class Item472
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1355.6846,5,954.78113};
+ };
+ id=3466;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item473
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1351.4023,5,954.87781};
+ };
+ id=3467;
+ type="SupportProvider_Artillery";
+ };
+ class Item474
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1353.7842,5,928.58875};
+ };
+ id=3468;
+ type="SupportRequester";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item475
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.7861,5.0014391,922.49921};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3470;
+ type="I_helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.7861,5.0014391,922.49921};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=3471;
+ type="I_helipilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3470;
+ item1=3472;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3471;
+ item1=3472;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3469;
+ };
+ class Item476
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1355.7861,6.5310755,922.44916};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ textures="Green";
+ receiveRemoteTargets=1;
+ };
+ id=3472;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item477
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1351.6729,5.0014391,922.51996};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3474;
+ type="I_soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3474;
+ item1=3475;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3473;
+ };
+ class Item478
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1351.6729,5.7216258,922.46954};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ };
+ id=3475;
+ type="I_Mortar_01_F";
+ };
+ class Item479
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1355.9707,5,926.16785};
+ };
+ id=3476;
+ type="SupportProvider_Virtual_CAS_Heli";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item480
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1351.6895,5,926.26453};
+ };
+ id=3477;
+ type="SupportProvider_Artillery";
+ };
+ class Item481
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1565,6.5310755,813};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[""v_helo_l"",this,""syndikat""] call f_fnc_assignGear";
+ name="VehSyn_TH1";
+ textures="Green";
+ receiveRemoteTargets=1;
+ pylons=";;";
+ };
+ id=3478;
+ type="I_Heli_light_03_dynamicLoadout_F";
+ };
+ class Item482
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={488.63699,5.0014391,525.81097};
+ };
+ side="West";
+ flags=7;
+ class Attributes
+ {
+ rank="CAPTAIN";
+ init="[""co"",this] call f_fnc_assignGear;";
+ name="UnitGEN_CO";
+ description="Gendarmerie Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3480;
+ type="B_GEN_Commander_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_CO";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3480;
+ item1=3509;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3479;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item483
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={488.961,5.0014391,504.086};
+ };
+ side="West";
+ flags=7;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""dc"",this] call f_fnc_assignGear;";
+ name="UnitGEN_DC";
+ description="Gendarmerie Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3482;
+ type="B_GEN_Commander_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_DC";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3482;
+ item1=3510;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3481;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item484
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.56494,5.0014391,526.26001};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""pat"",this] call f_fnc_assignGear;";
+ name="UnitGEN_A_Sgt";
+ description="Gendarmerie Alpha Sergeant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3484;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.56494,5.0014391,526.26001};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""pat"",this] call f_fnc_assignGear;";
+ name="UnitGEN_A_G1";
+ description="Gendarmerie Alpha Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3485;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={513.375,5.0014391,521.39624};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""pat"",this] call f_fnc_assignGear;";
+ name="UnitGEN_A_G2";
+ description="Gendarmerie Alpha Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3486;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={513.375,5.0014391,521.39624};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""pat"",this] call f_fnc_assignGear;";
+ name="UnitGEN_A_G3";
+ description="Gendarmerie Alpha Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3487;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_A";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=3484;
+ item1=3511;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3485;
+ item1=3511;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3486;
+ item1=3512;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=3487;
+ item1=3512;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3483;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie Alpha -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item485
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.88901,5.0014391,503.129};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""smg"",this] call f_fnc_assignGear;";
+ name="UnitGEN_B_Sgt";
+ description="Gendarmerie Bravo Sergeant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3489;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.88901,5.0014391,503.129};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""smg"",this] call f_fnc_assignGear;";
+ name="UnitGEN_B_G1";
+ description="Gendarmerie Bravo Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3490;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.88901,5.0014391,503.129};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""smg"",this] call f_fnc_assignGear;";
+ name="UnitGEN_B_G2";
+ description="Gendarmerie Bravo Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3491;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.88901,5.0014391,503.129};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""smg"",this] call f_fnc_assignGear;";
+ name="UnitGEN_B_G3";
+ description="Gendarmerie Bravo Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3492;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_B";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=3489;
+ item1=3513;
+ class CustomData
+ {
+ role=3;
+ cargoIndex=0;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3490;
+ item1=3513;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3491;
+ item1=3513;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=3492;
+ item1=3513;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3488;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie Bravo -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item486
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509.32199,5.0014391,481.07999};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""car"",this] call f_fnc_assignGear;";
+ name="UnitGEN_C_Sgt";
+ description="Gendarmerie Charlie Sergeant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3494;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509.32199,5.0014391,481.07999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""car"",this] call f_fnc_assignGear;";
+ name="UnitGEN_C_G1";
+ description="Gendarmerie Charlie Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3495;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509.32199,5.0014391,481.07999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""car"",this] call f_fnc_assignGear;";
+ name="UnitGEN_C_G2";
+ description="Gendarmerie Charlie Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3496;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509.32199,5.0014391,481.07999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""car"",this] call f_fnc_assignGear;";
+ name="UnitGEN_C_G3";
+ description="Gendarmerie Charlie Gendarme";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3497;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_C";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=3494;
+ item1=3514;
+ class CustomData
+ {
+ role=3;
+ cargoIndex=0;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3495;
+ item1=3514;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3496;
+ item1=3514;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={1};
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=3497;
+ item1=3514;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3493;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie Charlie -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item487
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509,5.0014391,458.04999};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""nf"",this] call f_fnc_assignGear;";
+ name="UnitGEN_J_Sgt";
+ description="Gendarmerie Juliet Sergeant (Night Force)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3499;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509,5.0014391,458.04999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""nf"",this] call f_fnc_assignGear;";
+ name="UnitGEN_J_G1";
+ description="Gendarmerie Juliet Gendarme (Night Force)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3500;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509,5.0014391,458.04999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ rank="CORPORAL";
+ init="[""nf"",this] call f_fnc_assignGear;";
+ name="UnitGEN_J_G2";
+ description="Gendarmerie Juliet Gendarme (Night Force)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3501;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509,5.0014391,458.04999};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""nf"",this] call f_fnc_assignGear;";
+ name="UnitGEN_J_G3";
+ description="Gendarmerie Juliet Gendarme (Night Force)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3502;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_J";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=4;
+ };
+ class Links
+ {
+ items=4;
+ class Item0
+ {
+ linkID=0;
+ item0=3499;
+ item1=3515;
+ class CustomData
+ {
+ role=3;
+ cargoIndex=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3500;
+ item1=3515;
+ class CustomData
+ {
+ role=3;
+ cargoIndex=0;
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=3501;
+ item1=3515;
+ class CustomData
+ {
+ role=3;
+ cargoIndex=2;
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=3502;
+ item1=3515;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3498;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie Juliet -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item488
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={490.168,5.0014391,481.233};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""mk"",this] call f_fnc_assignGear;";
+ name="UnitGEN_MK_MK";
+ description="Gendarmerie Marksman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3504;
+ type="B_GEN_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01ENGFRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_MK";
+ };
+ id=3503;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie Marksman -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item489
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={489.896,5.0014391,457.65598};
+ };
+ side="West";
+ flags=7;
+ class Attributes
+ {
+ rank="LIEUTENANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitGEN_TH1_P";
+ description="Gendarmerie Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3506;
+ type="B_GEN_Commander_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={489.896,5.0014391,457.65598};
+ };
+ side="West";
+ flags=5;
+ class Attributes
+ {
+ rank="SERGEANT";
+ init="[""pc"",this] call f_fnc_assignGear;";
+ name="UnitGEN_TH1_CP";
+ description="Gendarmerie Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3507;
+ type="B_GEN_Commander_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpGEN_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3506;
+ item1=3508;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3507;
+ item1=3508;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3505;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Gendarmerie TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item490
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={489.89606,5.6047058,456.62592};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ init="[""v_helo_l"",this] call f_fnc_assignGear";
+ name="VehGEN_TH1";
+ textures="BlueLine";
+ };
+ id=3508;
+ type="C_Heli_Light_01_civil_F";
+ };
+ class Item491
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={488.63699,6.6115026,525.79175};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR1";
+ };
+ id=3509;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item492
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={488.961,6.6115026,504.06677};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR2";
+ };
+ id=3510;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item493
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.56494,6.6115026,526.24072};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR3";
+ };
+ id=3511;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item494
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={513.375,6.6115026,521.37695};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR4";
+ };
+ id=3512;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item495
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={508.88901,6.6115026,503.10977};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR5";
+ };
+ id=3513;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item496
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509.32199,6.6115026,481.06076};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR6";
+ };
+ id=3514;
+ type="B_GEN_Offroad_01_gen_F";
+ };
+ class Item497
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={509,6.5964622,458};
+ };
+ side="West";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_car"",this] call f_fnc_assignGear";
+ name="VehGEN_CAR7";
+ textures="Black";
+ };
+ id=3515;
+ type="C_SUV_01_F";
+ };
+ class Item498
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={467.05713,5,967.90967};
+ };
+ name="F3_preMount_FIA";
+ init="[synchronizedObjects this, [""GrpFIA_ASL"",""GrpFIA_A1"",""GrpFIA_A2""], true, false] call f_fnc_mountGroups;";
+ id=3516;
+ type="Logic";
+ };
+ class Item499
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={510.69141,5,969.99707};
+ };
+ name="F3_preMount_FIA_1";
+ init="[synchronizedObjects this, [""GrpFIA_BSL"",""GrpFIA_B1"",""GrpFIA_B2""], true, false] call f_fnc_mountGroups;";
+ id=3517;
+ type="Logic";
+ };
+ class Item500
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={552.06396,5,972.16687};
+ };
+ name="F3_preMount_FIA_2";
+ init="[synchronizedObjects this, [""GrpFIA_CSL"",""GrpFIA_C1"",""GrpFIA_C2""], true, false] call f_fnc_mountGroups;";
+ id=3518;
+ type="Logic";
+ };
+ class Item501
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={429.03687,5,962.25903};
+ };
+ name="F3_preMount_FIA_3";
+ init="[synchronizedObjects this, [""GrpFIA_CO""], true, false] call f_fnc_mountGroups;";
+ id=3519;
+ type="Logic";
+ };
+ class Item502
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={430.49463,5,936.43567};
+ };
+ name="F3_preMount_FIA_4";
+ init="[synchronizedObjects this, [""GrpFIA_DC""], true, false] call f_fnc_mountGroups;";
+ id=3520;
+ type="Logic";
+ };
+ class Item503
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1414.066,5,1387.2378};
+ };
+ name="F3_preMount_AAF";
+ init="[synchronizedObjects this, [""GrpAAF_ASL"",""GrpAAF_A1"",""GrpAAF_A2""], true, false] call f_fnc_mountGroups;";
+ id=3521;
+ type="Logic";
+ };
+ class Item504
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1457.9731,5,1388.8804};
+ };
+ name="F3_preMount_AAF_1";
+ init="[synchronizedObjects this, [""GrpAAF_BSL"",""GrpAAF_B1"",""GrpAAF_B2""], true, false] call f_fnc_mountGroups;;";
+ id=3522;
+ type="Logic";
+ };
+ class Item505
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1500.9414,5,1388.6477};
+ };
+ name="F3_preMount_AAF_2";
+ init="[synchronizedObjects this, [""GrpAAF_CSL"",""GrpAAF_C1"",""GrpAAF_C2""], true, false] call f_fnc_mountGroups;";
+ id=3523;
+ type="Logic";
+ };
+ class Item506
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1371.3322,5,1381.8381};
+ };
+ name="F3_preMount_AAF_3";
+ init="[synchronizedObjects this, [""GrpAAF_CO""], true, false] call f_fnc_mountGroups;";
+ id=3524;
+ type="Logic";
+ };
+ class Item507
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1370.1581,5,1353.6619};
+ };
+ name="F3_preMount_AAF_4";
+ init="[synchronizedObjects this, [""GrpAAF_DC""], true, false] call f_fnc_mountGroups;";
+ id=3525;
+ type="Logic";
+ };
+ class Item508
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={465.21799,0,1396.6851};
+ };
+ name="F3_preMount_NATO";
+ init="[synchronizedObjects this, [""GrpNATO_ASL"",""GrpNATO_A1"",""GrpNATO_A2""], true, false] call f_fnc_mountGroups;";
+ id=3526;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item509
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={507.88394,0,1396.3147};
+ };
+ name="F3_preMount_NATO_1";
+ init="[synchronizedObjects this, [""GrpNATO_BSL"",""GrpNATO_B1"",""GrpNATO_B2""], true, false] call f_fnc_mountGroups;";
+ id=3527;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item510
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={551.10376,0,1396.1316};
+ };
+ name="F3_preMount_NATO_2";
+ init="[synchronizedObjects this, [""GrpNATO_CSL"",""GrpNATO_C1"",""GrpNATO_C2""], true, false] call f_fnc_mountGroups;";
+ id=3528;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item511
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={418.67398,0,1384.4952};
+ };
+ name="F3_preMount_NATO_3";
+ init="[synchronizedObjects this, [""GrpNATO_CO""], true, false] call f_fnc_mountGroups;";
+ id=3529;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item512
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={415.53409,0,1358.0823};
+ };
+ name="F3_preMount_NATO_4";
+ init="[synchronizedObjects this, [""GrpNATO_DC""], true, false] call f_fnc_mountGroups;";
+ id=3530;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item513
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1418.957,5,996.89099};
+ };
+ name="F3_preMount_SYN";
+ init="[synchronizedObjects this, [""GrpSYN_ASL"",""GrpSYN_A1"",""GrpSYN_A2""], true, false] call f_fnc_mountGroups;";
+ id=3531;
+ type="Logic";
+ };
+ class Item514
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1455.6798,5,999.08093};
+ };
+ name="F3_preMount_SYN_1";
+ init="[synchronizedObjects this, [""GrpSYN_BSL"",""GrpSYN_B1"",""GrpSYN_B2""], true, false] call f_fnc_mountGroups;";
+ id=3532;
+ type="Logic";
+ };
+ class Item515
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1497.7667,5,998.78235};
+ };
+ name="F3_preMount_SYN_2";
+ init="[synchronizedObjects this, [""GrpSYN_CSL"",""GrpSYN_C1"",""GrpSYN_C2""], true, false] call f_fnc_mountGroups;";
+ id=3533;
+ type="Logic";
+ };
+ class Item516
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1365.8347,5,976.9928};
+ };
+ name="F3_preMount_SYN_3";
+ init="[synchronizedObjects this, [""GrpSYN_CO""], true, false] call f_fnc_mountGroups;";
+ id=3534;
+ type="Logic";
+ };
+ class Item517
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1368.2228,5,944.15833};
+ };
+ name="F3_preMount_SYN_4";
+ init="[synchronizedObjects this, [""GrpSYN_DC""], true, false] call f_fnc_mountGroups;";
+ id=3535;
+ type="Logic";
+ };
+ class Item518
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2417.865,0,1411.641};
+ };
+ name="F3_preMount_CSAT";
+ init="[synchronizedObjects this, [""GrpCSAT_ASL"",""GrpCSAT_A1"",""GrpCSAT_A2""], true, false] call f_fnc_mountGroups;";
+ id=3536;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item519
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2467.3704,0,1409.2566};
+ };
+ name="F3_preMount_CSAT_1";
+ init="[synchronizedObjects this, [""GrpCSAT_BSL"",""GrpCSAT_B1"",""GrpCSAT_B2""], true, false] call f_fnc_mountGroups;";
+ id=3537;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item520
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2523.2297,0,1408.4637};
+ };
+ name="F3_preMount_CSAT_2";
+ init="[synchronizedObjects this, [""GrpCSAT_CSL"",""GrpCSAT_C1"",""GrpCSAT_C2""], true, false] call f_fnc_mountGroups;";
+ id=3538;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item521
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2371.0068,0,1392.3138};
+ };
+ name="F3_preMount_CSAT_3";
+ init="[synchronizedObjects this, [""GrpCSAT_CO""], true, false] call f_fnc_mountGroups;";
+ id=3539;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item522
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2368.0945,0,1361.6034};
+ };
+ name="F3_preMount_CSAT_4";
+ init="[synchronizedObjects this, [""GrpCSAT_DC""], true, false] call f_fnc_mountGroups;";
+ id=3540;
+ type="Logic";
+ atlOffset=-5;
+ };
+ class Item523
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2783,5,575};
+ };
+ name="F3_Spectator";
+ init="if(isServer)then{" \n " {" \n " this setVariable [_x, this getVariable _x, true];" \n " } forEach [""AllowFreeCamera"", ""WhitelistedSides"", ""ShowFocusInfo"", ""AllowAi"", ""Allow3PPCamera""];" \n "};";
+ isPlayable=1;
+ description="Spectator Slot";
+ id=3541;
+ type="VirtualSpectator_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="AllowFreeCamera";
+ expression="_this setVariable ['AllowFreeCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="WhitelistedSides";
+ expression="_this setVariable ['WhitelistedSides', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ShowFocusInfo";
+ expression="_this setVariable ['ShowFocusInfo', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="AllowAi";
+ expression="_this setVariable ['AllowAi', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="Allow3PPCamera";
+ expression="_this setVariable ['Allow3PPCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item524
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2783,5,541};
+ };
+ name="F3_Spectator_1";
+ init="if(isServer)then{" \n " {" \n " this setVariable [_x, this getVariable _x, true];" \n " } forEach [""AllowFreeCamera"", ""WhitelistedSides"", ""ShowFocusInfo"", ""AllowAi"", ""Allow3PPCamera""];" \n "};";
+ isPlayable=1;
+ description="Spectator Slot";
+ id=3542;
+ type="VirtualSpectator_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="AllowFreeCamera";
+ expression="_this setVariable ['AllowFreeCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="WhitelistedSides";
+ expression="_this setVariable ['WhitelistedSides', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ShowFocusInfo";
+ expression="_this setVariable ['ShowFocusInfo', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="AllowAi";
+ expression="_this setVariable ['AllowAi', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="Allow3PPCamera";
+ expression="_this setVariable ['Allow3PPCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item525
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2783,5,508};
+ };
+ name="F3_Spectator_2";
+ init="if(isServer)then{" \n " {" \n " this setVariable [_x, this getVariable _x, true];" \n " } forEach [""AllowFreeCamera"", ""WhitelistedSides"", ""ShowFocusInfo"", ""AllowAi"", ""Allow3PPCamera""];" \n "};";
+ isPlayable=1;
+ description="Spectator Slot";
+ id=3543;
+ type="VirtualSpectator_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="AllowFreeCamera";
+ expression="_this setVariable ['AllowFreeCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="WhitelistedSides";
+ expression="_this setVariable ['WhitelistedSides', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ShowFocusInfo";
+ expression="_this setVariable ['ShowFocusInfo', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="AllowAi";
+ expression="_this setVariable ['AllowAi', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="Allow3PPCamera";
+ expression="_this setVariable ['Allow3PPCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item526
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={2783,5,475};
+ };
+ name="F3_Spectator_3";
+ init="if(isServer)then{" \n " {" \n " this setVariable [_x, this getVariable _x, true];" \n " } forEach [""AllowFreeCamera"", ""WhitelistedSides"", ""ShowFocusInfo"", ""AllowAi"", ""Allow3PPCamera""];" \n "};";
+ isPlayable=1;
+ description="Spectator Slot";
+ id=3544;
+ type="VirtualSpectator_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="AllowFreeCamera";
+ expression="_this setVariable ['AllowFreeCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="WhitelistedSides";
+ expression="_this setVariable ['WhitelistedSides', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "ARRAY"
+ };
+ };
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="ShowFocusInfo";
+ expression="_this setVariable ['ShowFocusInfo', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="AllowAi";
+ expression="_this setVariable ['AllowAi', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="Allow3PPCamera";
+ expression="_this setVariable ['Allow3PPCamera', _value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "BOOL"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=5;
+ };
+ };
+ class Item527
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={393.79614,7.380455,1306.8588};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_jet"",this] call f_fnc_assignGear;";
+ name="VehNATO_CAS1";
+ receiveRemoteTargets=1;
+ };
+ id=3545;
+ type="B_Plane_CAS_01_dynamicLoadout_F";
+ };
+ class Item528
+ {
+ dataType="Group";
+ side="West";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={390.034,5.0014391,1312.3861};
+ angles[]={0,1.4669667,0};
+ };
+ side="West";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""jp"",this] call f_fnc_assignGear;";
+ name="UnitNATO_CAS1_P";
+ description="NATO CAS 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3547;
+ type="B_Fighter_Pilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male12ENG";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99000001;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpNATO_CAS1";
+ };
+ id=3546;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="NATO CAS1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item529
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1356.6326,7.4227982,1276.3413};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_jet"",this] call f_fnc_assignGear;";
+ name="VehAAF_CAS1";
+ receiveRemoteTargets=1;
+ };
+ id=3548;
+ type="I_Plane_Fighter_03_dynamicLoadout_F";
+ };
+ class Item530
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1353.426,5.0014391,1279.6471};
+ angles[]={0,1.7658893,0};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""jp"",this] call f_fnc_assignGear;";
+ name="UnitAAF_CAS1_P";
+ description="AAF CAS 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3550;
+ type="I_Fighter_Pilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male04GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpAAF_CAS1";
+ };
+ id=3549;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="AAF CAS1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item531
+ {
+ dataType="Group";
+ side="East";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2342.749,5.0014391,1312.0121};
+ };
+ side="East";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[""jp"",this] call f_fnc_assignGear;";
+ name="UnitCSAT_CAS1_P";
+ description="CSAT CAS 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3552;
+ type="O_Fighter_Pilot_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02PER";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="GrpCSAT_CAS1";
+ };
+ id=3551;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="CSAT CAS1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item532
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={2347.4487,7.9799161,1306.9673};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ init="[""v_jet"",this] call f_fnc_assignGear;";
+ name="VehCSAT_CAS1";
+ receiveRemoteTargets=1;
+ };
+ id=3553;
+ type="O_Plane_CAS_02_dynamicLoadout_F";
+ };
+ class Item533
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1425.3263,5.8924227,1768.1177};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="Crate3IFB_A";
+ };
+ id=3554;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item534
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.3352,5.8924227,1769.2485};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="Crate3IFB_B";
+ };
+ id=3555;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item535
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1507.2913,5.8924227,1768.0405};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""crate_med"",this] call f_fnc_assignGear";
+ name="Crate3IFB_C";
+ };
+ id=3556;
+ type="IG_supplyCrate_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="ammoBox";
+ expression="[_this,_value] call bis_fnc_initAmmoBox;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[[[[""launch_RPG32_F"",""arifle_TRG20_F"",""arifle_TRG21_F"",""arifle_TRG21_GL_F"",""srifle_DMR_06_camo_F"",""srifle_DMR_06_olive_F"",""LMG_Mk200_F""],[1,1,4,1,1,1,2]],[[""30Rnd_556x45_Stanag"",""200Rnd_65x39_cased_Box"",""20Rnd_762x51_Mag"",""1Rnd_HE_Grenade_shell"",""1Rnd_Smoke_Grenade_shell"",""1Rnd_SmokeGreen_Grenade_shell"",""Chemlight_blue"",""RPG32_F"",""RPG32_HE_F"",""HandGrenade"",""MiniGrenade"",""SmokeShell"",""SmokeShellGreen"",""UGL_FlareWhite_F"",""UGL_FlareGreen_F""],[24,6,12,6,2,2,6,3,1,6,6,2,2,2,2]],[[""Binocular"",""Rangefinder"",""FirstAidKit"",""acc_flashlight"",""bipod_03_F_oli"",""V_Chestrig_oli"",""V_TacVest_blk""],[1,1,10,2,2,4,4]],[[""B_TacticalPack_blk""],[2]]],false]";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item536
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1369.0753,5,1755.7935};
+ };
+ id=3557;
+ type="SupportProvider_Artillery";
+ };
+ class Item537
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1546.0001,5.6047058,1629.0199};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_helo_l"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TH1";
+ textures="Elliptical";
+ };
+ id=3558;
+ type="C_Heli_Light_01_civil_F";
+ };
+ class Item538
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1371.17,5.4784107,1758.1177};
+ };
+ id=3559;
+ type="SupportRequester";
+ atlOffset=0.47841072;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item539
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1369.0909,5.358439,1752.92};
+ };
+ side="Independent";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=3561;
+ type="B_Soldier_F";
+ atlOffset=0.35699987;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3561;
+ item1=3562;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3560;
+ atlOffset=0.35699987;
+ };
+ class Item540
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1369.0909,6.0786257,1752.8696};
+ };
+ side="Independent";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; ";
+ };
+ id=3562;
+ type="B_Mortar_01_F";
+ atlOffset=0.35699987;
+ };
+ class Item541
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1373.4386,5.0109735,1751.696};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3564;
+ type="B_Helipilot_F";
+ atlOffset=0.009534359;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1373.4386,5.0109735,1751.696};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=3565;
+ type="B_Helipilot_F";
+ atlOffset=0.009534359;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3564;
+ item1=3566;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3565;
+ item1=3566;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3563;
+ atlOffset=0.009534359;
+ };
+ class Item542
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1373.4386,6.7886786,1751.6471};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; ";
+ receiveRemoteTargets=1;
+ };
+ id=3566;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=0.009534359;
+ };
+ class Item543
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1372.007,5.8319387,1734.2886};
+ };
+ id=3567;
+ type="SupportRequester";
+ atlOffset=0.83193874;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportRequester_BIS_SUPP_limit_UAV";
+ expression="_this setVariable ['BIS_SUPP_limit_UAV',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportRequester_BIS_SUPP_custom_HQ";
+ expression="_this setVariable ['BIS_SUPP_custom_HQ',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportRequester_BIS_SUPP_limit_Transport";
+ expression="_this setVariable ['BIS_SUPP_limit_Transport',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportRequester_BIS_SUPP_limit_Drop";
+ expression="_this setVariable ['BIS_SUPP_limit_Drop',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute4
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Heli";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Heli',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute5
+ {
+ property="SupportRequester_BIS_SUPP_limit_Artillery";
+ expression="_this setVariable ['BIS_SUPP_limit_Artillery',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ class Attribute6
+ {
+ property="SupportRequester_BIS_SUPP_limit_CAS_Bombing";
+ expression="_this setVariable ['BIS_SUPP_limit_CAS_Bombing',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="-1";
+ };
+ };
+ };
+ nAttributes=7;
+ };
+ };
+ class Item544
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=1;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1369.9513,5.7404861,1729.1436};
+ };
+ side="Independent";
+ flags=2;
+ class Attributes
+ {
+ };
+ id=3569;
+ type="B_Soldier_F";
+ atlOffset=0.73904705;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=1;
+ };
+ class Links
+ {
+ items=1;
+ class Item0
+ {
+ linkID=0;
+ item0=3569;
+ item1=3570;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3568;
+ atlOffset=0.73904705;
+ };
+ class Item545
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1369.9513,6.4606729,1729.0931};
+ };
+ side="Independent";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; ";
+ };
+ id=3570;
+ type="B_Mortar_01_F";
+ atlOffset=0.73904705;
+ };
+ class Item546
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1374.3165,5.2110257,1727.9001};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ };
+ id=3572;
+ type="B_Helipilot_F";
+ atlOffset=0.20958662;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1374.3165,5.2110257,1727.9001};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ };
+ id=3573;
+ type="B_Helipilot_F";
+ atlOffset=0.20958662;
+ };
+ };
+ class Attributes
+ {
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3572;
+ item1=3574;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3573;
+ item1=3574;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3571;
+ atlOffset=0.20958662;
+ };
+ class Item547
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1374.3165,6.9887309,1727.8512};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; ";
+ receiveRemoteTargets=1;
+ };
+ id=3574;
+ type="B_Heli_Light_01_dynamicLoadout_F";
+ atlOffset=0.20958662;
+ };
+ class Item548
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1387.775,5.0014391,1760.5454};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="COLONEL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""co"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CO";
+ description="3IFB Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3576;
+ type="I_G_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1392.775,5.0014391,1758.8945};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""jtac"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CO_JTAC";
+ description="3IFB JTAC";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3577;
+ type="I_G_officer_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.95999998;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1383.3058,5.0014391,1757.5337};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""uav"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CO_UAV";
+ description="3IFB UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3578;
+ type="I_G_Soldier_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1397.7755,5.0014391,1756.1548};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CO_M";
+ description="3IFB Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3579;
+ type="I_G_medic_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_CO";
+ };
+ id=3575;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB CO -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item549
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1387.2374,5.2133446,1736.1812};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="MAJOR";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""dc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_DC";
+ description="3IFB Deputy Commander";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3581;
+ type="I_G_officer_F";
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1392.2374,5.2344303,1734.5308};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""jtac"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_DC_JTAC";
+ description="3IFB Forward Observer";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3582;
+ type="I_G_officer_F";
+ atlOffset=0.23299122;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.2374,5.1082706,1734.5308};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""uav"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_DC_UAV";
+ description="3IFB UAV Operator";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3583;
+ type="I_G_Soldier_F";
+ atlOffset=0.10683155;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1397.2374,5.1013861,1731.7915};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_DC_M";
+ description="3IFB Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3584;
+ type="I_G_medic_F";
+ atlOffset=0.099946976;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.94999999;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_DC";
+ };
+ id=3580;
+ atlOffset=0.21190548;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB DC -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item550
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.9291,5.0014391,1759.9365};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""dc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ASL_SL";
+ description="3IFB Alpha Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3586;
+ type="I_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male01GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.05;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1428.9288,5.0014391,1758.2856};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ASL_M";
+ description="3IFB Alpha Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3587;
+ type="I_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_ASL";
+ };
+ id=3585;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB ASL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item551
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.4884,5.0014391,1738.4312};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_FTL";
+ description="3IFB Alpha 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3589;
+ type="I_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1429.4884,5.0913763,1736.7808};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_AR1";
+ description="3IFB Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3590;
+ type="I_G_Soldier_AR_F";
+ atlOffset=0.08993721;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1419.4884,5.0014391,1736.7808};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_AR2";
+ description="3IFB Alpha 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3591;
+ type="I_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1434.4884,5.248991,1734.0415};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_AT";
+ description="3IFB Alpha 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3592;
+ type="I_G_Soldier_LAT_F";
+ atlOffset=0.24755192;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1414.4884,5.0014391,1734.0415};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_R1";
+ description="3IFB Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3593;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1439.4884,5.0014391,1729.4946};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A1_R2";
+ description="3IFB Alpha 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3594;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_A1";
+ };
+ id=3588;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB A1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item552
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1424.2521,5.0014391,1714.5522};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_FTL";
+ description="3IFB Alpha 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3596;
+ type="I_G_Soldier_TL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.04;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1429.2521,5.0014391,1712.9019};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_AR1";
+ description="3IFB Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3597;
+ type="I_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1419.2521,5.0014391,1712.9019};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_AR2";
+ description="3IFB Alpha 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3598;
+ type="I_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1434.2521,5.0014391,1710.1626};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_AT";
+ description="3IFB Alpha 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3599;
+ type="I_G_Soldier_LAT_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1414.2521,5.0014391,1710.1626};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_R1";
+ description="3IFB Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3600;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.03;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1439.2521,5.0014391,1705.6157};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_A2_R2";
+ description="3IFB Alpha 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3601;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.97000003;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_A2";
+ };
+ id=3595;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB A2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item553
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1464.6111,5.0014391,1759.8894};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""dc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_BSL_SL";
+ description="3IFB Bravo Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3603;
+ type="I_G_Soldier_SL_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=2;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1469.6106,5.0014391,1758.2388};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_BSL_M";
+ description="3IFB Bravo Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3604;
+ type="I_G_medic_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.02;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_BSL";
+ };
+ id=3602;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB BSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item554
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1465.3772,5.0014391,1738.1938};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_FTL";
+ description="3IFB Bravo 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3606;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1470.3772,5.0014391,1736.5444};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_AR1";
+ description="3IFB Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3607;
+ type="I_G_Soldier_AR_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1.01;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1460.3772,5.0014391,1736.5444};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_AR2";
+ description="3IFB Bravo 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3608;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1475.3772,5.0014391,1733.8042};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_AT";
+ description="3IFB Bravo 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3609;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1455.3772,5.0014391,1733.8042};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_R1";
+ description="3IFB Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3610;
+ type="I_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1480.3772,5.0014391,1729.2583};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B1_R2";
+ description="3IFB Bravo 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3611;
+ type="I_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_B1";
+ };
+ id=3605;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB B1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item555
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1464.8176,5.0014391,1714.9663};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_FTL";
+ description="3IFB Bravo 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3613;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1469.8176,5.0014391,1713.3149};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_AR1";
+ description="3IFB Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3614;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1459.8176,5.0014391,1713.3149};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_AR2";
+ description="3IFB Bravo 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3615;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1474.8176,5.0014391,1710.5757};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_AT";
+ description="3IFB Bravo 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3616;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1454.8176,5.0014391,1710.5757};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_R1";
+ description="3IFB Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3617;
+ type="I_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1479.8176,5.0014391,1706.0288};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_B2_R2";
+ description="3IFB Bravo 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3618;
+ type="I_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_B2";
+ };
+ id=3612;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB B2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item556
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1507.7942,5.3023081,1759.2925};
+ };
+ side="Independent";
+ flags=2;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CAPTAIN";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""dc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CSL_SL";
+ description="3IFB Charlie Squad Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3620;
+ type="I_G_Soldier_SL_F";
+ atlOffset=0.30086899;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1512.7942,5.6464462,1757.6421};
+ };
+ side="Independent";
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""m"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_CSL_M";
+ description="3IFB Charlie Medic";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3621;
+ type="I_G_medic_F";
+ atlOffset=0.64500713;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="speaker";
+ expression="_this setspeaker _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Male02GRE";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_CSL";
+ };
+ id=3619;
+ atlOffset=0.30086899;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB CSL -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item557
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.1956,5.0014391,1737.5327};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_FTL";
+ description="3IFB Charlie 1 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3623;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1513.1956,5.0014391,1735.8833};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_AR1";
+ description="3IFB Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3624;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1503.1956,5.0014391,1735.8833};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_AR2";
+ description="3IFB Charlie 1 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3625;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1518.1956,5.0014391,1733.1431};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_AT";
+ description="3IFB Charlie 1 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3626;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.1956,5.0014391,1733.1431};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_R1";
+ description="3IFB Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3627;
+ type="I_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1523.1956,5.0014391,1728.5962};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C1_R2";
+ description="3IFB Charlie 1 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3628;
+ type="I_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_C1";
+ };
+ id=3622;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB C1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item558
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=6;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1508.5002,5.0014391,1714.4292};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""FTL"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_FTL";
+ description="3IFB Charlie 2 Fire Team Leader";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3630;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1513.5002,5.0014391,1712.7788};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_AR1";
+ description="3IFB Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3631;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1503.5002,5.0014391,1712.7788};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""ar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_AR2";
+ description="3IFB Charlie 2 Automatic Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3632;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1518.5002,5.0014391,1710.0396};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""rat"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_AT";
+ description="3IFB Charlie 2 Assaultman (AT)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3633;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item4
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1498.5002,5.0014391,1710.0396};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_R1";
+ description="3IFB Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3634;
+ type="I_G_Soldier_F";
+ };
+ class Item5
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1523.5002,5.0014391,1705.4917};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""aar"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_C2_R2";
+ description="3IFB Charlie 2 Rifleman";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3635;
+ type="I_G_Soldier_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_C2";
+ };
+ id=3629;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB C2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item559
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.4854,5.153439,1759.5139};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgl"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG1_TL";
+ description="3IFB Medium MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3637;
+ type="I_G_Soldier_TL_F";
+ atlOffset=0.15199995;
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.4856,5.2476587,1757.8638};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgg"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG1_G";
+ description="3IFB Medium MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3638;
+ type="I_G_Soldier_AR_F";
+ atlOffset=0.24621964;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.3232,5.153439,1757.8931};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgag"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG1_AG";
+ description="3IFB Medium MG Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3639;
+ type="I_G_Soldier_lite_F";
+ atlOffset=0.15199995;
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MMG1";
+ };
+ id=3636;
+ atlOffset=0.15199995;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item560
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.3455,5.0014391,1748.175};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgl"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG2_TL";
+ description="3IFB Medium MG Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3641;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.3459,5.0014391,1746.5249};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgg"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG2_G";
+ description="3IFB Medium MG Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3642;
+ type="I_G_Soldier_AR_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.1833,5.0014391,1746.554};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mmgag"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_MMG2_AG";
+ description="3IFB Medium MG Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3643;
+ type="I_G_Soldier_lite_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MMG2";
+ };
+ id=3640;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MMG2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item561
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.6895,5.0014391,1737.467};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matl"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT1_TL";
+ description="3IFB Medium AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3645;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.6897,5.0014391,1735.8169};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT1_G";
+ description="3IFB Medium AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3646;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.5273,5.0014391,1735.8459};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT1_AG";
+ description="3IFB Medium AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3647;
+ type="I_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MAT1";
+ };
+ id=3644;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item562
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.6024,5.0014391,1725.4849};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matl"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT2_TL";
+ description="3IFB Medium AT Team 2 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3649;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.6028,5.0014391,1723.8345};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT2_G";
+ description="3IFB Medium AT Team 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3650;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.4404,5.0014391,1723.863};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""matag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MAT2_AG";
+ description="3IFB Medium AT Team 2 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3651;
+ type="I_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MAT2";
+ };
+ id=3648;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MAT2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item563
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1545.0911,5.0014391,1714.5864};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hmgag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HMG1_TL";
+ description="3IFB Heavy MG Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3653;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1550.0911,5.0014391,1712.936};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hmgg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HMG1_G";
+ description="3IFB Heavy MG Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3654;
+ type="I_G_Soldier_AR_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_HMG1";
+ };
+ id=3652;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB HMG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item564
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.9154,5.0014391,1702.1831};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hatl"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HAT1_TL";
+ description="3IFB Heavy AT Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3656;
+ type="I_G_Soldier_TL_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.9153,5.2301273,1700.5327};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hatg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HAT1_G";
+ description="3IFB Heavy AT Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3657;
+ type="I_G_Soldier_LAT_F";
+ atlOffset=0.22868824;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.7524,5.0014391,1700.561};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hatag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HAT1_AG";
+ description="3IFB Heavy AT Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3658;
+ type="I_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_HAT1";
+ };
+ id=3655;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB HAT1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item565
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.9172,5.0014391,1690.4146};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mtrag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MTR1_TL";
+ description="3IFB Mortar Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3660;
+ type="I_G_Soldier_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.9172,5.3897858,1688.7642};
+ };
+ side="Independent";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""mtrg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MTR1_G";
+ description="3IFB Mortar Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3661;
+ type="I_G_Soldier_A_F";
+ atlOffset=0.38834667;
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MTR1";
+ };
+ id=3659;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MTR1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item566
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=3;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.9165,5.0014391,1677.897};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""msaml"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MSAM1_TL";
+ description="3IFB Medium SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3663;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.9163,5.5413675,1676.2466};
+ };
+ side="Independent";
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""msamg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MSAM1_G";
+ description="3IFB Medium SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3664;
+ type="I_G_Soldier_LAT_F";
+ atlOffset=0.53992844;
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.7534,5.0014391,1676.2749};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""msamag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_MSAM1_AG";
+ description="3IFB Medium SAM Team 1 Assistant";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3665;
+ type="I_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_MSAM1";
+ };
+ id=3662;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB MSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item567
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.8157,5.0014391,1665.1226};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hsamag"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HSAM1_TL";
+ description="3IFB Heavy SAM Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3667;
+ type="I_G_Soldier_LAT_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.8157,5.0014391,1663.4722};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""hsamg"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_HSAM1_G";
+ description="3IFB Heavy SAM Team 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3668;
+ type="I_G_Soldier_LAT_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_HSAM1";
+ };
+ id=3666;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB HSAM1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item568
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1544.6887,5.0014391,1654.2173};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""sp"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_ST1_SP";
+ description="3IFB Sniper Team 1 Spotter (Leader)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3670;
+ type="I_G_Soldier_M_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1549.6887,5.0014391,1652.5669};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ health=0.99000001;
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""sn"",this] call f_fnc_assignGear; ";
+ name="Unit3IFB_ST1_G";
+ description="3IFB Sniper Team 1 Sniper";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3671;
+ type="I_G_Soldier_M_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_ST1";
+ };
+ id=3669;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB ST1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item569
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=4;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1545.4602,5.0014391,1641.8706};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""eng"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ENG1_FTL";
+ description="3IFB Engineer Team 1 Leader (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3673;
+ type="I_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1550.4602,5.0014391,1640.2202};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""eng"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ENG1_A1";
+ description="3IFB Engineer Team 1 Assistant (Demo)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3674;
+ type="I_G_engineer_F";
+ };
+ class Item2
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1540.4602,5.0014391,1640.2202};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""engm"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ENG1_A2";
+ description="3IFB Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3675;
+ type="I_G_engineer_F";
+ };
+ class Item3
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1555.4602,5.0014391,1637.481};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""engm"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_ENG1_A3";
+ description="3IFB Engineer Team 1 Assistant (Mines)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3676;
+ type="I_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_ENG1";
+ };
+ id=3672;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB ENG1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item570
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1391.3781,5.0014391,1676.572};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""lvc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_IFV1_G";
+ description="3IFB Technical 1 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3679;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1391.3781,4.932281,1676.5707};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""lvd"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_IFV1_D";
+ description="3IFB Technical 1 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3715;
+ type="I_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_IFV1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3679;
+ item1=3704;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3715;
+ item1=3704;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3677;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB TECH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item571
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1426.101,5.0014391,1676.489};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="CORPORAL";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""lvc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_IFV2_G";
+ description="3IFB Technical 2 Gunner";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3681;
+ type="I_G_Soldier_F";
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0.99833667;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1426.101,4.932281,1676.4877};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""lvd"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_IFV2_D";
+ description="3IFB Technical 2 Driver (Repair)";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3717;
+ type="I_G_Soldier_F";
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="pitch";
+ expression="_this setpitch _value;";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=1;
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_IFV2";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3681;
+ item1=3705;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3717;
+ item1=3705;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ };
+ };
+ id=3680;
+ atlOffset=-0.069158077;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB TECH2 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item572
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1369.9122,5.8610754,1731.9634};
+ };
+ id=3683;
+ type="SupportProvider_Artillery";
+ atlOffset=0.8610754;
+ };
+ class Item573
+ {
+ dataType="Group";
+ side="Independent";
+ class Entities
+ {
+ items=2;
+ class Item0
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1546,5.0014391,1630.05};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="LIEUTENANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""pc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_TH1_P";
+ description="3IFB Transport Helo 1 Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3685;
+ type="I_G_engineer_F";
+ };
+ class Item1
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1546,5.0014391,1630.05};
+ };
+ side="Independent";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ rank="SERGEANT";
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""pc"",this] call f_fnc_assignGear;";
+ name="Unit3IFB_TH1_CP";
+ description="3IFB Transport Helo 1 Co-Pilot";
+ isPlayable=1;
+ reportRemoteTargets=1;
+ };
+ id=3686;
+ type="I_G_engineer_F";
+ };
+ };
+ class Attributes
+ {
+ name="Grp3IFB_TH1";
+ };
+ class CrewLinks
+ {
+ class LinkIDProvider
+ {
+ nextID=2;
+ };
+ class Links
+ {
+ items=2;
+ class Item0
+ {
+ linkID=0;
+ item0=3685;
+ item1=3558;
+ class CustomData
+ {
+ role=1;
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=3686;
+ item1=3558;
+ class CustomData
+ {
+ role=2;
+ turretPath[]={0};
+ };
+ };
+ };
+ };
+ id=3684;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="groupID";
+ expression="_this setGroupID [_value];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="3IFB TH1 -";
+ };
+ };
+ };
+ nAttributes=1;
+ };
+ };
+ class Item574
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1415.1135,5,1779.4858};
+ };
+ name="F3_preMount_3IFB_5";
+ init="[synchronizedObjects this, [""Grp3IFB_ASL"",""Grp3IFB_A1"",""Grp3IFB_A2""], true, false] call f_fnc_mountGroups;";
+ id=3687;
+ type="Logic";
+ };
+ class Item575
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1458.7478,5,1781.5732};
+ };
+ name="F3_preMount_3IFB_6";
+ init="[synchronizedObjects this, [""Grp3IFB_BSL"",""Grp3IFB_B1"",""Grp3IFB_B2""], true, false] call f_fnc_mountGroups;";
+ id=3688;
+ type="Logic";
+ };
+ class Item576
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1500.1204,5,1783.7429};
+ };
+ name="F3_preMount_3IFB_7";
+ init="[synchronizedObjects this, [""Grp3IFB_CSL"",""Grp3IFB_C1"",""Grp3IFB_C2""], true, false] call f_fnc_mountGroups;";
+ id=3689;
+ type="Logic";
+ };
+ class Item577
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1377.0933,5,1773.8352};
+ };
+ name="F3_preMount_3IFB_8";
+ init="[synchronizedObjects this, [""Grp3IFB_CO""], true, false] call f_fnc_mountGroups;";
+ id=3690;
+ type="Logic";
+ };
+ class Item578
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1378.551,5,1748.0117};
+ };
+ name="F3_preMount_3IFB_9";
+ init="[synchronizedObjects this, [""Grp3IFB_DC""], true, false] call f_fnc_mountGroups;";
+ id=3691;
+ type="Logic";
+ };
+ class Item579
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.9856,6.6115026,1729.936};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="Veh3IFB_CAR4";
+ textures="Guerilla_07";
+ };
+ id=3692;
+ type="I_G_Offroad_01_F";
+ };
+ class Item580
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.0675,6.6115026,1761.2495};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="Veh3IFB_CAR1";
+ textures="Guerilla_07";
+ };
+ id=3693;
+ type="I_G_Offroad_01_F";
+ };
+ class Item581
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1382.1466,6.7971687,1738.7271};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="Veh3IFB_CAR2";
+ textures="Guerilla_07";
+ };
+ id=3694;
+ type="I_G_Offroad_01_F";
+ atlOffset=0.18566608;
+ };
+ class Item582
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1557.22,6.6115026,1752.5034};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_car"",this] call f_fnc_assignGear";
+ name="Veh3IFB_CAR3";
+ textures="Guerilla_07";
+ };
+ id=3695;
+ type="I_G_Offroad_01_F";
+ };
+ class Item583
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1423.4523,6.8716264,1775.3257};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR1";
+ textures="Guerilla_04";
+ };
+ id=3696;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item584
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1431.3497,6.8716264,1770.8325};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR2";
+ textures="Guerilla_04";
+ };
+ id=3697;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item585
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1467.3625,6.8716264,1776.1138};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR3";
+ textures="Guerilla_04";
+ };
+ id=3698;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item586
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1477.4729,6.8716264,1770.9575};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR4";
+ textures="Guerilla_04";
+ };
+ id=3699;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item587
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1507.8186,6.8716264,1775.9595};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR5";
+ textures="Guerilla_04";
+ };
+ id=3700;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item588
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1516.6809,6.8716264,1770.4507};
+ };
+ side="Empty";
+ flags=4;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_tr"",this] call f_fnc_assignGear";
+ name="Veh3IFB_TR6";
+ textures="Guerilla_04";
+ };
+ id=3701;
+ type="I_G_Van_01_transport_F";
+ atlOffset=0.00011968613;
+ };
+ class Item589
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1374.5021,5.7177486,1732.4204};
+ };
+ id=3702;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.71774864;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item590
+ {
+ dataType="Logic";
+ class PositionInfo
+ {
+ position[]={1373.3566,5.4597912,1755.6978};
+ };
+ id=3703;
+ type="SupportProvider_Virtual_CAS_Heli";
+ atlOffset=0.45979118;
+ class CustomAttributes
+ {
+ class Attribute0
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_cooldown";
+ expression="_this setVariable ['BIS_SUPP_cooldown',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "SCALAR"
+ };
+ };
+ value=0;
+ };
+ };
+ };
+ class Attribute1
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicleInit";
+ expression="_this setVariable ['BIS_SUPP_vehicleInit',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="";
+ };
+ };
+ };
+ class Attribute2
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_vehicles";
+ expression="_this setVariable ['BIS_SUPP_vehicles',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="[]";
+ };
+ };
+ };
+ class Attribute3
+ {
+ property="SupportProvider_Virtual_CAS_Heli_BIS_SUPP_filter";
+ expression="_this setVariable ['BIS_SUPP_filter',_value,true];";
+ class Value
+ {
+ class data
+ {
+ class type
+ {
+ type[]=
+ {
+ "STRING"
+ };
+ };
+ value="Side";
+ };
+ };
+ };
+ nAttributes=4;
+ };
+ };
+ class Item591
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1391.3781,7.1644082,1676.5632};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_ifv"",this] call f_fnc_assignGear";
+ name="Veh3IFB_IFV1";
+ textures="Guerilla_07";
+ };
+ id=3704;
+ type="I_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ class Item592
+ {
+ dataType="Object";
+ class PositionInfo
+ {
+ position[]={1426.101,7.1644082,1676.4802};
+ };
+ side="Independent";
+ flags=6;
+ class Attributes
+ {
+ skill=0.60000002;
+ init="[this,""3ifb""] call f_fnc_setVirtualFaction; [""v_ifv"",this] call f_fnc_assignGear";
+ name="Veh3IFB_IFV2";
+ textures="Guerilla_07";
+ };
+ id=3705;
+ type="I_G_Offroad_01_armed_F";
+ atlOffset=-0.069158077;
+ };
+ };
+ class Connections
+ {
+ class LinkIDProvider
+ {
+ nextID=126;
+ };
+ class Links
+ {
+ items=126;
+ class Item0
+ {
+ linkID=0;
+ item0=2199;
+ item1=2073;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item1
+ {
+ linkID=1;
+ item0=2196;
+ item1=2073;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item2
+ {
+ linkID=2;
+ item0=2091;
+ item1=2073;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item3
+ {
+ linkID=3;
+ item0=2075;
+ item1=2196;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item4
+ {
+ linkID=4;
+ item0=2198;
+ item1=2081;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item5
+ {
+ linkID=5;
+ item0=2197;
+ item1=2081;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item6
+ {
+ linkID=6;
+ item0=2096;
+ item1=2081;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item7
+ {
+ linkID=7;
+ item0=2083;
+ item1=2197;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item8
+ {
+ linkID=8;
+ item0=2057;
+ item1=2204;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item9
+ {
+ linkID=9;
+ item0=2056;
+ item1=2203;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item10
+ {
+ linkID=10;
+ item0=2053;
+ item1=2200;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item11
+ {
+ linkID=11;
+ item0=2054;
+ item1=2201;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item12
+ {
+ linkID=12;
+ item0=2055;
+ item1=2202;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item13
+ {
+ linkID=13;
+ item0=2388;
+ item1=2393;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item14
+ {
+ linkID=14;
+ item0=2536;
+ item1=2393;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item15
+ {
+ linkID=15;
+ item0=2410;
+ item1=2393;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item16
+ {
+ linkID=16;
+ item0=2519;
+ item1=2401;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item17
+ {
+ linkID=17;
+ item0=2535;
+ item1=2401;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item18
+ {
+ linkID=18;
+ item0=2416;
+ item1=2401;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item19
+ {
+ linkID=19;
+ item0=2529;
+ item1=2520;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item20
+ {
+ linkID=20;
+ item0=2530;
+ item1=2520;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item21
+ {
+ linkID=21;
+ item0=2526;
+ item1=2523;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item22
+ {
+ linkID=22;
+ item0=2531;
+ item1=2521;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item23
+ {
+ linkID=23;
+ item0=2532;
+ item1=2521;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item24
+ {
+ linkID=24;
+ item0=2533;
+ item1=2522;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item25
+ {
+ linkID=25;
+ item0=2534;
+ item1=2522;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item26
+ {
+ linkID=26;
+ item0=2527;
+ item1=2524;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item27
+ {
+ linkID=27;
+ item0=3324;
+ item1=2645;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item28
+ {
+ linkID=28;
+ item0=3323;
+ item1=2645;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item29
+ {
+ linkID=29;
+ item0=2711;
+ item1=2645;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item30
+ {
+ linkID=30;
+ item0=2647;
+ item1=3324;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item31
+ {
+ linkID=31;
+ item0=2650;
+ item1=3323;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item32
+ {
+ linkID=32;
+ item0=3331;
+ item1=2653;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item33
+ {
+ linkID=33;
+ item0=3321;
+ item1=2653;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item34
+ {
+ linkID=34;
+ item0=3199;
+ item1=2653;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item35
+ {
+ linkID=35;
+ item0=2655;
+ item1=3331;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item36
+ {
+ linkID=36;
+ item0=2658;
+ item1=3321;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item37
+ {
+ linkID=37;
+ item0=3325;
+ item1=2661;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item38
+ {
+ linkID=38;
+ item0=3320;
+ item1=2661;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item39
+ {
+ linkID=39;
+ item0=3204;
+ item1=2661;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item40
+ {
+ linkID=40;
+ item0=2663;
+ item1=3325;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item41
+ {
+ linkID=41;
+ item0=2666;
+ item1=3320;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item42
+ {
+ linkID=42;
+ item0=3330;
+ item1=2669;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item43
+ {
+ linkID=43;
+ item0=3318;
+ item1=2669;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item44
+ {
+ linkID=44;
+ item0=2889;
+ item1=2669;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item45
+ {
+ linkID=45;
+ item0=2675;
+ item1=3330;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item46
+ {
+ linkID=46;
+ item0=2671;
+ item1=3318;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item47
+ {
+ linkID=47;
+ item0=3329;
+ item1=2677;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item48
+ {
+ linkID=48;
+ item0=3319;
+ item1=2677;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item49
+ {
+ linkID=49;
+ item0=2894;
+ item1=2677;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item50
+ {
+ linkID=50;
+ item0=2683;
+ item1=3329;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item51
+ {
+ linkID=51;
+ item0=2679;
+ item1=3319;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item52
+ {
+ linkID=52;
+ item0=3328;
+ item1=2685;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item53
+ {
+ linkID=53;
+ item0=3316;
+ item1=2685;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item54
+ {
+ linkID=54;
+ item0=3049;
+ item1=2685;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item55
+ {
+ linkID=55;
+ item0=2691;
+ item1=3328;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item56
+ {
+ linkID=56;
+ item0=2687;
+ item1=3316;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item57
+ {
+ linkID=57;
+ item0=3327;
+ item1=2693;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item58
+ {
+ linkID=58;
+ item0=3317;
+ item1=2693;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item59
+ {
+ linkID=59;
+ item0=3054;
+ item1=2693;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item60
+ {
+ linkID=60;
+ item0=2699;
+ item1=3327;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item61
+ {
+ linkID=61;
+ item0=2695;
+ item1=3317;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item62
+ {
+ linkID=62;
+ item0=3326;
+ item1=2701;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item63
+ {
+ linkID=63;
+ item0=3322;
+ item1=2701;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item64
+ {
+ linkID=64;
+ item0=2716;
+ item1=2701;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item65
+ {
+ linkID=65;
+ item0=2703;
+ item1=3326;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item66
+ {
+ linkID=66;
+ item0=2706;
+ item1=3322;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item67
+ {
+ linkID=67;
+ item0=3467;
+ item1=3458;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item68
+ {
+ linkID=68;
+ item0=3466;
+ item1=3458;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item69
+ {
+ linkID=69;
+ item0=3464;
+ item1=3467;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item70
+ {
+ linkID=70;
+ item0=3460;
+ item1=3466;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item71
+ {
+ linkID=71;
+ item0=3477;
+ item1=3468;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item72
+ {
+ linkID=72;
+ item0=3476;
+ item1=3468;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item73
+ {
+ linkID=73;
+ item0=3474;
+ item1=3477;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item74
+ {
+ linkID=74;
+ item0=3470;
+ item1=3476;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item75
+ {
+ linkID=75;
+ item0=3334;
+ item1=3458;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item76
+ {
+ linkID=76;
+ item0=3339;
+ item1=3468;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item77
+ {
+ linkID=77;
+ item0=2605;
+ item1=3516;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item78
+ {
+ linkID=78;
+ item0=2606;
+ item1=3516;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item79
+ {
+ linkID=79;
+ item0=2602;
+ item1=3519;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item80
+ {
+ linkID=80;
+ item0=2607;
+ item1=3517;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item81
+ {
+ linkID=81;
+ item0=2638;
+ item1=3517;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item82
+ {
+ linkID=82;
+ item0=2639;
+ item1=3518;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item83
+ {
+ linkID=83;
+ item0=2640;
+ item1=3518;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item84
+ {
+ linkID=84;
+ item0=2603;
+ item1=3520;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item85
+ {
+ linkID=85;
+ item0=2610;
+ item1=3530;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item86
+ {
+ linkID=86;
+ item0=2593;
+ item1=3529;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item87
+ {
+ linkID=87;
+ item0=2594;
+ item1=3526;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item88
+ {
+ linkID=88;
+ item0=2595;
+ item1=3527;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item89
+ {
+ linkID=89;
+ item0=2596;
+ item1=3528;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item90
+ {
+ linkID=90;
+ item0=2608;
+ item1=3525;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item91
+ {
+ linkID=91;
+ item0=2592;
+ item1=3524;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item92
+ {
+ linkID=92;
+ item0=2589;
+ item1=3521;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item93
+ {
+ linkID=93;
+ item0=2590;
+ item1=3522;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item94
+ {
+ linkID=94;
+ item0=2591;
+ item1=3523;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item95
+ {
+ linkID=95;
+ item0=3446;
+ item1=3535;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item96
+ {
+ linkID=96;
+ item0=3445;
+ item1=3534;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item97
+ {
+ linkID=97;
+ item0=3447;
+ item1=3531;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item98
+ {
+ linkID=98;
+ item0=3448;
+ item1=3531;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item99
+ {
+ linkID=99;
+ item0=3449;
+ item1=3532;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item100
+ {
+ linkID=100;
+ item0=3450;
+ item1=3532;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item101
+ {
+ linkID=101;
+ item0=3451;
+ item1=3533;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item102
+ {
+ linkID=102;
+ item0=3452;
+ item1=3533;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item103
+ {
+ linkID=103;
+ item0=2609;
+ item1=3540;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item104
+ {
+ linkID=104;
+ item0=2597;
+ item1=3539;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item105
+ {
+ linkID=105;
+ item0=2598;
+ item1=3536;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item106
+ {
+ linkID=106;
+ item0=2599;
+ item1=3537;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item107
+ {
+ linkID=107;
+ item0=2600;
+ item1=3538;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item108
+ {
+ linkID=108;
+ item0=3557;
+ item1=3559;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item109
+ {
+ linkID=109;
+ item0=3703;
+ item1=3559;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item110
+ {
+ linkID=110;
+ item0=3577;
+ item1=3559;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item111
+ {
+ linkID=111;
+ item0=3561;
+ item1=3557;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item112
+ {
+ linkID=112;
+ item0=3564;
+ item1=3703;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item113
+ {
+ linkID=113;
+ item0=3683;
+ item1=3567;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item114
+ {
+ linkID=114;
+ item0=3702;
+ item1=3567;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item115
+ {
+ linkID=115;
+ item0=3582;
+ item1=3567;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item116
+ {
+ linkID=116;
+ item0=3569;
+ item1=3683;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item117
+ {
+ linkID=117;
+ item0=3572;
+ item1=3702;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item118
+ {
+ linkID=118;
+ item0=3696;
+ item1=3687;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item119
+ {
+ linkID=119;
+ item0=3697;
+ item1=3687;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item120
+ {
+ linkID=120;
+ item0=3693;
+ item1=3690;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item121
+ {
+ linkID=121;
+ item0=3698;
+ item1=3688;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item122
+ {
+ linkID=122;
+ item0=3699;
+ item1=3688;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item123
+ {
+ linkID=123;
+ item0=3700;
+ item1=3689;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item124
+ {
+ linkID=124;
+ item0=3701;
+ item1=3689;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ class Item125
+ {
+ linkID=125;
+ item0=3694;
+ item1=3691;
+ class CustomData
+ {
+ type="Sync";
+ };
+ };
+ };
+ };
+};
diff --git a/overviewLogo.jpg b/overviewLogo.jpg
index d52a5a5aa..822e6152c 100644
Binary files a/overviewLogo.jpg and b/overviewLogo.jpg differ
diff --git a/stringtable.xml b/stringtable.xml
index a26875a72..e92a97afd 100644
--- a/stringtable.xml
+++ b/stringtable.xml
@@ -1,8 +1,8 @@
-
-
-
+
+
+
Debug Mode
Debug mód
@@ -17,7 +17,7 @@
Time of Day
- Heure de la journée
+ Heure de la journée
Dawn
@@ -84,11 +84,29 @@
Nuit
- Use mission settings
+ Use mission setting
+
+
+ Time of Year
+
+
+ Spring
+
+
+ Summer
+
+
+ Autumn
+
+
+ Winter
+
+
+ Use mission setting
Weather
- Météo
+ Météo
Clear
@@ -123,10 +141,22 @@
Tormenta
Averse
+
+ Light Snow
+
+
+ Heavy Snow
+
Use mission setting
-
+
+ Override Fog
+
+
+ No Fog
+
+
Light Fog
Slabá mlha
Leichter Nebel
@@ -135,7 +165,7 @@
Bruma
Brume
-
+
Heavy Fog
Hustá mlha
Dichter Nebel
@@ -144,6 +174,24 @@
Niebla
Brouillard
+
+ Use mission setting
+
+
+ Override Wind
+
+
+ No Wind
+
+
+ Light Wind
+
+
+ Heavy Wind
+
+
+ Use mission setting
+
AI Skill (BLUFOR)
Úroveň AI (BLUFOR)
@@ -234,9 +282,6 @@
You have been moved to the selected location.
-
- Select Reinforcement Options
-
Safe Start (mins)
diff --git a/ws_fnc/AI/fn_addWaypoint.sqf b/ws_fnc/AI/fn_addWaypoint.sqf
new file mode 100644
index 000000000..a9300d41a
--- /dev/null
+++ b/ws_fnc/AI/fn_addWaypoint.sqf
@@ -0,0 +1,135 @@
+ /*ws_fnc_addWaypoint
+Latest: 08.03.2014
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Add waypoint to group. Waypoint can be of any regular Waypoint-Type or custom types (see below).
+Waypoint is NOT made current one, it is simply added to the group's list of waypoints.
+
+USAGE
+Minimal:
+[group,position] call ws_fnc_addWaypoint;
+Full:
+[group,position,["mode",modifier,completition radius, force road],["BEHAVIOUR","COMBATMODE","SPEED"],"code"] call ws_fnc_addWaypoint;
+
+OUTPUT
+Created waypoint
+
+PARAMETERS
+1. name of group | MANDATORY
+2. position. can be marker, object or [x,y,z] | MANDATORY
+3. array for waypoint type and modifier | OPTIONAL - default is ["move",0,0,false], can be empty
+ 3.1. the waypoint type, can be:
+ a. any of http:community.bistudio.com/wiki/setWaypointType
+ b. "patrol" - the group moves to the position and starts a randomized patrol
+ c. "defend" - the group moves to the position and mans all statics, guarding the area
+ d. "garrison" - the group moves to the position, mans statics and takes position inside buildings, prioritizing bunkers and other military structures over civilian buildings
+ e. "ambush" - group finds a position in the radius of (modifier) that provides overwatch over the initial position, then goes into stealth mode. When an emey approaches the position or their hiding spot they change to search & destroy.
+ 3.2. modifier - the waypoint radius or radius to patrol/defend/find ambush position/wait after landing
+ 3.3. completition radius - the radius for the radius to be completed in
+ 3.4 force road - whether the radius has to be on a road
+5. array defining waypoint behaviour, combatmode and speed | OPTIONAL - default is ["AWARE","YELLOW","NORMAL], can be empty
+6. code that is executed on waypoint completition | OPTIONAL - must be string! (e.g. "hint 'waypoint completed' ")
+
+EXAMPLES
+[GrpUS_CO,church] call ws_fnc_addWaypoint | move the group named "GrpUS_CO" to the object named "church"
+[GrpUS_CO,"marker1",["patrol",50]] call ws_fnc_addWaypoint | move the group named "GrpUS_CO" to the marker named "marker1" and have them start a patrol in a 50m radius
+[GrpUS_CO,[5,8,0],["sad",250],["COMBAT","RED","FULL"],"hint 'reinforcements have arrived'"] call ws_fnc_addWaypoint | move the group named "GrpUS_CO" to [5,8,0] with full speed and have them start a sweep in a radius of 250. When they reach the waypoint the hint "reinforcements have arrived!" will be displayed
+*/
+
+private ["_debug","_modes","_wp","_mkr"];
+
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug}; //Debug mode. If ws_debug is globally defined it overrides _debug
+
+//Declaring variables
+params [
+ ["_grp", grpNull, [grpNull]],
+ ["_pos", [0,0,0]],
+ ["_marray", [], [[]]],
+ ["_behaviour", [], [[]]],
+ ["_code", "", [""]]
+];
+
+//Array of all legal possible modes. See http://community.bistudio.com/wiki/setWaypointType
+_modes = ["move","destroy","getin","sad","join","leader","getout","cycle","load","unload","tr unload","hold","sentry","guard","talk","scripted","support","getin nearest","dismiss","defend","garrison","patrol","ambush"];
+
+//Interpreting variables
+//Setting up the array for the movepos
+_marray params [
+ ["_mode", "move", [""]],
+ ["_modifier", 0, [0]],
+ ["_compl", 0, [0]],
+ ["_road", false, [false]]
+];
+
+if !(_road) then {
+ _pos = (_pos) call ws_fnc_getEPos;
+} else {
+ _pos = [(_pos),150,5] call ws_fnc_NearestRoadPos;
+};
+
+//Fault checks
+//Checking the variables we have enough against what we should have
+[_pos,["ARRAY"],format ["ws_fnc_createWaypoint: %1",_pos]] spawn ws_fnc_typecheck;
+
+if !(toLower _mode in _modes) exitWith {["ws_fnc_addWaypoint ERROR: ",_mode," is not a legal waypoint mode"] call ws_fnc_debugText;};
+
+//WAYPOINT CREATION
+_wp = _grp addWaypoint [_pos,0];
+
+switch (_mode) do {
+ case "sad": {
+ _wp setWaypointPosition [_pos,_modifier];
+ _wp setWaypointStatements ["true", format["%1",_code]];
+ _behaviour = ["AWARE","RED","FULL"];
+ };
+
+ case "defend": {
+ _wp setWaypointType "MOVE";
+ _wp setWaypointStatements ["true", format["[group this,getPos this,%2] spawn ws_fnc_taskDefend;%1",_code,_modifier]];
+ };
+
+ case "garrison": {
+ _wp setWaypointType "MOVE";
+ _wp setWaypointStatements ["true", format["[group this,getPos this,%2,true,true,true] spawn ws_fnc_taskDefend;%1",_code,_modifier]];
+ };
+
+ case "patrol": {
+ _wp setWaypointType "MOVE";
+ _wp setWaypointStatements ["true", format["[group this,getPos this,%2] spawn BIS_fnc_taskPatrol;%1",_code,_modifier]];
+ };
+
+ case "ambush": {
+ _wp setWaypointType "MOVE";
+ _wp setWaypointStatements ["true", format["[group this,getPos this] spawn ws_fnc_taskAmbush;%1",_code]];
+ _wp setWaypointCompletionRadius 50;
+ };
+
+ default {
+ _wp setWaypointPosition [_pos,_modifier];
+ _wp setWaypointType _mode;
+ _wp setWaypointStatements ["true", format["%1;",_code]];
+ };
+};
+
+//Setting behaviour etc for waypoint
+if (count _behaviour > 0) then {
+ _wp setWaypointBehaviour (_behaviour select 0);
+ _wp setWaypointCombatMode (_behaviour select 1);
+ _wp setWaypointSpeed (_behaviour select 2);
+ _wp setWaypointCompletionRadius _compl;
+};
+
+//_grp setCurrentWaypoint _wp;
+
+if (_debug) then {
+player globalchat format ["DEBUG: ws_fnc_createWaypoint. Waypoint %1 for _grp%2 created",_wp,_grp];
+
+ _mkr = createMarker [format ["%1-WP",_wp],waypointPosition _wp];
+ _mkr setMarkerType "mil_dot";
+ _mkr setMarkerColor "ColorBlue";
+ _mkr setMarkerText format ["DBG:Grp_%1-WP-%2",_grp,_mode];
+
+};
+
+_wp
diff --git a/ws_fnc/AI/fn_bettervehicle.sqf b/ws_fnc/AI/fn_bettervehicle.sqf
new file mode 100644
index 000000000..8a319177f
--- /dev/null
+++ b/ws_fnc/AI/fn_bettervehicle.sqf
@@ -0,0 +1,75 @@
+// better vehicle behaviour function
+// v1 13.04.2013
+// By Wolfenswan: wolfenswanarps@gmail.com
+//
+// FEATURE
+// Vehicle crews will only bail when the vehicle damage is over x (by default 0.8) or the guns are destroyed
+//
+// USAGE
+// [parameter1,parameter2] call ws_fnc_betterVehicle
+//
+// PARAMETERS
+// 1.side, object or array of objects | MANDATORY
+// 2. damage until the crew bails (any number from 0.1 to 1) | OPTIONAL - default is 0.8
+//
+// USAGE WITH F2:
+// Use f_var_vehicles or f_var_vehicles_BLU or f_var_vehicles_RES or f_var_vehicles_OPF as first parameter
+//
+// EXAMPLE
+// [east] call ws_fnc_betterVehicle - improves behaviour for all OPFOR vehicles
+
+if !(isServer) exitWith {};
+
+private ["_debug","_vehicles","_handle","_unit"];
+
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug}; //Debug mode. If ws_debug is globally defined it overrides _debug
+
+params [
+ ["_side", sideUnknown, [sideUnknown,[],objNull]],
+ ["_alloweddamage", 0.8, [0]]
+];
+
+_vehicles = [];
+
+["ws_fnc_betterVehicle: ",[_side,typename _side],""] call ws_fnc_debugText;
+
+switch (typename _side) do {
+ case "SIDE": {
+ // All non-static vehicles with a turret on the map
+ {if (!(_x isKindOf "StaticWeapon") && side _x == _side && canFire _x && (count crew _x > 0)) then [{
+ _vehicles pushBack _x;},{if _debug then {player sidechat format ["ws_bettervehicles DBG: %1 has no crew or is a static weapon",_x]};}];
+ } forEach vehicles;
+ };
+ case "OBJECT": {
+ _vehicles = [_side];
+ };
+ case "ARRAY": {
+ _vehicles = _side;
+ };
+};
+
+{
+ _handle = _x getVariable "ws_better_vehicle";
+ if (isNil "_handle") then {
+ if _debug then {player sidechat format ["ws_bettervehicles DBG: Improving: %1",_x]};
+
+ _unit = _x;
+ _unit allowCrewInImmobile true;
+ _unit setvariable ["ws_better_vehicle",_alloweddamage,true];
+
+ _unit addEventHandler ["Hit", {
+ params ["_unit"];
+ private _damage = getDammage _unit;
+
+ if (_damage > (_unit getVariable "ws_better_vehicle") || !(canFire _unit)) then {
+ _unit allowCrewInImmobile false;
+ {_x action ["eject", _unit];} forEach crew _unit;
+ _unit removeEventHandler ["Hit",0];
+ if (ws_debug) then {player sidechat format ["ws_bettervehicles DBG: %1 has taken enough damage or can't fire any more. crew bailing",_unit]};
+ };
+ }];
+
+ };
+} forEach _vehicles;
+
+if _debug then {player sidechat format ["ws_bettervehicles DBG: Exiting. Improved vehicles: %1",_vehicles]};
diff --git a/ws_fnc/AI/fn_createGarrison.sqf b/ws_fnc/AI/fn_createGarrison.sqf
new file mode 100644
index 000000000..f53fb7893
--- /dev/null
+++ b/ws_fnc/AI/fn_createGarrison.sqf
@@ -0,0 +1,255 @@
+/* ws_fnc_createGarrison
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Usage Guide: http://www.folkarps.com/forum/viewtopic.php?f=48&t=1224
+With small improvements from the Folk ARPS F3 maintenance team
+
+FEATURE
+Populates the buildings in the given area with the given number of units
+
+USAGE
+Minimal:
+[center,radius,side] call ws_fnc_createGarrison
+Full:
+[center,radius,side,number,number,array,bool,string,bool] call ws_fnc_createGarrison
+or
+[center,radius,side,number,number,string,bool,string,bool] call ws_fnc_createGarrison
+
+NOTE
+Make sure to call this only on the server or headless client. The function itself does not check where it is run.
+
+PARAMETERS:
+1. Center of town. Can be marker, object, location or list of buildings | MANDATORY - string (markername) or object name or list of buildings
+2. Radius of area to be considered | MANDATORY - int (will be ignored if list of buildings is provided)
+2. ALTERNATIVE: Array with min and max radius. e.g. [50,100] | MANDATORY - array of two numbers.
+3. Side of units to spawn | MANDATORY - side (east, west, independent, civilian)
+4. Number of units. | OPTIONAL - number - default is No. of available buildings/4
+5. threshold of building positions that can be occupied in the buildings in the area | OPTIONAL - number between 1 (=100%) and 0, default is set below
+6. Array of classes to spawn | OPTIONAL - array w. strings - default are classes defined below
+6. ALTERNATIVE: Faction to spawn | OPTIONAL - string - faction name
+7. Only garrison empty buildings | OPTIONAL - bool - true, if only empty buildings should be garrisoned. This is useful for overlappnig garrison radii.
+8. assignGear AI faction to use | OPTIONAL - string - faction name listed in assignGear.sqf. If this is defined, assignGear AI will be run on the spawned units automatically using this faction. Leave as empty string ("") to skip.
+9. Add spawned units to Zeus, or not | OPTIONAL - bool - choose whether to automatically add spawned units to all existing Zeus. Defaults on.
+
+EXAMPLE
+["mkrOutpost",50,resistance] call ws_fnc_createGarrison;
+This will create units in buildings 50m around the marker named "mkrOutpost".
+The number of units will the the number of buildings in the radius divided by 4.
+The classes of the units will be taken from the default array (by default light riflemen).
+
+[UnitNATO_General,150,west,50,0.7,["B_Soldier_AR","B_Soldier_GL"]] call ws_fnc_createGarrison;
+Place 50 NATO soldiers in buildings in a 150m radius around the Object (unit) named UnitNATO_General.
+All of them will be either AT or Grenadier. Only fill the buildings to 70% percent.
+
+["mkrOutpost",50,opfor,0,0.8,"gendarmerie","3ifb",false] call ws_fnc_createGarrison;
+This will create units in buildings 50m around the marker named "mkrOutpost".
+The number of units will the the number of buildings in the radius divided by 4.
+The classes of the units will be Gendarmerie and their side opfor.
+AssignGear AI will be run on the spawned units, giving them the loadouts defined for the "3ifb" faction in assignGear.sqf.
+The created units will not be added to Zeus.
+
+RETURNS
+array of created units
+*/
+
+// DECLARE VARIABLES
+private ["_debug","_buildings","_grp"];
+
+// PARAMETERS
+params [
+ ["_area", "", ["", objNull, grpNull, locationNull, []]],
+ ["_radius", 50, [0, []]],
+ ["_side", sideEmpty, [sideEmpty]],
+ ["_int", 0, [0]],
+ ["_thrsh", 0.8, [0]],
+ ["_classes", [], ["", []]],
+ ["_onlyEmptyBuildings", false, [false]],
+ ["_assignGearFaction", "", [""]],
+ ["_addToZeus", true, [true]]
+];
+
+// Process radius paramter
+if (_radius isEqualType 0) then {
+ _radius = [0, _radius];
+};
+_radius params ["_radius_min","_radius_max"];
+
+// Debug. If ws_debug is globally defined it overrides _debug
+_debug = if !(isNil "ws_debug") then {ws_debug} else {false};
+
+// Default classes based on side
+if (count _classes == 0) then {
+ _classes = switch (_side) do {
+ case west; //or
+ case blufor: {"blu_f"};
+ case east; //or
+ case opfor: {"opf_f"};
+ case resistance; //or
+ case independent: {"ind_f"};
+ case civilian: {"civ_f"};
+ };
+};
+
+// To change which units are spawned for which faction, replace the array or add additional units to it
+// Default arrays (except Gendarmerie): 3x Rifleman, 1x LAT, 1x AR, 1x TL, 1x medic. Units are randomly selected from the array so this represents probabilities, not a fixed group spawn.
+if (_classes isEqualType "") then {
+ _classes = toLower _classes;
+ _classes = switch (true) do {
+ case (_classes in ["blu_f","nato"]): { // NATO
+ ["B_Soldier_lite_F","B_Soldier_F","B_Soldier_LAT2_F","B_Soldier_AR_F","B_Soldier_TL_F","B_Soldier_F","B_medic_F"]
+ };
+ case (_classes in ["blu_t_f","natopacific"]): { // NATO Pacific
+ ["B_T_Soldier_F","B_T_Soldier_F","B_T_Soldier_LAT2_F","B_T_Soldier_AR_F","B_T_Soldier_TL_F","B_T_Soldier_F","B_T_Medic_F"]
+ };
+ case (_classes in ["blu_ctrg_f","ctrg"]): { // CTRG
+ ["B_CTRG_Soldier_tna_F","B_CTRG_Soldier_tna_F","B_CTRG_Soldier_LAT2_tna_F","B_CTRG_Soldier_AR_tna_F","B_CTRG_Soldier_TL_tna_F","B_CTRG_Soldier_tna_F","B_CTRG_Medic_tna_F"]
+ };
+ case (_classes in ["blu_gen_f","gendarmerie"]): { // Gendarmerie
+ ["B_GEN_Soldier_F"]
+ };
+ case (_classes in ["opf_f","csat"]): { // CSAT
+ ["O_Soldier_lite_F","O_Soldier_F","O_Soldier_LAT_F","O_Soldier_AR_F","O_Soldier_TL_F","O_Soldier_F","O_medic_F"]
+ };
+ case (_classes in ["opf_t_f","csatpacific"]): { // CSAT Pacific
+ ["O_T_Soldier_F","O_T_Soldier_F","O_T_Soldier_LAT_F","O_T_Soldier_AR_F","O_T_Soldier_TL_F","O_T_Soldier_F","O_T_Medic_F"]
+ };
+ case (_classes in ["opf_r_f","spetsnaz"]): { // Spetsnaz
+ ["O_R_JTAC_F","O_R_Soldier_LAT_F","O_R_Soldier_AR_F","O_R_Soldier_TL_F","O_R_JTAC_F","O_R_JTAC_F","O_R_medic_F"]
+ };
+ case (_classes in ["ind_f","aaf"]): { // AAF
+ ["I_Soldier_lite_F","I_Soldier_F","I_Soldier_LAT_F","I_Soldier_AR_F","I_Soldier_TL_F","I_Soldier_F","I_medic_F"]
+ };
+ case (_classes in ["ind_e_f","ldf"]): { // LDF
+ ["I_E_Soldier_lite_F","I_E_Soldier_F","I_E_Soldier_LAT_F","I_E_Soldier_AR_F","I_E_Soldier_TL_F","I_E_Soldier_F","I_E_Medic_F"]
+ };
+ case (_classes in ["blu_g_f","opf_g_f","ind_g_f","fia"]): { // FIA
+ ["B_G_Soldier_lite_F","B_G_Soldier_F","B_G_Soldier_LAT_F","B_G_Soldier_AR_F","B_G_Soldier_TL_F","B_G_Soldier_F","B_G_medic_F"]
+ };
+ case (_classes in ["ind_c_f","syndikatparamilitary"]): { // Syndikat Paramilitary
+ ["I_C_Soldier_Para_1_F","I_C_Soldier_Para_2_F","I_C_Soldier_Para_7_F","I_C_Soldier_Para_5_F","I_C_Soldier_Para_4_F","I_C_Soldier_Para_3_F","I_C_Soldier_Para_6_F"]
+ };
+ case (_classes in ["syndikatbandit"]): { // Syndikat Bandit
+ ["I_C_Soldier_Bandit_4_F","I_C_Soldier_Bandit_7_F","I_C_Soldier_Bandit_5_F","I_C_Soldier_Bandit_2_F","I_C_Soldier_Bandit_3_F","I_C_Soldier_Bandit_6_F","I_C_Soldier_Bandit_1_F"]
+ };
+ case (_classes in ["civ_f","civ_idap_f","civilian"]): { // Civilian, IDAP
+ [""]
+ };
+ };
+};
+
+// Prepare and check buildings:
+
+// Check if _area is a list of buildings, if not: find buildings
+_buildings = [];
+if ( typename _area == "ARRAY" && {count _area > 0} && {typename (_area select 0) == "OBJECT"} && {_area select 0 isKindOf "House"} ) then {
+ _buildings = _area;
+ // Set BPos if not already set:
+ { [_x] call ws_fnc_getBPos } forEach _buildings;
+} else {
+ // Collect buildings and assign building positions
+ _area = _area call ws_fnc_getEPos;
+ _buildings = [_area,_radius_max,true,true] call ws_fnc_collectBuildings;
+ if (_radius_min > 0) then {
+ private _buildingsToRemove = [_area,_radius_min,true,true] call ws_fnc_collectBuildings;
+ _buildings = _buildings - _buildingsToRemove;
+ };
+};
+
+if (_onlyEmptyBuildings) then {
+ // Only use buildings that haven't been garrisoned yet! (this is useful when having overlapping garrison areas)
+ _buildings = _buildings select { (_x getVariable ["ws_bunits",0]) == 0 };
+};
+
+// Remove buildings without building positions
+_buildings = _buildings select { count (_x getVariable ["ws_bPos", []]) > 0};
+
+if (count _buildings == 0) exitWith {
+ if(_debug) then {
+ ["ws_fnc_createGarrison DBG: no buildings found",[],""] call ws_fnc_debugText;
+ };
+ []
+};
+// Note: At this point we have at least one building with at least one building position
+
+// If no amount of units is set, calculate default
+if (_int == 0) then {
+ _int = round (count _buildings / 4);
+};
+
+if (_thrsh <= 0) then {_thrsh = 0.1};
+
+// Create a new group
+_grp = createGroup _side;
+
+// Give the group a hold waypoint as otherwise ASR_AI might call them outside
+[_grp, getPos (_buildings select 0), ["hold"]] call ws_fnc_addWaypoint;
+
+for "_x" from 1 to _int do {
+ private ["_b","_bpa","_bpl","_bu","_i","_bp","_u","_mkr"];
+
+ _b = selectRandom _buildings;
+ _bpa = _b getVariable "ws_bPos";
+ _bpl = _b getVariable ["ws_bPosLeft",_bpa];
+ _bu = _b getVariable ["ws_bUnits",0];
+
+ // Loop until we have a building with enough free building positions
+ while { count _bpl == 0 || {(_bu / (count _bpa)) >= _thrsh} } do {
+ _buildings = _buildings - [_b];
+
+ if (count _buildings == 0) exitWith {[]};
+
+ _b = selectRandom _buildings;
+ _bpa = _b getVariable "ws_bPos";
+ _bpl = _b getVariable ["ws_bPosLeft",_bpa];
+ _bu = _b getVariable ["ws_bUnits",0];
+ };
+
+ // If no buildings are left, exit
+ if (count _buildings == 0) exitWith {[]};
+
+ // Get a building position
+ _i = floor (random (count _bpl));
+ _bp = _bpl select _i;
+
+ // Remove the building position from the array
+ _bpl deleteAt _i;
+
+ // Create a unit and move it into place
+ _u = _grp createUnit [selectRandom _classes,_bp,[],5,"NONE"];
+ _u setPosATL _bp;
+ [_u] joinsilent _grp; //otherwise the side might be wrong
+ dostop _u;
+ // _u disableAI "PATH";
+
+ _u spawn ws_fnc_setInsidePos; // SetInsidePos is fairly expensive, thus spawned
+
+ // Set new variables
+ _u setVariable ["ws_bpos",_bp,true];
+ _b setVariable ["ws_bUnits",_bu + 1,true];
+ _b setVariable ["ws_bPosLeft",_bpl,true];
+
+ if (_debug) then {_mkr = createMarker [format ["%1-bpos",_u],getPos _u];_mkr setMarkerSize [0.5,0.5];_mkr setMarkerType "mil_dot";_mkr setMarkerColor "ColorGreen";};
+};
+
+// If assignGear AI parameter is enabled, set the faction on the spawned units then pass them to assignGear AI.
+if (_assignGearFaction != "") then {
+ {
+ [[_x,_assignGearFaction],f_fnc_setVirtualFaction] remoteExec ["call",2];
+ } forEach (units _grp);
+ [(units _grp),"f\assignGear\f_assignGear_AI.sqf"] remoteExec ["execVM",2];
+};
+
+// Prevent the group leader to issue attack orders to the members, improving their attack from buildings
+_grp enableAttack false;
+
+// Set the group's attack mode and stance
+[_grp,"AWARE","YELLOW"] call ws_fnc_setAIMode;
+
+// Add the spawned units as editable units to any extant Zeus if that param is enabled
+if (_addToZeus) then {
+ {
+ [_x,[(units _grp),true]] remoteExec ["addCuratorEditableObjects",2];
+ } foreach allCurators;
+};
+
+// Return created unis
+(units _grp)
diff --git a/ws_fnc/AI/fn_createGroup.sqf b/ws_fnc/AI/fn_createGroup.sqf
new file mode 100644
index 000000000..1a97282ba
--- /dev/null
+++ b/ws_fnc/AI/fn_createGroup.sqf
@@ -0,0 +1,95 @@
+// WS_fnc_createGroup
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+//
+// FEATURE
+// Spawns an infantry group of the desired side
+//
+// USAGE
+// Minimal:
+// [position,side,size,[["forcedclasses"],["commonclasses"]] call ws_fnc_createGroup;
+// Full:
+// [position,side,size,[["forcedclasses"],["commonclasses"]],{code}] call ws_fnc_createGroup;
+//
+// RETURNS
+// [created group,arguments]
+//
+// PARAMETERS
+// 1. position (can be object, marker or array) | MANDATORY
+// 2. Side as west,east,resistance or civilian | MANDATORY
+// 3 The size of the group (any integer) | MANDATORY
+// 4. Array containing two sub arrays: | MANDATORY
+// 4.1 Array of classes that are exactly ONCE in the group | MANDATORY
+// 4.2 Array of classes that fill up the group after all forced classes are used | MANDATORY
+// 5. code that is executed after the group is spawned | OPTIONAL - executed as [_grp,_this] spawn _code, code has to be string or code
+
+private ["_debug","_grp","_mkr"];
+
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug}; //Debug mode. If ws_debug is globally defined it overrides _debug
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_side", sideUnknown, [sideUnknown]],
+ ["_size", 0, [0]],
+ ["_classes", [], [[]]],
+ ["_code", {}, [{},""]]
+];
+_pos = _pos call ws_fnc_getEpos;
+
+//Declaring variables
+_classes params [
+ ["_forcedclasses", [], [[]]],
+ ["_commonclasses", [], [[]]]
+];
+
+if (_debug) then {
+ ["ws_fnc_createGroup DBG: running with: ",_this,""] call ws_fnc_debugText;
+};
+
+//Creating the group
+_grp = createGroup _side;
+
+//Create the group leader around who the group assembles
+_grp createUnit [_forcedclasses select 0,_pos,[],0,"NONE"];
+
+for "_x" from 2 to (_size) do {
+ if (_x <= (count _forcedclasses)) then {
+ _grp createUnit [_forcedclasses select (_x - 1),_pos,[],5,"NONE"];
+ } else {
+ _grp createUnit [selectRandom _commonclasses,_pos,[],5,"NONE"];
+ };
+};
+
+//Weird step necessary to get the correct side for the group
+{
+ [_x] joinSilent _grp;
+} forEach units _grp;
+
+[_grp,"AWARE","YELLOW"] call ws_fnc_setAIMode;
+
+//After the spawn is done execute code
+[_grp,_this] spawn _code;
+
+//DEBUG
+//Debug creates various markers and text messages helping to indicate where/when groups are spawned.
+if (_debug) then {
+ player globalchat format ["DEBUG: ws_fnc_createGroup done. _grp:%1 of size: %2 and side %3",_grp,count (units _grp),side leader _grp];
+
+ _mkr = createMarker [format ["Grp_%1",_grp], _pos];
+ _mkr setMarkerType "n_inf";
+ _mkr setMarkerColor "ColorBlue";
+ _mkr setMarkerText format ["DBG:Grp %1",_grp];
+ _mkr setMarkerSize [0.5,0.5];
+
+ [_grp,_mkr] spawn {
+ params ["_grp","_mkr"];
+ while { {alive _x} count (units _grp) > 0 } do {
+ sleep 5;
+ _mkr setMarkerPos (getPos (leader _grp));
+ };
+ _mkr setMarkerColor "ColorRed";
+ _mkr setMarkerText format ["DBG:Grp %1 dead",_grp];
+ };
+};
+
+//Output the created group and parameters
+[_grp,_this]
diff --git a/ws_fnc/AI/fn_createVehicle.sqf b/ws_fnc/AI/fn_createVehicle.sqf
new file mode 100644
index 000000000..239e6d175
--- /dev/null
+++ b/ws_fnc/AI/fn_createVehicle.sqf
@@ -0,0 +1,162 @@
+// ws_fnc_createVehicle
+// v1 (13.04.2013)
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+//
+// FEATURE
+// Spawns a vehicle of the desired side, loaded with driver and (if available) gunner
+//
+// USAGE
+// Minimal:
+// [position,side,vehicleclass] call ws_fnc_createVehicle;
+// Full:
+// [pos,side,"vehicleclass",["option1","option2"],[no of guards,["guardclasses"],loaded],["BEHAVIOUR","COMBATMODE"],{code}] call ws_fnc_createVehicle
+//
+// RETURNS
+// [created vehicle,group of vehicle,initially parsed arguments]
+//
+// PARAMETERS
+// 1. position, can be array, object or marker | MANDATORY
+// 2. Side as west,east,resistance or civilian OR existing group | MANDATORY
+// 3. legit vehicleclass | MANDATORY
+// 4. Array of strings to define additional vehicle settings: | OPTIONAL - can be empty, order does not matter
+// . "improved" - improved vehicle behaviour as per ws_fnc_betterVehicle
+// . "disableTIEquipment" - disables thermal imaging optics
+// . "clearcargo" - clears the vehicles cargo space
+// . "flying" - vehicle is spawned as flying
+// . "lockall","lockturret","lockdriver","lockcargo" - locks the entire vehicle or the corresponding seats
+// . "v_car","v_ifv","v_tr" - F2/F3 only. Loads the vehicle with the faction-specific cargo
+// 5. Array to define units guarding and loaded in the vehicle: | OPTIONAL - can be empty, default is no guards
+// 5.1. number of guards (int > 0)
+// 5.2. array with classnames of possible guard units
+// 5.3. bool wether guards are loaded into the vehicle | If more guards than cargo seats are spawned the units outside are put into their own group next to the vehicle
+// 6. code that is executed after the vehicle is spawned | OPTIONAL - executed as [_veh,_vehgrp,_this] spawn _code; Code has to be string or code
+//
+/* EXAMPLES
+ ["base",resistance,"HMMWV_M2"] call ws_fnc_createVehicle; - spawn a M2 HMMWV at marker base belonging to side independent
+
+[getPos t2,GrpOpfHQ,"BMP3",["lockturret","clearcargo"],[5,["RU_Soldier_2","RU_Soldier_1"],true]] call ws_fnc_createVehicle; - Spawn a BMP3 at object t2 that belongs to the group GrpOPFHQ, has a locked turret and empty cargo and 5 soldiers loaded inside.
+*/
+
+private ["_debug","_veh","_grp","_mod","_vehgrp","_crew","_crewman","_mkr"];
+
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug}; //Debug mode. If ws_debug is globally defined it overrides _debug
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_side", sideUnknown, [grpNull, sideUnknown]],
+ ["_type", "", [""]],
+ ["_modarray", [], [[]]],
+ ["_guardarray", [], [[]], [0,3]],
+ ["_code", {}, [{},""]]
+];
+
+//Declare variables
+_pos = [_pos] call ws_fnc_getPos;
+_guardarray params [
+ ["_guards", 0, [0]], //Number of troops spawned
+ ["_guardclasses", [], [[]]], //Classes of troops spawned
+ ["_load", false, [false]] //if troops are loaded in
+];
+
+//Fault checks
+//Checking the variables we have enough against what we should have
+{[_x,["ARRAY"],"ws_fnc_createVehicle"] call ws_fnc_typecheck;} forEach [_pos];
+{[_x,["SCALAR"],"ws_fnc_createVehicle"] call ws_fnc_typecheck;} forEach [_pos select 0,_pos select 1];
+
+if (_side isEqualType sideUnknown) then {
+_grp = createGroup _side;} else
+{_grp = _side};
+
+//Creating the vehicle
+_mod = "NONE";
+if ("flying" in _modarray) then {_mod = "FLY"};
+_veh = createVehicle [_type,_pos,[],0,_mod];
+
+//Crew the vehicle
+//Get the default crew for the vehicle
+_crew = (getArray (configFile >> "CfgVehicles" >> _type >> "typicalcargo")) select 0;
+//Commander
+if ((_veh emptyPositions "Commander") > 0) then {_crewman =_grp createUnit [_crew, _pos, [], 0, "NONE"]; _crewman assignAsCommander _veh; _crewman moveInCommander _veh;};
+//Gunner
+if ((_veh emptyPositions "Gunner") > 0) then {_crewman =_grp createUnit [_crew, _pos, [], 0, "NONE"]; _crewman assignAsGunner _veh; _crewman moveInGunner _veh;};
+//Driver
+_crewman =_grp createUnit [_crew, _pos, [], 0, "NONE"]; _crewman assignAsDriver _veh; _crewman moveInDriver _veh;
+
+//Weird step necessary to get the correct side for the vehicle crew
+{
+[_x] joinSilent _grp;
+} forEach crew _veh;
+
+_vehgrp = _grp;
+
+[_grp,"AWARE","YELLOW"] call ws_fnc_setAIMode;
+
+//Create the infantry nearby. Load them up if flag is set, put units that don't fit in cargo in new group
+if (_guards > 0) then {
+ _grp = createGroup _side;
+
+ for "_x" from 1 to _guards do {
+ _grp createUnit [selectRandom _guardclasses, getPos _veh, [], 2, "NONE"];
+ };
+
+ if (_load) then {
+ _guards = [_veh,_grp] call ws_fnc_loadVehicle;
+
+ if (count _guards > 0) then {
+ _grp = createGroup _side;
+ {[_x] joinSilent _grp} forEach _guards;
+ [_grp,getPos _veh,["hold",50]] call ws_fnc_addWaypoint;
+ };
+ } else {
+ [_grp,getPos _veh,["hold",50]] call ws_fnc_addWaypoint;
+ }
+};
+
+// Set the extra options for the vehicle
+{
+ switch (_modarray select _forEachIndex) do {
+ case "improved": {if (canfire _veh) then {[_veh,0.8] call ws_fnc_bettervehicle;};};
+ case "clearcargo": {clearWeaponCargoGlobal _veh;clearMagazineCargoGlobal _veh;};
+ case "lockall": {_veh lock true;};
+ case "lockdriver": {_veh lockDriver true;};
+ case "lockcargo": {_veh lockCargo true;};
+ case "lockturret": {_veh lockTurret [[0],true];};
+ case "allowcrewinimmobile": {_veh allowcrewinimmobile true;};
+ case "v_ifv": {[_veh,"v_ifv"] call f_fnc_assignGear;};
+ case "v_tr": {[_veh,"v_tr"] call f_fnc_assignGear;};
+ case "v_car": {[_veh,"v_car"] call f_fnc_assignGear;};
+ case "flying": {};
+ case "disableTIEquipment": {_veh disableTIEquipment true};
+ default {["ws_fnc_createVehicle: ",(_modarray select _forEachIndex)," is not a valid input for the _modarray!"] call ws_fnc_debugText;}
+ };
+} forEach _modarray;
+
+_veh setDir (random 360);
+
+//After the spawn is done execute code
+[_veh,_this] spawn _code;
+
+//Debug stuff
+if (_debug) then {
+ player globalchat format ["DEBUG: ws_createVehicle. Vehicle created. _veh:%1, side: %2, modificators: %3",_veh,_side, _modarray];
+
+ _mkr = createMarker [format ["_veh_%1",_veh], _pos];
+ _mkr setMarkerType "n_armor";
+ _mkr setMarkerColor "ColorGreen";
+ _mkr setMarkerText format ["DBG:Veh %1",_veh];
+ _mkr setMarkerSize [0.5,0.5];
+
+ [_veh,_mkr] spawn {
+ params ["_veh","_mkr"];
+ while {alive _veh} do {
+ sleep 5;
+ _mkr setMarkerPos (getPos _veh);
+ };
+
+ _mkr setMarkerColor "ColorRed";
+ _mkr setMarkerText format ["DBG:Grp %1 dead",_veh];
+ };
+};
+
+//Script outputs the generated vehicle
+[_veh,_vehgrp,_grp,_this]
diff --git a/ws_fnc/AI/fn_enterBuilding.sqf b/ws_fnc/AI/fn_enterBuilding.sqf
new file mode 100644
index 000000000..c4ffedec9
--- /dev/null
+++ b/ws_fnc/AI/fn_enterBuilding.sqf
@@ -0,0 +1,121 @@
+/*ws_fnc_enterBuilding
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Thanks to Rommel's CBA_fnc_taskDefend and Binesi's improved BIS_fnc_taskDefend
+
+USAGE
+Minimal
+[[array of units],[array of buildings]] call ws_fnc_enterBuilding
+Full
+[[array of units],[array of buildings],treshold] call ws_fnc_enterBuilding
+
+FEATURE
+Have a selection of units enter take positions in a selection of buildings
+
+RETURNS
+Units that haven't been put into a building position
+*/
+
+private ["_debug","_building","_bpos","_bposarray","_bposleft","_bUnits","_mkr","_unit","_i"];
+_debug = if !(isNil "ws_debug") then {ws_debug} else {false};
+
+params [
+ ["_units", [], [[]]],
+ ["_barray", [], [[]]],
+ ["_threshold", 1.0, [0]] //Fraction of building positions that can be taken before building is considered "full"
+];
+
+if (!(_barray isEqualType [])) then {_barray = [_barray]};
+if (_threshold <= 0) then {_threshold = 0.8};
+
+// As long we have units and a more than one building we loop through either
+while {count _units > 0 && count _barray > 0} do {
+
+ _building = selectRandom _barray;
+ _bposarray = [_building] call ws_fnc_getBpos;
+
+ if (count _bposarray > 0) then {
+
+ // Get variables to check if building can be used
+ _bUnits = _building getVariable ["ws_bUnits",0];
+ _bposleft = _building getVariable ["ws_bPosLeft",+_bposarray];
+
+ // Loop until we find a good building
+ while {count _barray > 0 && {count _bposLeft == 0 || (_bUnits / (count _bposarray) >= _threshold)}} do {
+ _barray = _barray - [_building];
+
+ _building = selectRandom _barray;
+ _bposarray = _building getVariable ["ws_bPos",[]];
+ if (count _bposarray == 0) then {_bposarray = [_building] call ws_fnc_getBpos;};
+
+ // Get variables in order to check if building can be used
+ _bUnits = _building getVariable ["ws_bUnits",0];
+ _bposleft = _building getVariable ["ws_bPosLeft",+_bposarray];
+ };
+
+ // If no good building was found, exit.
+ if (count _barray == 0) exitWith {};
+
+ // Otherwise continue to place unit:
+ _unit = selectRandom _units;
+ _units = _units - [_unit];
+
+ //Get a building position and remove it from the array
+ _i = floor (random (count _bposleft));
+ _bpos = _bposleft select _i;
+ _bposleft deleteAt _i;
+
+ // Set the new variables for the building
+ _building setVariable ["ws_bPosLeft",_bposleft,true];
+ _building setVariable ["ws_bUnits",_bUnits+1,true];
+
+ // For the unit spawn code to have it enter the building
+ [_unit,_bpos] spawn {
+ params ["_unit","_pos"];
+
+ _unit setVariable ["ws_bpos",_pos,true];
+ _unit doMove _pos;
+
+ waitUntil {_unit distance _pos < 5};
+ (group _unit) setSpeedMode "Limited";
+ sleep 1;
+
+ // Wait 30 seconds for the unit to get ready
+ for "_i" from 0 to 30 do {
+ if (unitReady _unit || _unit distance _pos < 1) exitWith {};
+ sleep 1;
+ };
+
+ //Check the distance to the building position and the distance between z-levels (if the unit got stuck)
+ if (((getPosATL _unit) select 2) - (_pos select 2) < 0.2) then {
+ _unit setPosATL _pos;
+ _unit moveTo _pos;
+
+ // Wait another 10 seconds for the unit to get ready
+ for "_i" from 0 to 10 do {
+ if (unitReady _unit || _unit distance _pos < 1) exitWith {};
+ sleep 1;
+ };
+ };
+
+ dostop _unit;
+
+ _unit spawn ws_fnc_setInsidePos;
+
+ (group _unit) setSpeedMode "NORMAL";
+ };
+
+ if (_debug) then {
+ _mkr = createMarker [format ["%1-bpos",_unit],_bpos];
+ _mkr setMarkerSize [0.5,0.5];
+ _mkr setMarkerType "mil_dot";
+ _mkr setMarkerColor "ColorGreen";
+ ["ws_fnc_enterbuilding DBG3: ",[_building,(count _bposarray),(count _bposleft)]," - building: bpos/bposleft"] call ws_fnc_debugText;
+ };
+
+ // If the building doesn't have any bpos or is filled, it's removed from the building-array
+ if (count _bposleft == 0 || {(_bUnits+1)/count _bposarray >= _threshold}) then {_barray = _barray - [_building]};
+
+ };
+};
+
+_units
diff --git a/ws_fnc/AI/fn_setAIMode.sqf b/ws_fnc/AI/fn_setAIMode.sqf
new file mode 100644
index 000000000..a21a34cd4
--- /dev/null
+++ b/ws_fnc/AI/fn_setAIMode.sqf
@@ -0,0 +1,72 @@
+/*ws_fnc_setAIMode
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Set a group to desired behaviour and combatmode
+
+RETURNS
+group
+
+USAGE
+[group,behaviour,combatmode,formation,speed] call ws_fnc_setAIMode
+
+PARAMETERS
+1. Group to be set
+2. Combat mode, Behaviour, speed and/or formation to be set (all strings, order does not matter)
+
+EXAMPLES
+[Group1,"LINE"] call ws_fnc_setAIMode;
+[Group2,"COMBAT","ECH LEFT","RED"] call ws_fnc_setAIMode;
+
+Accepted Strings:
+"COLUMN" "STAG COLUMN" "WEDGE" "ECH LEFT" "ECH RIGHT" "VEE" "LINE" "FILE" "DIAMOND"
+
+"CARELESS" "SAFE" "AWARE" "COMBAT" "STEALTH".
+
+"BLUE" "GREEN" "WHITE" "YELLOW" "RED"
+
+"FULL" "NORMAL" "LIMITED"
+*/
+
+private _grp = param [0, grpNull, [grpNull, objNull]];
+private _modes = _this - [_grp];
+
+{
+switch (_x) do {
+
+ //Behaviour
+ case "CARELESS": {_grp setBehaviour _x;};
+ case "SAFE": {_grp setBehaviour _x;};
+ case "AWARE": {_grp setBehaviour _x;};
+ case "COMBAT": {_grp setBehaviour _x;};
+ case "STEALTH": {_grp setBehaviour _x;};
+
+ //CombatMode
+ case "BLUE": {_grp setCombatMode _x;};
+ case "GREEN": {_grp setCombatMode _x;};
+ case "WHITE": {_grp setCombatMode _x;};
+ case "YELLOW": {_grp setCombatMode _x;};
+ case "RED": {_grp setCombatMode _x;};
+
+ //Formation
+ case "COLUMN": {_grp setFormation _x;};
+ case "STAG COLUMN": {_grp setFormation _x;};
+ case "WEDGE": {_grp setFormation _x;};
+ case "ECH LEFT": {_grp setFormation _x;};
+ case "ECH RIGHT": {_grp setFormation _x;};
+ case "VEE": {_grp setFormation _x;};
+ case "LINE": {_grp setFormation _x;};
+ case "FILE": {_grp setFormation _x;};
+ case "DIAMOND": {_grp setFormation _x;};
+
+ //Speed
+ case "LIMITED": {_grp setSpeedMode _x;};
+ case "NORMAL": {_grp setSpeedMode _x;};
+ case "FULL": {_grp setSpeedMode _x;};
+
+ default {["ws_fnc_setAIMode DBG:",_x,"is not a valid combatmode, behaviour or formation!"] call ws_fnc_debugText};
+};
+
+} forEach _modes;
+
+_grp
diff --git a/ws_fnc/AI/fn_setInsidePos.sqf b/ws_fnc/AI/fn_setInsidePos.sqf
new file mode 100644
index 000000000..d8709d5ce
--- /dev/null
+++ b/ws_fnc/AI/fn_setInsidePos.sqf
@@ -0,0 +1,60 @@
+/* ws_fnc_setInsidePos
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Positions an AI inside the building it's in. Unit will face windows (if possible) and go to kneel when on roof
+
+NOTE
+Nearest building is used, AI should be inside before calling the function
+
+USAGE
+Unit call ws_fnc_setInsidePos
+
+PARAMETERS
+1. Unit | Mandatory
+
+RETURNS
+true
+*/
+
+private ["_u","_b","_udir","_inside","_facingwall","_dirtob","_dir","_nb"];
+
+_u = _this;
+_nb = (nearestObjects [_u,["BagBunker_base_F","HouseBase"],50]);
+
+if (count _nb == 0) exitWith {};
+
+_b = _nb select 0;
+
+_inside = [_u,0,0,25] call ws_fnc_isWallInDir;
+_facingwall = false;
+_dirtob = _u getRelDir _b;
+_udir = _dirtob - 180;
+
+// If unit is outside set to kneel and check for wall facing away from building
+if !(_inside) then {
+ _u setUnitPos "Middle";
+ _facingwall = [_u,_udir] call ws_fnc_isWallInDir;
+} else {
+// Else if unit is inside set position to standing and check for wall from facing of unit
+ _u setUnitPos "Up";
+ _facingwall = [_u,getDir _u] call ws_fnc_isWallInDir;
+};
+
+if (_facingwall) then {
+
+ // First check if there's a window nearby
+ for "_x" from 0 to 360 step 5 do {
+ _dir = _x;
+ if !([_u,_dir] call ws_fnc_isWallInDir) exitWith {_udir = _dir;_facingwall = false};
+ };
+
+ // If still no good facing was good, simply set the unit to face inward
+ if (_facingwall) then {
+ _udir = _dirtob;
+ };
+};
+
+_u doWatch ([_u, 20, _udir] call BIS_fnc_relPos);
+
+true
diff --git a/ws_fnc/AI/fn_taskAmbush.sqf b/ws_fnc/AI/fn_taskAmbush.sqf
new file mode 100644
index 000000000..3b61bd041
--- /dev/null
+++ b/ws_fnc/AI/fn_taskAmbush.sqf
@@ -0,0 +1,119 @@
+/* ws_fnc_taskAmbush
+Latest: 07.03.2014
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Thanks to Black Mamba for the idea/concept
+
+FEATURE
+Group will move to a hiding spot overwatching the parsed position.
+If enemy units enter the area around the parsed position (i.e. the killzone) or come too close to the hiding spot, the group will go active and engage.
+
+USAGE
+Minimal:
+[group,position] spawn ws_fnc_taskAmbush;
+Full:
+[group,position, killzone (array), overwatch radius (array)] spawn ws_fnc_taskAmbush;
+
+PARAMETERS
+1. The ambush group | MANDATORY
+2. The position to be ambushed | MANDATORY - can be marker, trigger, group or positional array
+3. The killzone in [x,y,angle,rectangle(bool)] around the position | OPTIONAL (default: If marker or trigger was passed as position use their area, otherwise [50,50,0,false])
+4. The minimal distance and radius in which to find an overlook | OPTIONAL (default: [50,400] - if left empty ([]) the group will stay where they are)
+
+EXAMPLES
+A) nul = [group this,TrgAmbush] spawn ws_fnc_taskAmbush in Waypoint onAct: group will ambush enemies entering killzone as indicated by Trigger named TrgAmbush and look for a decent overwatch spot
+B) nul = [group this,RoadBlockObj,[],[]] spawn ws_fnc_taskAmbush in Waypoint onAct: group will ambush enemies nearing the object named RoadBlockObj within a radius of 50m. They will use the waypoint position as overwatch spot
+C) nul = [MyGroup,MyGroup] spawn ws_fnc_taskAmbush: The group named MyGroup will ambush enemies nearing the position where they were spawned, using the default killzone size. They will find their own overwatch spot. This method can be useful for dynamically spawned groups.
+*/
+
+if !(ws_game_a3) exitWith {["ws_fnc_taskAmbush DBG:",[]," Must be ARMA 3!"] call ws_fnc_debugtext};
+
+private ["_debug","_pos","_nPos","_radius","_mindis","_sidesEnemy","_wp","_mkr","_npos","_trg"];
+
+// Debug. If ws_debug is globally defined it overrides _debug
+_debug = if !(isNil "ws_debug") then {ws_debug} else {false};
+
+// Interpret arguments
+params [
+ ["_grp", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_ambush", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_killzone", [], [[]]],
+ ["_owatch", [50,200], [[]], [0,2]]
+];
+
+// Get positions for group and ambush location
+_pos = _ambush call ws_fnc_getEPos;
+_npos = _grp call ws_fnc_getEPos;
+
+// If killzone is not forced, get values from ambush position
+if (count _killzone == 0) then {
+ _killzone =
+ switch (typeName _ambush) do {
+ // Trigger:
+ case ("OBJECT"): {triggerarea _ambush};
+ // Marker:
+ case ("STRING"): {
+ private ["_form"];
+ _ambush setMarkerAlpha 0;
+ _form =
+ switch (MarkerShape _ambush) do {
+ case "RECTANGLE": {true};
+ case "ELLIPSE": {false};
+ default {true};
+ };
+ [(getMarkerSize _ambush select 0),(getMarkerSize _ambush select 1),markerDir _ambush,_form];
+ };
+ // Default:
+ default {[50,50,0,false]};
+ };
+};
+
+// If overwatch is enabled, get a good overwatch position
+if (count _owatch > 0) then {
+ _mindis = _owatch select 0;
+ _radius = _owatch select 1;
+
+ if (_mindis > _radius) then {_radius = _mindis * 4};
+
+ // Get a position overwatching the ambush point
+ _nPos = [_pos, _radius, _mindis, 0] call BIS_fnc_findOverwatch;
+};
+
+// Get group to move to overwatch position
+_wp = _grp addWaypoint [_npos,0];
+_grp setCurrentWaypoint _wp;
+
+// Get enemy sides
+_sidesEnemy = (side _grp) call BIS_fnc_enemySides;
+
+// Set group to go stealth at overwatch position
+_wp = [_grp,_nPos,["HOLD",0,10],["STEALTH","GREEN","NORMAL"]] call ws_fnc_addWaypoint;
+
+// Create switch triggers for each enemy side and synch them to the overwatch waypoint
+{
+ _trg = createTrigger ["EmptyDetector", _pos];
+ _trg setTriggerArea _killzone;
+ _trg setTriggerActivation [str(_x), "PRESENT", false];
+ _trg setTriggerStatements ["this", "{_grp reveal [_x,4]} forEach thisList", ""];
+ _trg setTriggerType "SWITCH";
+ _trg synchronizeTrigger [_wp];
+
+ _trg = createTrigger ["EmptyDetector", _nPos];
+ _trg setTriggerArea [25,25,0,false];
+ _trg setTriggerActivation [str(_x), "PRESENT", false];
+ _trg setTriggerStatements ["this", "{_grp reveal [_x,4]} forEach thisList", ""];
+ _trg setTriggerType "SWITCH";
+ _trg synchronizeTrigger [_wp];
+} forEach _sidesEnemy;
+
+// Create attack waypoint (becomes active once trigger flips)
+(units _grp) doWatch _pos;
+_wp = [_grp,_pos,["SAD",0],["AWARE","RED","FULL"]] call ws_fnc_addWaypoint;
+
+// If debug's enabled, place markers
+if (_debug) then {
+ _mkr = createMarker [format ["%1-pos",_pos],_pos];_mkr setMarkerSize [0.5,0.5];_mkr setMarkerType "mil_ambush";_mkr setMarkerColor "ColorRed"; _mkr setMarkerText format ["Ambush %1",_grp];
+ _mkr = createMarker [format ["%1-npos",_npos],_npos];_mkr setMarkerSize [0.5,0.5];_mkr setMarkerType "mil_flag";_mkr setMarkerColor "ColorRed"; _mkr setMarkerText format ["Overwatch %1",_grp];
+ _mkr = createMarker [format ["%1-kpos",_pos],_pos];if (_killzone select 3) then [{_mkr setMarkerShape "RECTANGLE"},{_mkr setMarkerShape "ELLIPSE"}]; _mkr setMarkerSize [_killzone select 0,_killzone select 1]; _mkr setMarkerBrush "SOLIDBORDER";_mkr setMarkerColor "ColorRed"; _mkr setMarkerDir (_killzone select 2);
+};
+
+true
diff --git a/ws_fnc/AI/fn_taskArtilleryFire.sqf b/ws_fnc/AI/fn_taskArtilleryFire.sqf
new file mode 100644
index 000000000..d78b59041
--- /dev/null
+++ b/ws_fnc/AI/fn_taskArtilleryFire.sqf
@@ -0,0 +1,119 @@
+/* ws_fnc_taskArtilleryFire
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Allows saturation of a target or target area by artillery piece(s).
+
+USAGE
+Minimal:
+[artillery,target] call ws_fnc_taskArtilleryFire
+Full:
+[artillery,target,[shots per barrage,number of barrages],max dispersion from target,,ammo to use] call ws_fnc_taskArtilleryFire
+
+PARAMETERS
+1. The artillery piece or array of artillery pieces to fire | MANDATORY - object or array
+2. The target to fire on to. Can be icon marker, object, array of icon markers/objects, area marker or trigger. | MANDATORY - object or string (markername)
+If it's an area marker or trigger the shots will randomly land somewhere inside the marker/trigger area. If it's
+an array of icon markers/objects, the targets will be randomly selected from the array.
+3. The firemission as an array. The first number dictates the shots per barrage, the second the | OPTIONAL - array with [number,number] (default: [4,1])
+total number of barrages. If an area or array of targets was given, the artillery piece will select a new target
+in the area or from the array after each barrage.
+4. The max. dispersion from target. | OPTIONAL - number (default: 80)
+5. Time to sleep between each barrage, if set to -1 it will sleep until the splash of the | OPTIONAL - number > 0 or -1 (default: -1)
+current barrage's last shot
+6. The ammo to be used, if "" it will use the primary ammo (HE most of the time) | OPTIONAL - string refering to ammo class or "" (default: "")
+
+EXAMPLES
+TODO
+
+RETURNS
+true
+*/
+
+if !(ws_game_a3) exitWith {["ws_fnc_taskArtilleryFire DBG:",[]," Must be ARMA 3!"] call ws_fnc_debugtext};
+
+
+params [
+ ["_art", objNull, [objNull, []]],
+ ["_target", [0,0,0], [objNull, "", []]],
+ ["_fireMission", [4,1], [[]], 2],
+ ["_dispersion", 80, [0]],
+ ["_sleep", -1, [0]],
+ ["_ammo", "", [""]]
+];
+
+switch (typeName _art) do {
+ case "OBJECT": {_art = [_art]};
+ case "ARRAY": {};
+};
+
+
+if ({isNull _x} count _art > 1 || str _target == "[0,0,0]" || count (getArtilleryAmmo _art) == 0) exitWith {
+ ["ws_fnc_taskArtilleryFire DBG: Illegal artillery unit or target! --- ",[{isNull _x} count _art > 1, str _target == "[0,0,0]", count (getArtilleryAmmo _art) == 0],": Artillery null? | Target non-existent? | No artillery ammo?"] call ws_fnc_debugtext;
+};
+
+{
+ // Spawn a seperate fire mission for each artillery piece
+ [_x,_target,_dispersion,_fireMission,_sleep,_ammo] spawn {
+ private ["_targetPos"];
+ params ["_artpiece", "_target", "_dispersion", "_fireMission", "_sleep", "_ammo"];
+
+ // Select the ammo
+ if (_ammo == "") then {
+ _ammo = currentMagazine _artpiece;
+ };
+
+ // Start looping through the barrages
+ for "_x" from 1 to (_fireMission select 1) do {
+ _targetPos = [];
+
+ switch (typeName _target) do {
+
+ case (typeName objNull): {
+ if (count (triggerArea _target) != 0) then {
+ _targetpos = [_target] call ws_fnc_getPosInArea;
+ } else {
+ _targetpos = _target call ws_fnc_getEPos;
+ };
+ };
+
+ case (typeName ""): {
+ if (markerShape _target == "ICON") then {
+ _targetpos = _target call ws_fnc_getEPos;
+ } else {
+ _targetpos = [_target] call ws_fnc_getPosInArea;
+ };
+ };
+
+ case (typeName []): {
+ _targetPos = (selectRandom _target) call ws_fnc_getEPos;
+ };
+ };
+
+ // Resolve the target position with the dispersion setting
+ if (_dispersion > 0) then {
+ _targetpos = [_targetpos,_dispersion] call ws_fnc_getPos;
+ };
+
+ if (!(canFire _artPiece) || !(alive _artPiece) || !(_targetPos inRangeOfArtillery [[_artPiece],_ammo]) || count (getArtilleryAmmo [_artPiece]) == 0 ) exitWith {
+ if (ws_debug) then {
+ ["ws_fnc_taskArtilleryFire DBG: Artillery forced to stop firing! --- ",[!(canFire _artPiece), !(alive _artPiece), !(_targetPos inRangeOfArtillery [[_artPiece],_ammo]), count (getArtilleryAmmo [_artPiece]) == 0],": Artillery can't fire? | Artillery dead? | Target too close? | No more ammo?"] call ws_fnc_debugtext;
+ };
+ };
+
+ // Fire a shot, then re-select a target
+ _artpiece doArtilleryFire [_targetpos,_ammo,_fireMission select 0];
+
+ // Sleep until the new barrage should begin
+ if (_sleep < 0 ) then {
+ // Wait for the last shot to hit the target before shifting to the next barrage
+ sleep (_artpiece getArtilleryETA [_targetpos,_ammo]);
+ } else {
+ sleep _sleep;
+ };
+ };
+ };
+
+} forEach _art;
+
+true
diff --git a/ws_fnc/AI/fn_taskConvoy.sqf b/ws_fnc/AI/fn_taskConvoy.sqf
new file mode 100644
index 000000000..d2bf18eb5
--- /dev/null
+++ b/ws_fnc/AI/fn_taskConvoy.sqf
@@ -0,0 +1,176 @@
+/* ws_fnc_taskConvoy
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Thanks to Norrin's convoy script for inspiration and guidance: http://forums.bistudio.com/showthread.php?152279-norrin-s-ArmA2-scripts-ported-to-ArmA3
+You can find a video tutorial here: http://youtu.be/_aELNA7j__c
+
+FEATURE
+The passed vehicles will follow the given route to it's destination, where they will disembark and take sentry waypoints.
+The convoy will follow any given path and dismount on enemy contact.
+
+RETURNS
+true once convoy has reached the destination or made contact
+
+USAGE
+Place an ungrouped selection of vehicles. All trailing vehicles should share the name of the leading vehicle followed by _n, where n is an incrementing number (e.g.: veh, veh_1, veh_2).
+Place markers indicating the convoy route, ideally on roads. All markers should share the name of the first marker followed by _n, where n is an incrementing number (e.g.: mkr, mkr_1, mkr_2).
+You can change which waypoint type the units will be assigned on dismounting below as _finalWP
+
+Minimal:
+[leadingVehicle,"firstMarker"] spawn ws_fnc_taskConvoy
+
+Full:
+[leadingVehicle,"firstMarker",speedLimit] spawn ws_fnc_taskConvoy
+
+PARAMETERS
+1. The leading vehicle (all other vehicles should share the same naming template) | MANDATORY - object
+2. The first marker indicating the convoy route (all other markers should share the naming template) | MANDATORY - can be marker, object or positional array
+3. Speed limit in km/h (the slower the more reliably the convoy will move) | OPTIONAL - any number (default: 15)
+
+EXAMPLE
+[cv,"cvwp"] spawn ws_fnc_taskConvoy - All vehicles sharing the cv-name (cv,cv_1,cv_2...) would follow the route indicated by the markers sharing the "cvwp"-name ("cvwp","cvwp_1","cvwp_2"...)
+
+*/
+
+private ["_finalwp","_convoy","_waypoints","_run","_wp","_veh","_vfront","_vback","_vback","_dir"];
+
+params [
+ ["_leadv", objNull],
+ ["_marker", "", ["",objNull,[]]],
+ ["_speedLimit", 15, [0]]
+];
+
+
+// What waypoint-type the final/combat waypoint will be. Sentry or Hold work best
+_finalwp = "SENTRY";
+
+// Exit the script if any of the required variables is invalid
+if (isNull _leadv || _marker == "" || !local _leadV) exitWith {};
+
+_convoy = _leadv call ws_fnc_collectObjectsNum;
+_waypoints = _marker call ws_fnc_collectMarkers;
+_run = true;
+
+// Check if the convoy is in a condition to move at all
+if (({!canMove _x || !alive _x || (!isNull (_x findNearestEnemy (getPosATL _x)))} count _convoy) > 0) then {_run = false;};
+
+// Setup convoy mode
+{
+ [(group (driver _x)),"SAFE","LIMITED"] call ws_fnc_setAIMode;
+} forEach _convoy;
+
+// As long as the convoy isn't threatened, keep it moving
+while {_run} do {
+
+ {
+ _wp = (_waypoints select 0);
+ _veh = _x;
+
+ // Set the destination for the leading vehicle
+ if (_veh == _leadv) then {
+
+ // If there's sufficient distance from the next waypoint
+ if ((_leadv distance (getMarkerPos _wp)) > 25 || _leadv getVariable ["ws_destination",""] == "") then {
+
+ // And the next waypoint isn't already set as destination
+ if (_leadv getVariable ["ws_destination",""] != _wp) then {
+ // Then give the order to move to the next waypoint and set it as destination on the leading vehicle
+ {_x doMove (getMarkerPos _wp)} forEach _convoy;
+ _leadv setVariable ["ws_destination",_wp];
+ };
+
+ // If we are within distance of the next waypoint, remove the current waypoint and recount the waypoint array to exit if it is depleted
+ } else {
+ _waypoints deleteAt 0;
+ if (count _waypoints == 0) exitWith {_run = false; _leadV setVariable ["ws_destination",""];};
+ };
+ };
+
+
+ // Control the speed of all vehicles in the convoy (thanks to Norrin for dealing with the math)
+ _vfront = objNull;
+ _vback = objNull;
+
+ if (_forEachIndex-1 >= 0) then {
+ _vfront = _convoy select (_forEachIndex-1);
+ };
+
+ if (_forEachIndex+1 < count _convoy) then {
+ _vback = _convoy select (_forEachIndex+1);
+ };
+
+ _dir = getDir _veh;
+ _veh limitSpeed _speedLimit;
+
+ // If the vehicle in front is going under the speed limit and it's a bit too close, limit the vehicle's speed as well
+ if (!isNull _vfront && {_veh distance _vfront < 15}) then {
+ if (speed _vfront < _speedLimit) then {
+ _veh limitSpeed (speed _vfront);
+ };
+
+ if (((sin _dir) * (velocity _veh select 0)) > 1) then {_veh setVelocity [(velocity _veh select 0) - (2 * (sin _dir)), (velocity _veh select 1), velocity _veh select 2]};
+ if (((cos _dir) * (velocity _veh select 1)) > 1) then {_veh setVelocity [(velocity _veh select 0), (velocity _veh select 1) - (2 * (cos _dir)), velocity _veh select 2]};
+ };
+
+ if (!isNull _vback && {_veh distance _vback > 50}) then {
+ if (_veh distance _vback <= 150) then {
+ if (((sin _dir) * (velocity _veh select 0)) > 3) then {_veh setVelocity [(velocity _veh select 0) - (1 * (sin _dir)), (velocity _veh select 1), velocity _veh select 2]};
+ if (((cos _dir) * (velocity _veh select 1)) > 3) then {_veh setVelocity [(velocity _veh select 0), (velocity _veh select 1) - (1 * (cos _dir)), velocity _veh select 2]};
+ } else {
+ if (((sin _dir) * (velocity _veh select 0)) > 1) then {_veh setVelocity [(velocity _veh select 0) - (2 * (sin _dir)), (velocity _veh select 1), velocity _veh select 2]};
+ if (((cos _dir) * (velocity _veh select 1)) > 1) then {_veh setVelocity [(velocity _veh select 0), (velocity _veh select 1) - (2 * (cos _dir)), velocity _veh select 2]};
+ };
+ };
+
+ // If the vehicle is way over limit, reset velocity
+ /*if (speed _veh > _speedLimit *1.5) then {
+ _veh setVelocity [(11 * (sin _dir)), (11 * (cos _dir)), velocity _veh select 2];
+ };*/
+
+ // If for some reason the vehicle is halted, reset speed limit to the original value
+ if (speed _veh < 0.1) then {
+ _veh limitSpeed _speedLimit;
+ _veh doMove (getMarkerPos _wp);
+ };
+
+ } forEach _convoy;
+
+ // If convoy was engaged exit the loop and set the convoy to combat mode
+ if (({!canMove _x || !alive _x || (!isNull (_x findNearestEnemy (getPosATL _x)))} count _convoy) > 0) then {
+ _run = false;
+ {[(group (driver _x)),"COMBAT","NORMAL"] call ws_fnc_setAIMode;} forEach _convoy;
+ };
+
+ uisleep 0.5;
+};
+
+// Once the convoy has reached the destination or is being engaged have all groups which aren't crew disembark
+{
+_veh = _x;
+_veh doMove (getPosATL _veh);
+
+ {
+ // If the unit is the vehicle driver, check if it's a combat vehicle
+ if (_x == driver _veh) then {
+
+ // If yes, only give it a sentry WP
+ if (canFire _veh) then {
+ [(group _x),_veh,[_finalwp,5]] call ws_fnc_addWaypoint;
+ } else {
+ // If the vehicle can't shoot, let the crew dismount too
+ (group driver _veh) leaveVehicle _veh;
+ [(group _x),_veh,[_finalwp,15]] call ws_fnc_addWaypoint;
+ };
+ };
+
+ // If the unit's in a cargo index and a group leader, order the whole group out
+ if (_veh getCargoIndex _x != -1 && _x == leader group _x) then {
+ (group _x) leaveVehicle _veh;
+ [group _x,_veh,[_finalwp,50]] call ws_fnc_addWaypoint;
+ [(group _x),"AWARE","DIAMOND","YELLOW"] call ws_fnc_setAIMode;
+ };
+
+ } forEach crew _veh;
+
+} forEach _convoy;
+
+true
diff --git a/ws_fnc/AI/fn_taskCrew.sqf b/ws_fnc/AI/fn_taskCrew.sqf
new file mode 100644
index 000000000..511065635
--- /dev/null
+++ b/ws_fnc/AI/fn_taskCrew.sqf
@@ -0,0 +1,59 @@
+/*WS_fnc_taskCrew
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+/*
+FEATURE
+Send a group of units to man empty statics and gunner-less vehicles in a given radius
+
+USAGE
+[group, radius] call ws_fnc_taskCrew
+
+RETURNS
+Array of units that didn't take a gunner seat
+*/
+
+private ["_pos","_vehicles","_staticarray","_units2","_locked","_units","_unit"];
+
+params [
+ ["_group", grpNull, [grpNull]],
+ ["_radius", 0, [0]]
+];
+
+_pos = (_group) call ws_fnc_getEPos;
+
+//Get nearby vehicles to start populating the static weapons
+_vehicles = [];
+{
+ _vehicles append nearestObjects [_pos,[_x],_radius];
+} forEach ["StaticWeapon","Tank","Car"];
+
+_staticarray = [];
+_units = units _group;
+_units2 = _units - [leader _group];
+
+//Create an array containing all vehicles in the area that are uncrewed and have a free gunner seat
+{
+ //BI changed the value returned by locked in A3. See http://community.bistudio.com/wiki/locked
+ _locked = false;
+ if !(ws_game_a3) then {_locked = locked _x} else {if (locked _x >= 2) then {_locked = true};};
+
+ if ((_x emptyPositions "gunner") > 0 && !(_locked) && ((count crew _x) == 0)) then
+ {
+ _staticarray pushBack _x;
+ };
+} forEach _vehicles;
+
+//Man the statics
+{
+ // Make sure it doesn't have a gunner yet
+ if (isNull (gunner _x) && isNUll (_x getVariable ["ws_StaticCrew",objNull])) then {
+ _unit = selectRandom _units2;
+ _unit assignasgunner _x;
+ [_unit] ordergetin true;
+ _units = _units - [_unit];
+ _units2 = _units2 - [_unit];
+
+ _x setVariable ["ws_StaticCrew",_unit,true];
+ };
+} forEach _staticarray;
+
+_units
diff --git a/ws_fnc/AI/fn_taskDefend.sqf b/ws_fnc/AI/fn_taskDefend.sqf
new file mode 100644
index 000000000..daec589bb
--- /dev/null
+++ b/ws_fnc/AI/fn_taskDefend.sqf
@@ -0,0 +1,124 @@
+/*
+ws_fnc_taskDefend
+Last Update 19.09.2013
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Thanks to Rommel's CBA_fnc_taskDefend and Binesi's improved BIS_fnc_taskDefend
+
+FEATURE
+Have a group man statics and garrison in buildings in a given radius around a position. They prioritize military structures over civilian buildings
+
+NOTE
+To avoid perfomance issues the garrisoning troops will just enter the building and stay there, they won't necessarily face in a smart direction
+
+RETURNS
+units outside buildings (array)
+
+USAGE
+Minimal:
+[group,position,radius] call ws_fnc_taskDefend;
+Full:
+[group,pos,radius,bool,bool,bool] call ws_fnc_taskDefend
+
+PARAMETERS
+1. name of group | MANDATORY
+2. position. can be marker, object or [x,y,z] | MANDATORY
+3. radius of the area where statics/buildings will be occupied | MANDATORY
+4. Whether to man statics or not | OPTIONAL - default is TRUE
+5. Whether to garrison military structures modify _milarray for military building classes | OPTIONAL - default is TRUE -
+6. Whether to garrison civilian buildings | OPTIONAL - default is TRUE
+
+EXAMPLE
+[group this,getPosATL this,200] call ws_fnc_taskDefend - in the on activation field of a waypoint this would cause the assigned group to take position in buildings in a 200m radius around the WP
+
+[GrpUS_CO,"mkrTown",150,false,false,true] call ws_fnc_taskDefend - this causes the group assigned as "GrpUS_CO" to take positions in only civilian buildings in a radius of 150 around the marker named "mkrTown"
+
+*/
+
+private ["_debug","_milarrayA2","_badarrayA3","_milarrayA3","_badarrayA2",
+"_mthreshold","_cthreshold","_buildings","_milbuildings","_badarray","_milarray","_units","_mkr"];
+
+params [
+ ["_group", grpNull, [grpNull]],
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_radius", 0, [0]],
+ ["_guns", true, [true]],
+ ["_garrison", true, [true]],
+ ["_civil", true, [true]]
+];
+
+_pos = _pos call ws_fnc_getEPos;
+
+//Customizable Variables
+_mthreshold = 1; // Percentage of building positions to occupy in military buildings (1=all)
+_cthreshold = 1; // Percentage of building positions to occupy in civilian buildings (1=all)
+
+// ARMA 2 only
+// Military buildings that are garrisoned before civilian buildings
+_milarrayA2 = ["Land_Fort_Watchtower","Land_Fort_Watchtower_EP1","Land_fortified_nest_small","Land_fortified_nest_small_EP1","Land_fortified_nest_big","Land_fortified_nest_big_EP1","Land_Mil_Guardhouse_EP1","Land_Mil_ControlTower","Land_Mil_ControlTower_EP1"];
+// Buildings NEVER to garrison
+_badarrayA2 = ["Land_Misc_Cargo1Ao","Land_Misc_Cargo1Bo","Land_Misc_Cargo1Bo_military","Land_vysilac_FM2","Land_vysilac_FM","Land_Ind_MalyKomin"];
+
+// ARMA 3 only
+// Military buildings that are garrisoned before civilian buildings
+_milarrayA3 = ["Land_Cargo_HQ_V1_F","Land_Cargo_HQ_V2_F","Land_Cargo_HQ_V3_F","Land_Cargo_Tower_V1_F","Land_Cargo_Tower_V1_No1_F","Land_Cargo_Tower_V1_No2_F","Land_Cargo_Tower_V1_No3_F","Land_Cargo_Tower_V1_No4_F","Land_Cargo_Tower_V1_No5_F","Land_Cargo_Tower_V1_No6_F","Land_Cargo_Tower_V1_No7_F","Land_Cargo_Tower_V2_F","Land_Cargo_Tower_V3_F","Land_Radar_F","Land_Cargo_Patrol_V1_F","Land_Cargo_Patrol_V2_F","Land_Cargo_Patrol_V3_F","Land_Bunker_F","Land_Airport_Tower_F","Land_i_Barracks_V1_F","Land_i_Barracks_V2_F","Land_u_Barracks_V2_F","Land_Barracks_03_F","Land_Barracks_04_F","Land_Barracks_05_F","Land_ControlTower_01_F","Land_GuardTower_01_F","Land_Bunker_02_light_double_F","Land_Bunker_02_light_left_F","Land_Bunker_02_left_F","Land_Bunker_02_double_F","Land_Bunker_02_light_right_F","Land_Bunker_02_right_F","Land_Radar_01_antenna_base_F","Land_Radar_01_HQ_F","Land_Bunker_01_big_F","Land_Bunker_01_HQ_F","Land_Bunker_01_small_F","Land_Bunker_01_tall_F","Land_Barracks_01_dilapidated_F","Land_BagBunker_Small_F","Land_BagBunker_01_small_green_F","Land_Barracks_01_grey_F","Land_BagBunker_large_F","Land_BagBunker_01_large_green_F","Land_BagBunker_01_tower_F","Land_BagBunker_Tower_F","Land_HBarrier_01_big_tower_green_F","Land_HBarrierTower_F","Land_Cargo_HQ_V4_F","Land_Cargo_Patrol_V4_F","Land_Cargo_Tower_V4_F","Land_PillboxBunker_01_big_F","Land_PillboxBunker_01_hex_F","Land_PillboxBunker_01_rectangle_F","land_gm_tower_bt_6_fuest_80","land_gm_euro_barracks_02","land_gm_euro_barracks_02_win"];
+// Buildings NEVER to garrison
+_badarrayA3 = [];
+
+//Debug mode. If ws_debug is globally defined it overrides _debug
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug};
+
+_buildings = [_pos,_radius] call ws_fnc_collectBuildings;
+_milarray = [];
+_badarray = [];
+_milbuildings = [];
+
+//Add buildings specific to the game version
+if !(ws_game_a3) then {
+ _milarray = _milarrayA2;
+ _badarray = _badarrayA2;
+};
+
+if (ws_game_a3) then {
+ _milarray = _milarrayA3;
+ _badarray = _badarrayA3;
+};
+
+//Remove undesired classes from the array and populate the array containg military buildings in the area
+{
+ if ((str(_x buildingpos 1) != "[0,0,0]") && typeof _x in _milarray) then {_milbuildings pushback (_x);_buildings = _buildings - [_x]};
+ if ((str(_x buildingpos 0) == "[0,0,0]") || (typeOf _x in _badarray)) then {_buildings = _buildings - [_x]};
+} foreach _buildings;
+
+_units = units _group;
+_group enableAttack false; // Prevent the group leader to issue attack orders to the members, improving their attack from buildings
+
+//Man the statics
+if (_guns) then {
+ _units = [_group, _radius] call ws_fnc_taskCrew;
+};
+
+// Fill bunkers etc
+if (count _milbuildings > 0 && count _units > 0 && _garrison) then {
+_units = [_units,_milbuildings,_mthreshold] call ws_fnc_enterbuilding;
+
+ if (_debug) then {{_mkr = createMarker [format ["%1-bpos",_x],_x];_mkr setMarkerSize [0.4,0.4];_mkr setMarkerType "mil_dot";_mkr setMarkerColor "ColorWhite";}forEach _milbuildings;};
+};
+
+//Take position in regular buildings
+if (count _buildings > 0 && count _units > 0 && _civil) then {
+_units = [_units,_buildings,_cthreshold] call ws_fnc_enterbuilding;
+ if (_debug) then {{_mkr = createMarker [format ["%1-bpos",_x],_x];_mkr setMarkerSize [0.4,0.4];_mkr setMarkerType "mil_dot";_mkr setMarkerColor "ColorWhite";}forEach _buildings;};
+};
+
+// Give HOLD waypoint to ensure units focus on defending
+
+//If there's one unit left they either patrol or hold the area.
+if (count _units >= 1) then {
+ _group = createGroup (side (_units select 0));
+ _units joinSilent _group;
+ if (random 1 > 0.5) then {[_group,_pos,["hold",_radius]] call ws_fnc_addWaypoint;} else {
+ [_group,_pos,["patrol",_radius]] call ws_fnc_addWaypoint;
+ };
+};
+
+_units
diff --git a/ws_fnc/AI/fn_taskLand.sqf b/ws_fnc/AI/fn_taskLand.sqf
new file mode 100644
index 000000000..beb1ac80d
--- /dev/null
+++ b/ws_fnc/AI/fn_taskLand.sqf
@@ -0,0 +1,143 @@
+/* ws_fnc_taskLand
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Based on a script made by Head
+
+FEATURE
+Prompts a Helicopter to land a certain location. It will ignore enemy fire as best as possible.
+If it has units in cargo it'll wait until all are out, if it is empty,
+it'll wait for the designated time or until all cargo seats are filled.
+Afterwards it will move to the designated location.
+
+RETURNS
+true - after helicopter has taken off again
+
+NOTE
+Function should only be spawned where helicopter is local
+
+USAGE
+Minimal:
+[helicopter,landing position] spawn ws_fnc_taskLand;
+Full:
+[helicopter,landing position,wait time,extract position] spawn ws_fnc_taskLand;
+
+PARAMETERS
+1. The helicopter | MANDATORY
+2. The position to land on | MANDATORY - can be marker, object or positional array
+3. The max. time to wait after touching ground | OPTIONAL - any number (default: 15s)
+4. The position to move to after landing | OPTIONAL - can be marker, object or positional array (default: helo starting position)
+
+EXAMPLE
+[VehAAF_H,"mkrLand"] spawn ws_fnc_taskLand; - would cause the helicopter named "VehAAF_H" to take off, fly towards the marker named "mkrLand" and move back to it's starting spot
+
+nul = [vehicle (leader group this),position this,30,"mkrExtract"] spawn ws_fnc_taskLand; - in the on Act. Field of a WP would cause the helicopter to land at the WP's center, wait for up to 30s and then move to the marker named "mkrExtract". I'd suggest to give the WP an activation radius of at least 200.
+*/
+
+if !(ws_game_a3) exitWith {["ws_fnc_taskLand:",[]," Must be ARMA 3!"] call ws_fnc_debugtext};
+
+private ["_debug","_pilot","_grp","_hp","_wp"];
+
+// Debug. If ws_debug is globally defined it overrides _debug
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug};
+
+// Parse parameters
+params [
+ ["_helo", objNull, [objNull]],
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_wait", 15, [0]],
+ ["_extract", "", ["", objNull, []]]
+];
+
+_pos = _pos call ws_fnc_getEpos;
+if (_extract isEqualTo "") then {
+ _extract = getPosATL _helo;
+};
+
+if !(_helo isKindOf "Helicopter") exitWith {["ws_fnc_taskLand:",[_helo]," must be a helicopter!"] call ws_fnc_debugtext};
+
+// Set other variables
+_pilot = driver _helo;
+_grp = group _pilot;
+
+// Exit if the helicopter is called where it isn't local
+if !(local _pilot) exitWith {
+ if (_debug) then {["ws_fnc_taskLand: Helo ",[_helo]," is not local!"] call ws_fnc_debugtext};
+};
+
+// Get helicopter to move towards the position
+_helo doMove _pos;
+
+// Wait until the helo is within 150 m of the landing zone
+while {canMove _helo && (alive _helo ) && (getPosATL _helo) distance _pos > 150} do {
+ sleep 1;
+ if (_debug) then {["ws_fnc_taskLand: Waiting for ",[_helo]," to be in distance"] call ws_fnc_debugtext};
+};
+
+//If helo has been downed exit script, otherwise begin landing
+if (!canMove _helo || !alive _helo || !alive _pilot) exitWith {
+ if (_debug) then {["ws_fnc_taskLand: Helo or Pilot: ",[_helo,_pilot]," dead or immobile, exiting"] call ws_fnc_debugtext};
+};
+
+// Set up helicopter
+// NOTE: experiment with dis-/enabling stuff here, to achieve the ideal landing w/o gimping AI too much
+_pilot disableai "AUTOTARGET"; _pilot disableai "TARGET";
+_grp enableAttack false;
+//_pilot setBehaviour "CARELESS";
+_pilot allowFleeing 0;
+
+// Create an invisible helipad at a good location for the helicopter
+_hp = "Land_HelipadEmpty_F" createVehicleLocal (_pos findEmptyPosition [0,100,typeOf _helo]);
+
+// Begin landing
+while {canMove _helo && alive _helo && !(unitReady _helo)} do
+{
+ sleep 1;
+ if (_debug) then {["ws_fnc_taskLand: Waiting for ",[_helo]," to be ready"] call ws_fnc_debugtext};
+};
+
+//If helo has been downed exit script, otherwise begin landing
+if (!canMove _helo || !alive _helo || !alive _pilot) exitWith {
+ if (_debug) then {["ws_fnc_taskLand: Helo or Pilot: ",[_helo,_pilot]," dead or immobile, exiting"] call ws_fnc_debugtext};
+};
+
+_helo land "GET IN";
+
+if (_debug) then {["ws_fnc_taskLand:",[_helo]," landing."] call ws_fnc_debugtext};
+
+waituntil {isTouchingGround _helo};
+if (_debug) then {["ws_fnc_taskLand:",[_helo]," touched ground."] call ws_fnc_debugtext};
+
+// If cargo is onboard wait until all are out
+if (count (assignedCargo _helo) > 0) then {
+ if (_debug) then {["ws_fnc_taskLand:",[_helo]," waiting for cargo to get out."] call ws_fnc_debugtext};
+
+ {
+ doGetOut _x;
+ unassignVehicle _x
+ } foreach assignedCargo _helo;
+
+ sleep 1;
+
+ waituntil {_helo emptyPositions "Cargo" == (getNumber(configfile >> "CfgVehicles" >> typeof _helo >> "transportSoldier"))};
+
+// Otherwise wait until the designated time or all seats are filled
+} else {
+ if (_debug) then {["ws_fnc_taskLand:",[_helo,_wait]," waiting designated time."] call ws_fnc_debugtext};
+ for "_i" from 1 to _wait do {
+ if (_helo emptyPositions "Cargo" == 0) exitWith {};
+ sleep 1;
+ };
+};
+
+// Take off
+if (_debug) then {["ws_fnc_taskLand:",[_helo]," taking off."] call ws_fnc_debugtext};
+
+_helo land "NONE";
+_wp = [_grp,_extract,["TR UNLOAD"]] call ws_fnc_addWayPoint;
+_grp setCurrentWaypoint _wp;
+deleteVehicle _hp;
+
+// Re-Enable normal pilot behaviour
+_pilot enableai "AUTOTARGET"; _pilot enableai "TARGET";
+_grp enableAttack true;
+
+true
diff --git a/ws_fnc/Dbg/fn_clipboardcode.sqf b/ws_fnc/Dbg/fn_clipboardcode.sqf
new file mode 100644
index 000000000..f24e141ca
--- /dev/null
+++ b/ws_fnc/Dbg/fn_clipboardcode.sqf
@@ -0,0 +1,11 @@
+//ws_fnc_clipboardcode
+//run code from clipboard
+//call ws_fnc_clipboardcode
+
+private ["_code","_error"];
+
+_code = copyFromClipboard;
+_error = [_code,["STRING","CODE"],"ws_fnc_clipboardcode"] call ws_fnc_typecheck;
+if (_error) exitWith {["ws_fnc_clipboardcode DBG: ",_code," invalid. exiting."] call ws_fnc_debugtext};
+["ws_fnc_clipboardcode DBG: ",_code," executing."] call ws_fnc_debugtext;
+[] spawn (compile _code);
diff --git a/ws_fnc/Dbg/fn_copypos.sqf b/ws_fnc/Dbg/fn_copypos.sqf
new file mode 100644
index 000000000..9c561caeb
--- /dev/null
+++ b/ws_fnc/Dbg/fn_copypos.sqf
@@ -0,0 +1,3 @@
+private _pos = [(getposASL player) select 0,(getposASL player) select 1,(getposATL player) select 2];
+copyToClipboard format ["%1",_pos];
+["ws_fnc_copyPos: ",_pos," copied!"] call ws_fnc_debugtext;
diff --git a/ws_fnc/Dbg/fn_countUnits.sqf b/ws_fnc/Dbg/fn_countUnits.sqf
new file mode 100644
index 000000000..8e14e2c24
--- /dev/null
+++ b/ws_fnc/Dbg/fn_countUnits.sqf
@@ -0,0 +1,9 @@
+private ["_uw","_ue","_ur","_up"];
+
+_uw = {side _x == west && alive _x && !isPlayer _x} count allUnits;
+_ue = {side _x == east && alive _x && !isPlayer _x} count allUnits;
+_ur = {side _x == resistance && alive _x && !isPlayer _x} count allUnits;
+_up = {isPlayer _x} count allUnits;
+
+player globalchat format ["Players: %1, Playable Units: %2, AI: BLU/%3, OPF/%4, RES/%5",_up,count playableUnits,_uw,_ue,_ur];
+diag_log format ["Players: %1, Playable Units: %2, AI: BLU/%3, OPF/%4, RES/%5",_up,count playableUnits,_uw,_ue,_ur];
diff --git a/ws_fnc/Dbg/fn_debugText.sqf b/ws_fnc/Dbg/fn_debugText.sqf
new file mode 100644
index 000000000..277981684
--- /dev/null
+++ b/ws_fnc/Dbg/fn_debugText.sqf
@@ -0,0 +1,14 @@
+//ws_fnc_debugtext
+//dump variables into sidechat and rpt
+//["String",[array of variables],"String"] call ws_fnc_debugtext
+
+params [
+ ["_string1", ""],
+ ["_variables", ""],
+ ["_string2", ""]
+];
+
+private _text = _string1 + format [" %1 ",_variables] + _string2 + format [" - Time: %1 ms",diag_tickTime];
+
+systemchat _text;
+diag_log _text;
diff --git a/ws_fnc/Dbg/fn_debugTriggers.sqf b/ws_fnc/Dbg/fn_debugTriggers.sqf
new file mode 100644
index 000000000..060f4d385
--- /dev/null
+++ b/ws_fnc/Dbg/fn_debugTriggers.sqf
@@ -0,0 +1,44 @@
+//WS_fnc_debugTriggers
+//Creates various triggers to be used ingame. Does not need to run twice
+
+private _debug = false; if !(isNil "ws_debug") then {_debug = ws_debug};
+if !(_debug) exitWith {};
+if !(isNil "ws_dbg_trg") exitWith {};
+
+
+player allowDammage false;
+if (ws_game_a3) then {player addAction ["Start Camera","[] call bis_fnc_camera;",[],2,false,true,"","driver _target == _this"];} else {onMapSingleClick "player setPos _pos";};
+
+//Radio triggers to assist with debugging
+
+//Count units
+ws_dbg_trg=createTrigger["EmptyDetector",[0,0,0]];
+ws_dbg_trg setTriggerArea[0,0,0,false];
+ws_dbg_trg setTriggerActivation["GOLF","PRESENT",true];
+ws_dbg_trg setTriggerStatements["this", "call ws_fnc_countUnits", ""];
+ws_dbg_trg setTriggerText "Count units";
+
+//Copy player position
+ws_dbg_trg=createTrigger["EmptyDetector",[0,0,0]];
+ws_dbg_trg setTriggerArea[0,0,0,false];
+ws_dbg_trg setTriggerActivation["HOTEL","PRESENT",true];
+ws_dbg_trg setTriggerStatements["this", "call ws_fnc_copyPos", ""];
+ws_dbg_trg setTriggerText "Copy player position";
+
+//Clipboard code
+ws_dbg_trg=createTrigger["EmptyDetector",[0,0,0]];
+ws_dbg_trg setTriggerArea[0,0,0,false];
+ws_dbg_trg setTriggerActivation["INDIA","PRESENT",true];
+ws_dbg_trg setTriggerStatements["this", "call ws_fnc_clipboardcode", ""];
+ws_dbg_trg setTriggerText "execute code from clipboard";
+
+//Recompile
+ws_dbg_trg=createTrigger["EmptyDetector",[0,0,0]];
+ws_dbg_trg setTriggerArea[0,0,0,false];
+ws_dbg_trg setTriggerActivation["JULIET","PRESENT",true];
+if !(ws_game_a3) then {
+ws_dbg_trg setTriggerStatements["this", "ws_fnc_compiled = false;ws_fnc_compiled = false;publicVariable ""ws_fnc_compiled"";nul = [] execVM ""ws_fnc\ws_fnc_init.sqf"";", ""];
+} else {
+ws_dbg_trg setTriggerStatements["this", "ws_fnc_compiled = false;publicVariable ""ws_fnc_compiled"";[] call BIS_fnc_Recompile;", ""];
+};
+ws_dbg_trg setTriggerText "recompile all ws_fnc";
diff --git a/ws_fnc/Dbg/fn_typecheck.sqf b/ws_fnc/Dbg/fn_typecheck.sqf
new file mode 100644
index 000000000..fd0ca4d16
--- /dev/null
+++ b/ws_fnc/Dbg/fn_typecheck.sqf
@@ -0,0 +1,32 @@
+//ws_fnc_typecheck
+//[variable to check,[array of expected types],descriptive string] call ws_fnc_typecheck;
+//returns true when type is wrong or variable is nil
+
+private ["_typenames","_false_types","_error"];
+
+params [
+ ["_variable", nil],
+ ["_check_array", [], [[]]],
+ ["_scriptname", "", [""]]
+];
+
+ //All possible typenames. http://community.bistudio.com/wiki/typeName
+_typenames = ["ARRAY","BOOL","CODE","CONFIG","CONTROL","DISPLAY","GROUP","LOCATION","OBJECT","SCALAR","SCRIPT","SIDE","STRING","TEXT"];
+_false_types = _typenames - _check_array;
+_error = false;
+
+if (isNil {_variable}) exitWith {
+ player sidechat format ["ws_fnc_typecheck: ERROR. _variable %1 parsed by %2 is NIL when it should be in %3 !",_variable,_scriptname,_check_array];
+ diag_log format ["ws_fnc_typecheck: ERROR. _variable %1 parsed by %2 is NIL when it should be in %3 !",_variable,_scriptname,_check_array];
+ _error = true;
+};
+
+{
+ if (typename _variable == toUpper _x) then {
+ player sidechat format ["ws_fnc_typecheck: ERROR. _variable %1 parsed by %2 is %3 when it should be of %4 !",_variable,_scriptname,format ["%1",_x],_check_array];
+ diag_log format ["ws_fnc_typecheck: ERROR. _variable %1 parsed by %2 is %3 when it should be of %4 !",_variable,_scriptname,format ["%1",_x],_check_array];
+ _error = true;
+ };
+} forEach _false_types;
+
+_error
diff --git a/ws_fnc/README.md b/ws_fnc/README.md
new file mode 100644
index 000000000..c19ea6033
--- /dev/null
+++ b/ws_fnc/README.md
@@ -0,0 +1,21 @@
+ws_fnc for ArmA3
+==
+Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+**INTRODUCTION**
+
+This is a collection of various functions I have written and am writing for my Arma 3 missions.
+None of them are revolutionary but all of them have been designed with efficiency and performance in mind.
+The idea is to reduce the need for repetitive scripting as much as possible while avoiding the need for third-party scripts and the problems that come with that.
+I've also tried and comment everything as best as possible to make understanding the code easier.
+
+
+**SETUP & DOCUMENTANTION**
+
+Installation-guides and further documentation can be found on the wiki:
+https://github.com/Wolfenswan/ws_fnc/wiki
+
+* All major functions are documented in themselves. To see how they work open their .sqf with a text editor or their pages on github.
+
+* If you're running ArmA 3 then you can browse them from inside the editor by opening the function viewer (CTRL+F). Make sure to select "missionConfigFile" in the top-left drop-down menu.
+
diff --git a/ws_fnc/Tools/fn_checkHC.sqf b/ws_fnc/Tools/fn_checkHC.sqf
new file mode 100644
index 000000000..11eafa189
--- /dev/null
+++ b/ws_fnc/Tools/fn_checkHC.sqf
@@ -0,0 +1,25 @@
+/* ws_fnc_checkHC
+Checks whether client is headless client or not
+
+SETS
+- ws_var_isHC (bool) to true where client is HC
+- ws_var_HCs (array) contains all present HCs
+
+RETURNS
+true/false for HC/not-HC
+*/
+
+private _hc = false;
+ws_var_isHC = false;
+["ws_var_HCs",[],true] call ws_fnc_setGVar;
+
+if (!hasInterface && !isServer) then {
+ _hc = true;
+ ws_var_isHC=true;
+
+ if !(player in ws_var_HCs) then {
+ ws_var_HCs pushback (player); publicVariable "ws_var_HCs";
+ };
+};
+
+_hc
diff --git a/ws_fnc/Tools/fn_collectBuildings.sqf b/ws_fnc/Tools/fn_collectBuildings.sqf
new file mode 100644
index 000000000..b9bd49069
--- /dev/null
+++ b/ws_fnc/Tools/fn_collectBuildings.sqf
@@ -0,0 +1,69 @@
+/*ws_fnc_collectBuildings
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Collects all useable buildings (have building positions) in given radius
+
+USAGE
+Minimal
+[center,radius] call ws_fnc_collectBuildings
+
+Full
+[center,radius,bool,bool] call ws_fnc_collectBuildings
+
+PARAMETERS
+1. Center from where to check - can be marker, object, location | MANDATORY
+2. Radius in which to check - number | MANDATORY
+3. Flag whether to ignore buildings without building positions | OPTIONAL - default true
+4. Flag whether to directly assign an array containing all building positions to the building | OPTIONAL - default false
+
+RETURNS
+Array of useable buildings
+*/
+
+private ["_buildings","_bp"];
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_radius", 0, [0]],
+ ["_flag1", true, [true]],
+ ["_flag2", false, [false]]
+];
+
+_pos = _pos call ws_fnc_getEPos;
+
+_buildings = [];
+
+//Fill buildings array with classes shared by both games
+{
+ _buildings append nearestObjects [_pos,[_x],_radius];
+} forEach ["Fortress", "House","House_Small"];
+
+//Add buildings specific to the game version
+if !(ws_game_a3) then {
+ {
+ _buildings append nearestObjects [_pos,[_x],_radius];
+ } forEach ["Church"];
+} else
+
+{
+ {
+ _buildings append nearestObjects [_pos,[_x],_radius];
+ } forEach ["Ruins_F","BagBunker_base_F","Stall_base_F","Shelter_base_F"];
+};
+
+if (_flag1) then {
+ {
+ _bp = _x buildingPos 0;
+ if (str _bp == "[0,0,0]" || !(_bp isEqualType [])) then {_buildings = _buildings - [_x]};
+ } forEach _buildings;
+};
+
+if (_flag2) then {
+ {
+ [_x] call ws_fnc_getBPos;
+ } forEach _buildings;
+};
+
+
+_buildings
diff --git a/ws_fnc/Tools/fn_collectMarkers.sqf b/ws_fnc/Tools/fn_collectMarkers.sqf
new file mode 100644
index 000000000..a1c872bdb
--- /dev/null
+++ b/ws_fnc/Tools/fn_collectMarkers.sqf
@@ -0,0 +1,37 @@
+/*ws_fnc_collectMarkers
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Collect all existing markers based on the parsed naming scheme
+
+USAGE
+["markerName"] call ws_fnc_collectMarkers
+
+RETURNS
+Array of all existing markers
+
+PARAMETERS
+1. Marker name (string) - must be name all other markers are based on.
+
+EXAMPLE
+["mkrCache","mkrHouse"] call ws_fnc_collectMarkers - returns an array with all markers named mkrCache and mkrHouse ["mkrCache","mkrCache_1","mkrCache_2","mkrHouse_Defend","mkrHouse_Hold"]
+*/
+
+private ["_arr", "_marker"];
+
+_arr = [];
+
+if (!(_this isEqualType [])) then {
+ _this = [_this];
+};
+
+{
+ _marker = _x;
+ {
+ if (_x find _marker != -1) then {
+ _arr append [_x];
+ };
+ } forEach allMapMarkers;
+} forEach _this;
+
+_arr
diff --git a/ws_fnc/Tools/fn_collectObjects.sqf b/ws_fnc/Tools/fn_collectObjects.sqf
new file mode 100644
index 000000000..033f401f0
--- /dev/null
+++ b/ws_fnc/Tools/fn_collectObjects.sqf
@@ -0,0 +1,36 @@
+/*ws_fnc_collectObjects
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Collects all existing objects that contain the strings parsed.
+
+NOTE
+This command can be taxing in missions with a lot of objects. Use collectObjectsNum alternatively.
+
+USAGE
+["Name1","Name2"] call ws_fnc_collectObjects
+
+RETURNS
+Array of all existing objects that share the name
+
+PARAMETERS
+String - must be part of all object names that should be collected
+
+EXAMPLE
+["Cache","Church"] call ws_fnc_collectObjects - returns an array with all objects with "Cache" and "Church" in their name: [Cache,Cache_1,Cache_2,Church_Attack,Church_Hold]
+*/
+
+private ["_arr", "_obj"];
+
+_arr = [];
+
+{
+ _obj = _x;
+ {
+ if (((format ["%1",_x]) find _obj) != -1) then {
+ _arr append [_x];
+ };
+ } forEach allMissionObjects "ALL";
+} forEach _this;
+
+_arr
diff --git a/ws_fnc/Tools/fn_collectObjectsNum.sqf b/ws_fnc/Tools/fn_collectObjectsNum.sqf
new file mode 100644
index 000000000..55c1c0cb6
--- /dev/null
+++ b/ws_fnc/Tools/fn_collectObjectsNum.sqf
@@ -0,0 +1,49 @@
+/*ws_fnc_collectObjectsNum
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Collects all existing objects that are copies of the original, as indicated by an appended number (Obj,Obj_1,Obj_2 etc.)
+
+USAGE
+[Object1,Object2] call ws_fnc_collectObjectsNum
+
+RETURNS
+Array of all existing objects that share the name
+
+PARAMETERS
+Objects - must be existing and the original object on which the copies are based on
+
+EXAMPLE
+[Cache,Church] call ws_fnc_collectObjectsNum - returns an array with all objects with "Cache" and "Church" and those following in a numeric order: [Cache,Cache_1,Cache_2,Church,Church_1,Church_2]
+*/
+
+private ["_arr", "_i", "_obj"];
+
+_arr = [];
+
+//Start the loop
+_i = 0;
+
+if (!(_this isEqualType [])) then {
+ _this = [_this];
+};
+
+{
+ while {true} do {
+ _obj = "";
+
+ if (_i > 0) then {
+ _obj = format ["%1_%2",_x,_i];
+ } else {
+ _obj = format ["%1",_x];
+ };
+
+ if (isNil _obj || _i > 500) exitWith {_i = 0;};
+
+ // If the object exists, add it to the array
+ call compile format ["_arr append [%1]",_obj];
+ _i = _i + 1;
+ };
+} forEach _this;
+
+_arr
diff --git a/ws_fnc/Tools/fn_gamecheck.sqf b/ws_fnc/Tools/fn_gamecheck.sqf
new file mode 100644
index 000000000..84ab278c9
--- /dev/null
+++ b/ws_fnc/Tools/fn_gamecheck.sqf
@@ -0,0 +1,34 @@
+/*ws_fnc_gameCheck
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Checks whether A2:CO or A3 is running
+
+USAGE
+[] call ws_fnc_gameCheck
+
+RETURNS
+"a2" for ARMA2 (all versions)
+"a3" for ARMA3
+*/
+
+private _game = productVersion; //if productversion doesn't work we're on a A2 version <1.62
+if (isNil "_game") then {
+ _game = "a2";
+} else {
+ if (_game select 1 != "ARMA3") then {
+ _game = "a2";
+ } else {
+ _game = "a3";
+ };
+};
+
+if (isNil "ws_game_a3") then {
+ switch (_game) do {
+ case "a2": {ws_game_a3 = false;};
+ case "a3": {ws_game_a3 = true;};
+ };
+ publicVariable "ws_game_a3";
+};
+
+_game
diff --git a/ws_fnc/Tools/fn_getObjectClasses.sqf b/ws_fnc/Tools/fn_getObjectClasses.sqf
new file mode 100644
index 000000000..3e01700bd
--- /dev/null
+++ b/ws_fnc/Tools/fn_getObjectClasses.sqf
@@ -0,0 +1,16 @@
+/* ws_fnc_getObjectClasses
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Returns array of object classes
+
+USAGE
+[objects] call ws_fnc_getObjectClasses
+
+*/
+
+params[
+ ["_objects", [], [[]]]
+];
+
+_objects apply {typeOf _x}
diff --git a/ws_fnc/Tools/fn_isWallInDir.sqf b/ws_fnc/Tools/fn_isWallInDir.sqf
new file mode 100644
index 000000000..05d80d871
--- /dev/null
+++ b/ws_fnc/Tools/fn_isWallInDir.sqf
@@ -0,0 +1,43 @@
+/* ws_fnc_isWallInDir
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Checks if object is facing a building wall in given direction, distance and height
+
+USAGE
+Minimal
+[Object,direction] call ws_fnc_isWallInDir
+
+Full
+[Object,direction,distance,height] call ws_fnc_isWallInDir
+
+PARAMETERS
+1. Unit or Object | Mandatory - any object, uses eyepos for "CAMANBASE"
+2. Direction | Mandatory - 0 - 360
+3. Distance | Optional - default 15m
+4. Height | Optional - default 0m
+
+RETURNS
+bool - true if unit is facing a wall, false if unit is outside or facing a window
+
+EXAMPLES
+[TestUnit,GetDir TestUnit] ws_fnc_isWallInDir - returns true if TestUnit is facing a wall
+[TestUnit,0,0,25] ws_fnc_isWallInDir - returns true if TestUnit is under a roof
+*/
+
+private ["_pos","_relpos","_posASL","_intersects"];
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_dir", 0, [0]],
+ ["_dis", 15, [0]],
+ ["_height", 0, [0]]
+];
+
+_pos = getPos _obj;
+_posASL = if (_obj isKindOF "CAMANBASE") then [{eyePos _obj},{GetPosASL (_obj)}];
+
+_relpos = [_pos select 0,_pos select 1,(_pos select 2) + _height] getPos [_dis, _dir];
+
+_intersects = lineIntersectsObjs [_posASL,ATLTOASL _relpos];
+if (count _intersects > 0 && {(({(_x isKindOf "HouseBase" || _x isKindOf "BagBunker_base_F")} count _intersects) > 0)}) then [{true},{false}];
diff --git a/ws_fnc/Tools/fn_listPlayers.sqf b/ws_fnc/Tools/fn_listPlayers.sqf
new file mode 100644
index 000000000..78ca4af1d
--- /dev/null
+++ b/ws_fnc/Tools/fn_listPlayers.sqf
@@ -0,0 +1,14 @@
+/*
+ws_fnc_listPlayers
+
+FEATURE
+Lists all players
+
+USAGE
+[] call ws_fnc_listPlayers
+
+RETURNS
+array containing all players
+*/
+
+playableUnits select {isPlayer _x}
diff --git a/ws_fnc/Tools/fn_loadVehicle.sqf b/ws_fnc/Tools/fn_loadVehicle.sqf
new file mode 100644
index 000000000..1013e7067
--- /dev/null
+++ b/ws_fnc/Tools/fn_loadVehicle.sqf
@@ -0,0 +1,155 @@
+/* ws_fnc_loadVehicle
+Latest: 12.11.2014
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Based on my work for the F3 preMount component
+
+FEATURE
+loads units of specified group(s) into vehicle, filling all important positions before cargo is filled
+units that are already in a vehicle are ignored
+
+USAGE
+Minimal:
+[[veh1],["Grp1","Grp2"]] call ws_fnc_loadVehicle
+
+Full:
+[[veh1],["Grp1","Grp2"],boolean,boolean] call ws_fnc_loadVehicle
+
+RETURNS
+Groups that weren't loaded. If all groups were loaded an empty array is returned
+*/
+
+// ====================================================================================
+
+// SET KEY VARIABLES
+// Using the arguments passed to the script, we first define some local variables.
+
+params [
+ ["_vehs", [], [[]]], // Array of vehicles (objects)
+ ["_grps", [], [[]]], // Array of group names (as strings)
+ ["_crew", true, [true]], // Mount into crew positions? (optional - default:true)
+ ["_fill", false, [false]] // Ignore fireteam cohesion in favor of filling vehicles? (optional - default:false)
+];
+// ====================================================================================
+
+// CLEAN THE GROUP ARRAY
+// First we check if there are illegal groups (non-existent) in the array and remove them.
+
+_grps = _grps select {! (isNil _x)};
+
+// ====================================================================================
+
+// PROCESS GROUPS
+// Check the passed groups to make sure none of them is empty and they have at least one unit that's not inside a vehicle
+
+_grps = _grps apply { call compile format ["%1",_x] };
+_grps = _grps select { {isNull (assignedVehicle _x)} count (units _x) > 0 };
+
+// ====================================================================================
+
+// PROCESS VEHICLES
+// We make sure that there are only vehicles in the vehicle array
+// If a soldier-unit is in the array then we check if we can use the vehicle he's in
+{
+ if (_x isKindOf "CAManBase") then {
+ if (vehicle _x != _x) then {
+ _vehs set [_forEachIndex,vehicle _x];
+ } else {
+ _vehs = _vehs - [_x];
+ };
+ };
+} forEach _vehs;
+
+// ====================================================================================
+
+// CHECK ARRAY COUNT
+// If any of the arrays is empty we don't need to execute the function and exit with a warning message.
+
+if (count _vehs == 0 || count _grps == 0) exitWith {
+ private _error = format ["f_fnc_preMount DBG: No vehicles and/or groups were parsed! _vehicles: %1,_grps: %2",_vehs,_grps];
+ player globalchat _error;
+ diag_log _error;
+};
+
+// ====================================================================================
+
+// MOUNT UNITS
+// We loop through all vehicles and assign crew & cargo accordingly
+
+{
+ private ["_veh","_grpsT","_emptyPositions","_vehicleRoles"];
+ _veh = _x;
+
+ // Calculate the number of spare seats
+ _emptyPositions = [typeOf _veh,true] call BIS_fnc_crewCount; // Count all available slots(this includes co-pilot, commander, main-gunner etc.)
+ _emptyPositions = _emptyPositions - (count crew _veh); // Substract number of crew already present in the vehicle
+ _vehicleRoles = (typeOf _veh) call bis_fnc_vehicleRoles; // All available roles for the vehicle
+
+ // Temporary group array
+ _grpsT = _grps;
+ // As long there are spare seats and groups left
+
+ while {_emptyPositions > 0 && count _grpsT > 0 && locked _veh != 2} do {
+
+ private ["_grp","_units","_run","_unit"];
+
+ _grp = _grpsT select 0;
+ _units = units _grp;
+ _run = true;
+ _unit = _units select 0;
+
+ // If fireteam cohesion should be kept count the available vehicle slots, compared to the units in the group that would need a seat
+ if (!_fill && {{isNull assignedVehicle _x} count _units > _emptyPositions}) then {
+
+ _run = false;
+
+ //Remove groups that would need to be split up
+ _grpsT = _grpsT - [_grp];
+ };
+
+ if (_run) then {
+
+ // Loop through all vehicle roles and place the units in them accordingly
+ {
+ _x params ["_slot","_path"];
+
+ // If the slot is not a cargo slot and crew should be slotted
+ if (_crew && {_slot != "CARGO" && isNull assignedVehicle _unit}) then{
+ if (_slot == "Driver" && (_veh emptyPositions "Driver") > 0 && !(lockedDriver _veh)) exitWith {_unit assignAsDriver _veh;_unit moveInDriver _veh;};
+ if (_slot == "Turret" && !(_veh lockedTurret _path) && isNull (_veh TurretUnit _path)) exitWith {_unit assignAsTurret [_veh,_path];_unit moveInTurret [_veh,_path];};
+ };
+
+ if (_slot == "CARGO" && isNull assignedVehicle _unit && !(_veh lockedCargo (_path select 0))) then {
+ _unit assignAsCargo _veh; _unit moveInCargo _veh;
+ };
+
+ // If the unit was assigned, remove it so we can use the next unit. If it wasn't, use it again to find a useable seat
+ if (!isNull (assignedVehicle _unit)) then {
+ _units = _units - [_unit];
+ };
+
+ // If no units are left, exit
+ if (count _units == 0) exitWith {};
+
+ } forEach _vehicleRoles;
+
+ // Remove the processed group from the temporary array
+ _grpsT = _grpsT - [_grp];
+ };
+
+ // Check if all units in the group have been assigned a vehicle, remove group from both group arrays
+ if ({isNull assignedVehicle _x} count (units _grp) == 0) then {_grpsT = _grpsT - [_grp];_grps = _grps - [_grp]};
+
+ if (count _grpsT == 0) exitWith {};
+
+ // Recalculate the remaining seats on the vehicle
+ _emptyPositions = [typeOf _veh,true] call BIS_fnc_crewCount; // Count all available slots(this includes co-pilot, commander, main-gunner etc.)
+ _emptyPositions = _emptyPositions - (count crew _veh); // Substract number of crew already present in the vehicle
+ };
+
+} forEach _vehs;
+
+// ====================================================================================
+
+// OUTPUT
+// We return all groups that weren't fully loaded
+_grps
diff --git a/ws_fnc/Tools/fn_nearPlayer.sqf b/ws_fnc/Tools/fn_nearPlayer.sqf
new file mode 100644
index 000000000..7352374e9
--- /dev/null
+++ b/ws_fnc/Tools/fn_nearPlayer.sqf
@@ -0,0 +1,34 @@
+/*
+ws_fnc_nearPlayer
+Latest: 15.01.2014
+
+Based on CBA_fnc_listPlayer
+
+FEATURE
+Checks if player is within distance of unit
+
+USAGE
+[unit,distance] call ws_fnc_nearPlayer
+
+PARAMETERS
+1. Entitiy to be checked from | MANDATORY
+2. Distance to unit to be checked for player | MANDATORY
+
+RETURNS
+true or false
+*/
+
+params [
+ ["_ent", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_distance", 0, [0]]
+];
+
+private ["_pos","_players"];
+
+_pos = _ent call ws_fnc_getEPos;
+_players = [] call ws_fnc_listPlayers;
+
+{
+ if (_pos distance _x < _distance) exitWith {true};
+ false
+} forEach _players;
diff --git a/ws_fnc/Tools/fn_setGVar.sqf b/ws_fnc/Tools/fn_setGVar.sqf
new file mode 100644
index 000000000..8d86ebc8a
--- /dev/null
+++ b/ws_fnc/Tools/fn_setGVar.sqf
@@ -0,0 +1,45 @@
+/*ws_fnc_setGVar
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+FEATURE
+Sets a global variable to the passed value. If the variable is nil it is initialized
+
+USAGE
+Minimal
+["variable",value] call ws_fnc_setGVar
+
+Full
+["variable",value,bool,bool] call ws_fnc_setGVar
+
+PARAMETERS
+1. Variable to check | MANDATORY - string
+2. Value to set if variable is nil | MANDATORY - any value
+3. Whether to pub-var the variable after it was set | OPTIONAL - bool (default: false)
+4. Whether to set the variable even if it is not nil | OPTIONAL - bool (default: false)
+
+RETURNS
+nothing
+*/
+
+private ["_debug"];
+
+params [
+ ["_var", "", [""]],
+ ["_val", 0],
+ ["_pub", false, [false]],
+ ["_force", false, [false]]
+];
+
+_debug = if !(isNil "ws_debug") then [{ws_debug},{false}];
+
+if (!isNil _var && !_force) exitWith {
+ if (_debug) then {
+ ["ws_fnc_setGVar: Passed var is not nil:",[_var,_val],""] call ws_fnc_debugText;
+ };
+};
+
+call compile Format ["%1 = %2",_var,_val];
+
+if (_pub) then {
+ call compile format ["publicVariable '%1'",_var];
+};
diff --git a/ws_fnc/Tools/fn_showFPS.sqf b/ws_fnc/Tools/fn_showFPS.sqf
new file mode 100644
index 000000000..1187740e6
--- /dev/null
+++ b/ws_fnc/Tools/fn_showFPS.sqf
@@ -0,0 +1,22 @@
+// ws_fnc_showFPS
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+/*
+FEATURE
+Display FPS in hint window
+
+USAGE
+[] call ws_fnc_showFPS
+[time in seconds] call ws_fnc_showFPS
+
+PARAMETERS
+1. Time for the FPS to be measured | OPTIONAL - default is 60 seconds
+
+NOTE
+ARMA 3 only
+*/
+
+params [
+ ["_time", 60, [0]]
+];
+
+[_time,[format ["%1",name player]]] call BIS_fnc_FPS;
diff --git a/ws_fnc/config.hpp b/ws_fnc/config.hpp
new file mode 100644
index 000000000..7f61b8068
--- /dev/null
+++ b/ws_fnc/config.hpp
@@ -0,0 +1,78 @@
+class WS
+ {
+
+ class debug
+ {
+ file = "ws_fnc\Dbg";
+ class debugText {};
+ class typeCheck {};
+ class clipboardCode {};
+ class copyPos {};
+ class countUnits {};
+ class debugTriggers {postInit = 1;};
+ };
+ class tools
+ {
+ file = "ws_fnc\tools";
+ class gameCheck {preInit=1;};
+ class collectMarkers {};
+ class collectObjects {};
+ class collectObjectsNum {};
+ class collectBuildings {};
+ class loadVehicle {};
+ class checkHC {};
+ class showFPS {};
+ class nearPlayer {};
+ class listPlayers {};
+ class setGVar {};
+ class isWallInDir {};
+ class getObjectClasses {};
+ };
+ class effects
+ {
+ file = "ws_fnc\effects";
+ class createTripflare {};
+ class createLightning {};
+ class createCAS {};
+ class createOrdnance {};
+ };
+ class misc
+ {
+ file = "ws_fnc\misc";
+ class switchLights {};
+ class attachLight {};
+ class attachChem {};
+ class attachIR {};
+ class broadcast {};
+ class showIntro {};
+ };
+ class getPos
+ {
+ file = "ws_fnc\getPos";
+ class getPos {};
+ class getBPos {};
+ class getEPos {};
+ class nearestRoadPos {};
+ class nearestLandPos {};
+ class getPosInArea {};
+ };
+ class AI
+ {
+ file = "ws_fnc\AI";
+ class createGroup {};
+ class createVehicle {};
+ class createGarrison {};
+ class betterVehicle {};
+ class enterBuilding {};
+ class taskDefend {};
+ class taskCrew {};
+ class taskAmbush {};
+ class taskArtilleryFire {};
+ class taskLand {};
+ class taskConvoy {};
+ class addWaypoint {};
+ class setAIMode {};
+ class setInsidePos {};
+ };
+
+ };
diff --git a/ws_fnc/description.ext b/ws_fnc/description.ext
new file mode 100644
index 000000000..c193f2482
--- /dev/null
+++ b/ws_fnc/description.ext
@@ -0,0 +1,4 @@
+class CfgFunctions
+{
+ #include "ws_fnc\config.hpp"
+};
\ No newline at end of file
diff --git a/ws_fnc/effects/fn_createCAS.sqf b/ws_fnc/effects/fn_createCAS.sqf
new file mode 100644
index 000000000..7d859322c
--- /dev/null
+++ b/ws_fnc/effects/fn_createCAS.sqf
@@ -0,0 +1,45 @@
+/*ws_fnc_createCAS
+
+FEATURE
+Creates a CAS run at the given location
+
+USAGE
+MinimaL:
+[position,direction] call ws_fnc_createCAS
+
+PARAMETERS
+1. Center of CAS run (can be unit, marker or position) | MANDATORY
+2. Direction for CAS to strafe towards | MANDATORY
+3. Type of CAS run. 0: Guns only. 1: Rockets only. 2: Both. | OPTIONAL - default is 0
+4. Class of CAS plane to send. | OPTIONAL - default is Wipeout
+
+RETURNS
+true
+*/
+
+private ["_dummy"];
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_dir", 0, [0]],
+ ["_type", 0, [0]],
+ ["_class", "B_Plane_CAS_01_F", [""]]
+];
+
+_pos = _pos call ws_fnc_getEpos;
+
+_dummy = "LaserTargetCBase" createVehicle _pos;
+_dummy enableSimulationGlobal false; _dummy hideObjectGlobal true;
+_dummy setVariable ["vehicle",_class];
+_dummy setVariable ["type",_type];
+_dummy setDir _dir;
+
+[_dummy,nil,true] call BIS_fnc_moduleCAS;
+
+[_dummy] spawn {
+ params [["_object", objNull, [objNull]]];
+ sleep 10;
+ deleteVehicle _object;
+};
+
+true
diff --git a/ws_fnc/effects/fn_createLightning.sqf b/ws_fnc/effects/fn_createLightning.sqf
new file mode 100644
index 000000000..9fd43f257
--- /dev/null
+++ b/ws_fnc/effects/fn_createLightning.sqf
@@ -0,0 +1,31 @@
+/*ws_fnc_createLightning
+
+FEATURE
+Creates a ZEUS lighting at the given location
+
+USAGE
+position call ws_fnc_createLightning
+
+PARAMETERS
+1. Center of Lightning strike (can be unit, marker or position) | MANDATORY
+
+RETURNS
+true
+*/
+
+private ["_pos","_dummy"];
+
+_pos = _this call ws_fnc_getEPos;
+
+_dummy = "LaserTargetCBase" createVehicle _pos;
+_dummy enableSimulationGlobal false; _dummy hideObjectGlobal true;
+
+[_dummy,nil,true] call BIS_fnc_moduleLightning;
+
+[_dummy] spawn {
+ params [["_object", objNull, [objNull]]];
+ sleep 10;
+ deleteVehicle _object;
+};
+
+true
diff --git a/ws_fnc/effects/fn_createOrdnance.sqf b/ws_fnc/effects/fn_createOrdnance.sqf
new file mode 100644
index 000000000..e39ca92b9
--- /dev/null
+++ b/ws_fnc/effects/fn_createOrdnance.sqf
@@ -0,0 +1,44 @@
+/*ws_fnc_createOrdnance
+
+FEATURE
+Creates Ordnance over the given area
+
+USAGE
+[position,type] call ws_fnc_createOrdnance
+
+PARAMETERS
+1. Center of ordnance strike (can be unit, marker or position) | MANDATORY
+2. Class of ordnance - any type of artillery ammo | MANDATORY
+
+AMMO TYPES (examples):
+"Sh_82mm_AMOS" - HE mortar
+"Sh_155mm_AMOS_LG" - 155mm artillery
+"R_230mm_HE" - 230mm HE rocket
+
+RETURNS
+true
+*/
+
+private ["_dummy"];
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_class", "", [""]]
+];
+
+_pos = _pos call ws_fnc_getEpos;
+
+_dummy = "LaserTargetCBase" createVehicle _pos;
+_dummy enableSimulation false;
+_dummy hideObject true;
+_dummy setVariable ["type",_class];
+
+[_dummy,nil,true] call BIS_fnc_moduleProjectile;
+
+[_dummy] spawn {
+ params [["_object", objNull, [objNull]]];
+ sleep 10;
+ deleteVehicle _object;
+};
+
+true
diff --git a/ws_fnc/effects/fn_createTripflare.sqf b/ws_fnc/effects/fn_createTripflare.sqf
new file mode 100644
index 000000000..2c02175cb
--- /dev/null
+++ b/ws_fnc/effects/fn_createTripflare.sqf
@@ -0,0 +1,44 @@
+/* ws_fnc_createTripflare
+
+FEATURE
+Creates illuminated smoke at position
+
+USAGE
+[position,color] spawn ws_fnc_createTripflare
+
+PARAMETERS
+1. position at which to spawn the flare | MANDATORY - object, array [x,y,z] or marker
+2. color of the smoke | MANDATORY - "red", "green","yellow" or "white"
+
+NOTE
+Function does not check for locality. Wrap your call in an isServer etc. clause if necessary.
+
+EXAMPLE
+if (isServer) then {[thisTrigger,"red"] spawn ws_fnc_createTripflare}; - in a trigger's on activation field will create a tripflare at the trigger's center when the trigger's conditions have been met
+*/
+
+private ["_smk"];
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_color", "", [""]]
+];
+
+_pos = _pos call ws_fnc_getEpos;
+_color = toLower _color;
+
+if !(_color in ["green","red","yellow","white"]) exitWith {["ws_fnc_tripFlare DBG: ",[_color]," is not one of: [""green"",red","yellow","white""]"] call ws_fnc_debugtext};
+
+(format ["F_40mm%1","_"+_color]) createVehicle _pos;
+uisleep 0.5;
+if (_color == "white") then {_color =""};
+_smk = (format ["Smokeshell%1",_color]) createVehicle _pos;
+_smk setVectorUp [1,0,0];
+
+while {!isNull _smk} do {
+ uisleep 21.5; // A flare takes roughly 25seconds to die off. As there's a delay between creating and illumination, the sleep is slightly shorter
+ if (!isNull _smk) then {
+ (format ["F_40mm%1","_"+_color]) createVehicle _pos;
+ };
+ uisleep 0.01;
+};
diff --git a/ws_fnc/getPos/fn_NearestLandPos.sqf b/ws_fnc/getPos/fn_NearestLandPos.sqf
new file mode 100644
index 000000000..c9234ecc8
--- /dev/null
+++ b/ws_fnc/getPos/fn_NearestLandPos.sqf
@@ -0,0 +1,39 @@
+/* ws_fnc_NearestLandPos
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+USAGE
+[pos] call ws_fnc_NearestLandPos
+[pos,distance,increment] call ws_fnc_NearestLandPos
+
+FEATURE
+Return nearest pos on dry land in distance x (default 10), If no position is found increase by increment x (default 50)
+If no dry land in radius increment*50 is found the original position is returned and an error put out.
+
+RETURNS
+positional array
+*/
+
+private ["_i","_done","_pos2"];
+
+params [
+ ["_pos", [0,0,0], [[]], [2,3]],
+ ["_distance", 10, [0]],
+ ["_increment", 50, [0]]
+];
+
+_i = 0;
+_done = false;
+
+if !(surfaceIsWater _pos) exitWith {_pos};
+
+while {!_done && _i <= 50} do {
+ _distance = _distance + _increment;
+ for "_x" from 0 to 340 step 20 do {
+ _pos2 = _pos vectorAdd [_distance * sin _x, _distance * cos _x, 0];
+ if !(surfaceIsWater _pos2) exitWith {_pos = _pos2;_done = true};
+ };
+ _i = _i + 1;
+ if (_i == 50) exitWith {["ws_fnc_NearestLandPos ERROR: No dry land found in radius of",_distance,""] call ws_fnc_DebugText};
+};
+
+_pos
diff --git a/ws_fnc/getPos/fn_NearestRoadPos.sqf b/ws_fnc/getPos/fn_NearestRoadPos.sqf
new file mode 100644
index 000000000..aa78c52fc
--- /dev/null
+++ b/ws_fnc/getPos/fn_NearestRoadPos.sqf
@@ -0,0 +1,41 @@
+/* ws_fnc_NearestRoadPos
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+
+USAGE
+[pos] call ws_fnc_NearestRoadPos
+[pos,distance,increment] call ws_fnc_NearestRoadPos
+
+FEATURE
+Return nearest road in distance x (default 10), If no road is found increase by increment x (default 50)
+If no roads in radius increment*20 are found the original position is returned and an error put out.
+
+RETURNS
+positional array
+*/
+
+private ["_i","_roads","_done"];
+
+params [
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_distance", 10, [0]],
+ ["_increment", 50, [0]]
+];
+
+_pos = _pos call ws_fnc_getEPos;
+
+_i = 0;
+_done = false;
+
+while {!_done && _i <= 20} do {
+ _roads = _pos nearroads _distance;
+ if (count _roads > 0) then {
+ _pos = getPosATL (selectRandom _roads);
+ _done = true;
+ } else {
+ _distance = _distance + _increment;
+ _i = _i + 1;
+ if (_i == 20) exitWith {["ws_fnc_NearestRoadPos ERROR: No roads found in radius of",(_increment*20),""] call ws_fnc_DebugText};
+ };
+};
+
+[_pos select 0,_pos select 1,0]
diff --git a/ws_fnc/getPos/fn_getBpos.sqf b/ws_fnc/getPos/fn_getBpos.sqf
new file mode 100644
index 000000000..171cfe84c
--- /dev/null
+++ b/ws_fnc/getPos/fn_getBpos.sqf
@@ -0,0 +1,35 @@
+/* WS_fnc_getBpos
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Thanks to Rommel's CBA_fnc_taskDefend and Binesi's improved BIS_fnc_taskDefend
+
+FEATURE
+Collect all building positions for a building.
+Assign array variable (ws_bpos) to building containing all valid building positions.
+
+USAGE
+[building] call ws_fnc_getBpos
+
+RETURNS
+array containing all building positions
+*/
+
+private ["_debug","_bposarray","_mkr"];
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug};
+
+params [
+ ["_building", objNull, [objNull]]
+];
+
+if isNil "_building" exitWith {};
+_bposarray = _building getVariable ["ws_bPos",false];
+
+if (!(_bposarray isEqualType [])) then {
+
+ _bposarray = _building buildingPos -1;
+
+ if (_debug) then {{_mkr = createMarker [format ["%1-bpos",_x],_x];_mkr setMarkerSize [0.3,0.3];_mkr setMarkerType "mil_dot";_mkr setMarkerColor "ColorWhite";} forEach _bposarray;};
+
+ _building setVariable ["ws_bPos",_bposarray,true];
+};
+
+_bposarray
diff --git a/ws_fnc/getPos/fn_getEPos.sqf b/ws_fnc/getPos/fn_getEPos.sqf
new file mode 100644
index 000000000..41d9c20c1
--- /dev/null
+++ b/ws_fnc/getPos/fn_getEPos.sqf
@@ -0,0 +1,29 @@
+/* ws_getEPos
+Returns the position of an entitiy
+
+USAGE
+entity call ws_fnc_getEPos;
+
+PARAMETERS
+1. Can be string (markername), object, groupname or location
+
+RETURNS
+positional array (ATL)
+*/
+
+private ["_e","_pos"];
+
+_e = _this;
+_pos = [];
+
+//Getting a good position from the parsed values
+switch (typename _e) do {
+ case "STRING": {_pos = getMarkerPos _e};
+ case "OBJECT": {_pos = getPosATL _e};
+ case "GROUP": {_pos = getPosATL (leader _e)};
+ case "LOCATION": {_pos = position _e};
+ case "ARRAY": {_pos = _e;};
+ default {[_e,["ARRAY","OBJECT","STRING","GROUP","LOCATION"],"ws_fnc_getEPos"] call ws_fnc_typecheck;};
+};
+
+_pos
diff --git a/ws_fnc/getPos/fn_getPos.sqf b/ws_fnc/getPos/fn_getPos.sqf
new file mode 100644
index 000000000..edd5fb31b
--- /dev/null
+++ b/ws_fnc/getPos/fn_getPos.sqf
@@ -0,0 +1,118 @@
+// GetPos function
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+// Thanks to Shuko for SHK_pos
+//
+// FEATURE
+// Turn input into legit positional array [x,y,z], returns array
+//
+// USAGE
+// Minimal:
+// [location] call ws_fnc_getPos;
+// Full:
+// [location,radius (int or true), minDistance,angle,road (bool), building allowed (bool), water allowed (bool)] call ws_fnc_getPos;
+//
+// OUTPUT
+// Array: [x,y,z]
+//
+// PARAMETERS
+// 1. location can be String (Markername), Array [x,y,z], Group or Objectname | MANDATORY
+// 2. radius has to be int > 0 and defines the radius around the position. If set to true it will instead return a position inside a trigger/marker passed in the 1. parameter | OPTIONAL - default is 0
+// 3. minimal distance from center, has to be int > 0 and < radius | OPTIONAL - default is 0
+// 4. Angle from center. Number between 0 and 360 | OPTIONAL - default is (random 360)
+// 5. road (bool) forces pos to be placed on road | OPTIONAL - default is false
+// 6. building allowed (bool) enables the position to be in/on a building | OPTIONAL - default is false
+// 7. water allowed (bool) enables the position to be on water as well | OPTIONAL - default is false
+//
+// EXAMPLES
+// ["spawnmarker"] call ws_fnc_getPos; - turns the marker location into a position array
+// ["spawnmarker",0,0,0,true] call ws_fnc_getPos; - gets a position on a road in closest possible distance to the marker location
+// [church,250] call ws_fnc_getPos; - gets a position in 250m radius to the object named "church"
+// [v1,500,100,180,false,true] call ws_fnc_getPos; - gets a position in 500m radius, 100m minimal distance and a 180° angle to the object named "v1" and also allows position to be on a building
+
+private ["_debug","_pos","_newX","_newY","_oldPos","_i","_distance","_done","_mkr"];
+
+_debug = false; if !(isNil "ws_debug") then {_debug = ws_debug}; //Debug mode. If ws_debug is globally defined it overrides _debug
+
+params [
+ ["_posloc", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_posradius", 0, [0,false]],
+ ["_mindis", 0, [0]],
+ ["_dir", random 360, [0]],
+ ["_road", false, [false]],
+ ["_building", false, [false]],
+ ["_water", false, [false]]
+];
+
+//Interpreting variables
+_pos = _posloc call ws_fnc_getEpos;
+_pos params [
+ ["_posX", 0, [0]],
+ ["_posY", 0, [0]]
+];
+
+switch (typename _posradius) do {
+ case "SCALAR": {
+ if (_mindis > _posradius) then {_mindis = _posradius * 2};
+
+ if (_posradius > 0) then {
+ _newX = _posX + ((random _posradius) * sin _dir);
+ _newY = _posY + ((random _posradius) * cos _dir);
+ _pos = [_newX,_newY,0];
+
+ if (_mindis > 0) then {
+ _oldPos = _pos;
+ while {(_pos distance _oldPos) < _mindis} do {
+ _newX = _posX + ((random _posradius) * sin _dir);
+ _newY = _posY + ((random _posradius) * cos _dir);
+ _pos = [_newX,_newY,0];
+ };
+ };
+ };
+ };
+ case "BOOL": {
+ _pos = [_posLoc] call ws_fnc_getPosInArea;
+} ;
+};
+
+
+
+
+//If the position has to be on dry land
+if (!_water && (surfaceIsWater _pos)) then {
+ _pos = [_pos] call ws_fnc_NearestLandPos;
+};
+
+//If building positions are disallowed
+if (!_building && (count (_pos nearObjects ["House",5]) >= 1)) then {
+ _i = 0;
+ _distance = 0;
+ _done = false;
+ while {!_done && _i <= 100} do {
+ for "_x" from 0 to 340 step 20 do {
+ if (_posradius isEqualType false) then {_pos = [_posloc] call ws_fnc_getPosInArea;} else {
+ _distance = _distance + 5;
+ _pos set [0,_posX + (_distance * sin _x)];
+ _pos set [1,_posY + (_distance * cos _x)];
+ };
+
+ if !(count (_pos nearObjects ["House",5]) >= 1) exitWith {_done = true};
+ };
+ _i = _i + 1;
+ };
+};
+
+//If the position is supposed to be on a road
+if (_road) then {
+ _pos = [_pos] call ws_fnc_NearestRoadPos;
+};
+
+if (_debug) then {
+ player globalchat format ["DEBUG: ws_fnc_getPos done. Pos is %1, direction is %2",_pos,_dir];
+ _mkr = createMarker [format ["%1",_pos], _pos];
+ _mkr setMarkerType "mil_dot";
+ _mkr setMarkerColor "ColorGreen";
+ _mkr setMarkerSize [0.5,0.5];
+};
+
+//Return the new position
+_pos
diff --git a/ws_fnc/getPos/fn_getPosInArea.sqf b/ws_fnc/getPos/fn_getPosInArea.sqf
new file mode 100644
index 000000000..ba968ac99
--- /dev/null
+++ b/ws_fnc/getPos/fn_getPosInArea.sqf
@@ -0,0 +1,82 @@
+/* ws_fnc_getPosInArea
+Latest: 11.10.2013
+By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+Based on Moricky's BIS_fnc_randomPosTrigger
+
+USAGE
+[area] call ws_fnc_getPosInArea
+
+PARAMETERS
+1. Either trigger or marker (rectangle/ellipse)
+
+FEATURE
+Return a random position within a marker or trigger area
+
+RETURNS
+positional array
+*/
+
+
+private ["_shape","_center","_pos","_px","_py","_vector","_dir"];
+
+params[
+ ["_area", "", ["", objNull]]
+];
+
+_shape = "";
+_center = [];
+_pos = [_area] call ws_fnc_getEPos;
+_dir = 360;
+
+switch (typeName _area) do {
+ case "OBJECT": { _center = getPos _area;_area = triggerarea _area; _shape = _area select 3; _dir = _area select 2;};
+ case "STRING":{ _center = getMarkerPos _area; _shape = MarkerShape _area; _dir = markerDir _area;_area = markerSize _area;};
+};
+
+if (_shape isEqualType "") then {
+ switch (_shape) do {
+ case "RECTANGLE": {_shape = true;};
+ case "ELLIPSE": {_shape = false;};
+ default {_shape=true};
+ };
+};
+
+// Get random position
+
+_pX = _area select 0;
+_pY = _area select 1;
+
+_vector = if (_shape) then {
+
+ //--- Rectangle
+ [
+ (-_pX + 2 * random _pX),
+ (-_pY + 2 * random _pY)
+ ];
+} else {
+
+ //--- Ellipse
+ private ["_ranDir"];
+ _ranDir = random 360;
+ [
+ (cos _ranDir * random _pX),
+ (sin _ranDir * random _pY)
+ ];
+};
+
+// Rotate vector
+_vector = +_vector;
+_dir = -_dir;
+_pX = _vector select 0;
+_pY = _vector select 1;
+_vector set [0, (cos _dir)*_px - (sin _dir)*_py];
+_vector set [1, (sin _dir)*_px + (cos _dir)*_py];
+
+// Return new position
+_pos = [
+ (_center select 0) + (_vector select 0),
+ (_center select 1) + (_vector select 1),
+ 0
+];
+
+_pos
diff --git a/ws_fnc/misc/fn_attachChem.sqf b/ws_fnc/misc/fn_attachChem.sqf
new file mode 100644
index 000000000..c9c3ef91c
--- /dev/null
+++ b/ws_fnc/misc/fn_attachChem.sqf
@@ -0,0 +1,47 @@
+/*ws_fnc_attachChem
+By Wolfenswan [FA]: wolfenswanarps@gmail.com
+
+FEATURE
+Attach chemlight to object.
+
+RETURNS
+true
+
+USAGE
+Minimal:
+[object,color] spawn ws_fnc_attachChem
+Full:
+[object, color, duration, attachPoint, memoryPoint] spawn ws_fnc_attachChem
+
+PARAMETERS
+1. Object to attach chem to (object) | MANDATORY
+2. Color of chemlight (string) | MANDATORY - can be "red","green","blue" or "yellow"
+3. Duration of light (number) | OPTIONAL - default is 0 (infinite)
+4. Offset for attach from center (array in [x,y,z]) | OPTIONAL - default is [0,0,0]
+5. MemoryPoint to attach to (string | OPTIONAL - see http://resources.bisimulations.com/wiki/Named_Selection and https://community.bistudio.com/wiki/ArmA:_Selection_Translations for memory points. Not all work.
+
+EXAMPLES
+[UnitNATO_CO,"red",5,[-0.15,0.05,0.1],"Spine3"] spawn ws_fnc_attachChem; - attaches a chemlight to the left shoulder of UnitNATO_CO
+
+*/
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_color", "red", [""]],
+ ["_duration", 0, [0]],
+ ["_offset", [0,0,0], [[]], 3],
+ ["_mpoint", "", [""]]
+];
+
+private _chm = (format ["Chemlight_%1",toLower _color]) createVehicle [0,0,0];
+_chm attachTo [_obj, _offset, _mpoint];
+_chm setDir (getDir _obj);
+_chm setVectorDir (vectorDir _obj);
+_chm setVectorUp (vectorUp _obj);
+
+if (_duration > 0) then {
+ sleep _duration;
+ deleteVehicle _chm;
+};
+
+true
diff --git a/ws_fnc/misc/fn_attachIR.sqf b/ws_fnc/misc/fn_attachIR.sqf
new file mode 100644
index 000000000..4d4728b2c
--- /dev/null
+++ b/ws_fnc/misc/fn_attachIR.sqf
@@ -0,0 +1,45 @@
+/*ws_fnc_attachIR
+By Wolfenswan [FA]: wolfenswanarps@gmail.com
+
+FEATURE
+Attach IR strobe to object.
+
+RETURNS
+true
+
+USAGE
+Minimal:
+[object] spawn ws_fnc_attachIR
+Full:
+[object, attachPoint, memoryPoint] spawn ws_fnc_attachIR
+
+PARAMETERS
+1. Object to attach chem to (object) | MANDATORY
+2. Offset for attach from center (array in [x,y,z]) | OPTIONAL - default is [0,0,0]
+3. MemoryPoint to attach to (string | OPTIONAL - see http://resources.bisimulations.com/wiki/Named_Selection and https://community.bistudio.com/wiki/ArmA:_Selection_Translations for memory points. Not all work.
+
+EXAMPLES
+[UnitNATO_CO,[-0.05,0.05,0.1],"Spine3"] spawn ws_fnc_attachIR - attaches an IR to the left shoulder of UnitNATO_CO
+*/
+
+private ["_class","_ir"];
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_offset", [0,0,0], [[]], 3],
+ ["_mpoint", "", [""]]
+];
+
+switch (side _obj) do {
+ case west: {_class = "B_IRStrobe";};
+ case east: {_class = "O_IRStrobe";};
+ default {_class = "I_IRStrobe";};
+};
+
+_ir = _class createVehicle [0,0,0];
+_ir attachTo [_obj, _offset, _mpoint];
+_ir setDir (getDir _obj);
+_ir setVectorDir (vectorDir _obj);
+_ir setVectorUp (vectorUp _obj);
+
+true;
diff --git a/ws_fnc/misc/fn_attachLight.sqf b/ws_fnc/misc/fn_attachLight.sqf
new file mode 100644
index 000000000..f8a0a9a0e
--- /dev/null
+++ b/ws_fnc/misc/fn_attachLight.sqf
@@ -0,0 +1,39 @@
+/*ws_fnc_attachLight
+// By Wolfenswan: wolfenswanarps@gmail.com
+// See: http://forums.bistudio.com/showthread.php?93588-attach-flare-to-an-object&p=1541513&viewfull=1#post1541513
+
+FEATURE
+Attach light source to object.
+
+RETURNS
+true
+
+USAGE
+Minimal:
+[object] call ws_fnc_attachLight
+Full:
+[object, brightness, color, haze, attachpoint] call ws_fnc_attachLight
+
+PARAMETERS
+1. Object to attach light to | MANDATORY
+2. Brightness of light source (0-1) | OPTIONAL - default is 0.6
+3. Color of light (array with [0-1,0-1,0-1] for [r,g,b]) | OPTIONAL - default is [1.0,1.0,1.0]
+4. Haze of the light (array with [0-1,0-1,0-1] for [r,g,b]) | OPTIONAL - default is [1.0, 0.2, 0.2]
+5. Attachpoint of the light (offset to the object it is attached to as array [x,y,z]) | OPTIONAL - default is [0,0,0]
+*/
+
+params [
+ ["_obj", objNull, [objNull]],
+ ["_brightness", 0.6, [0]],
+ ["_color", [1.0, 1.0, 1.0], [[]], 3],
+ ["_haze", [1.0, 0.2, 0.2], [[]], 3],
+ ["_offset", [0,0,0], [[]], 3]
+];
+
+private _flare = "#lightpoint" createVehicle (getPos _obj);
+_flare setLightBrightness _brightness;
+_flare setLightAmbient _color;
+_flare setLightColor _haze;
+_flare lightAttachObject [_obj,_offset];
+
+true
diff --git a/ws_fnc/misc/fn_broadcast.sqf b/ws_fnc/misc/fn_broadcast.sqf
new file mode 100644
index 000000000..f447b66c0
--- /dev/null
+++ b/ws_fnc/misc/fn_broadcast.sqf
@@ -0,0 +1,37 @@
+// ws_fnc_broadcast
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+/*
+FEATURE
+Broadcast a string to all clients
+
+USAGE
+["message"] call ws_fnc_broadcast
+["message","type of text","display type"] call ws_fnc_broadcast | See https://community.bistudio.com/wiki/titleText for valid types
+
+PARAMETERS
+1. The string to be displayed | MANDATORY
+2. The type of text (titleText or cutText) |OPTIONAL - default is cutText.
+3. The display type | OPTIONAL - default is PLAIN. See http://community.bistudio.com/wiki/titleText for options
+
+NOTE
+ARMA 3 only
+*/
+
+private ["_game", "_code"];
+
+_game = [] call ws_fnc_gameCheck;
+if !(ws_game_a3) exitWith {["ws_fnc_broadcast DBG: Game version: ",[_game]," Must be ARMA 3!"] call ws_fnc_debugtext};
+
+params [
+ ["_string", "ws_fnc_broadcast DBG: No string parsed", [""]],
+ ["_text", "cutText", [""]],
+ ["_type", "PLAIN", [""]]
+];
+_code = format ["%1 [%2,%3]",_text,str _string,str _type];
+
+ws_fnc_showText = compile _code;
+
+[] remoteExec ["ws_fnc_showText", 0];
+
+_code = "";
+ws_fnc_showText = compile _code;
diff --git a/ws_fnc/misc/fn_showIntro.sqf b/ws_fnc/misc/fn_showIntro.sqf
new file mode 100644
index 000000000..2ee1d6ba6
--- /dev/null
+++ b/ws_fnc/misc/fn_showIntro.sqf
@@ -0,0 +1,38 @@
+// ws_fnc_showIntro
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+/*
+FEATURE
+Show an intro text using BIS_fnc_typeText.
+It displays two paragraphs of text and the current date & time in the third.
+
+USAGE
+["string1","string2"] call ws_fnc_showIntro
+
+PARAMETERS
+1. The string in the first paragraph | MANDATORY
+1. The string in the second paragraph | MANDATORY
+
+RETURNS
+true
+
+NOTE
+ARMA 3 only
+*/
+
+private _game = [] call ws_fnc_gameCheck;
+if !(ws_game_a3) exitWith {["ws_fnc_showIntro DBG: Game version: ",[_game]," Must be ARMA 3!"] call ws_fnc_debugtext};
+
+params [
+ ["_string1", "", [""]],
+ ["_string2", "", [""]]
+];
+
+[
+ [
+ [_string1, "%1
",5],
+ [_string2, "%1
",5],
+ [format ["%3/%2/%1 %4:%5",date select 0, date select 1, date select 2,date select 3, date select 4],"%1",10]
+ ] , 0, 0.7
+] spawn BIS_fnc_typeText;
+
+true
diff --git a/ws_fnc/misc/fn_switchLights.sqf b/ws_fnc/misc/fn_switchLights.sqf
new file mode 100644
index 000000000..4910311ba
--- /dev/null
+++ b/ws_fnc/misc/fn_switchLights.sqf
@@ -0,0 +1,50 @@
+// SwitchLights function
+// v1 (17.06.2013)
+// By Wolfenswan [FA]: wolfenswanarps@gmail.com | folkarps.com
+//
+// FEATURE
+// Flip on/off streetlights in a given area
+//
+// USAGE
+// [switch,center,radius] call ws_fnc_switchLights;
+//
+// PARAMETERS
+// 1. Switch can be "ON" or "OFF" | MANDATORY
+// 2. Center can be markername, object or positional array | MANDATORY
+// 3. Radius has to be number | MANDATORY
+//
+// EXAMPLES
+// ["OFF",church,1000] call ws_fnc_switchLights; - turn off all lights in 1k radius around the object named "church"
+// ["ON",player,20] call ws_fnc_switchLights; - turn on all lights in 20m radius around the player
+
+params [
+ ["_switch", "", [""]],
+ ["_pos", objNull, ["", objNull, grpNull, locationNull, []]],
+ ["_radius", 0, [0]]
+];
+
+_pos = _pos call ws_fnc_getEPos;
+
+
+if !(ws_game_a3) then {
+//ARMA 2
+ {
+ private _lamps = _pos nearObjects [_x, _radius];
+ sleep 0.1;
+ {_x switchLight _switch} forEach _lamps;
+ } forEach ["Land_PowLines_WoodL", "Land_PowLines_ConcL", "Land_lampa_ind_zebr", "Land_lampa_sidl_3", "Land_lampa_vysoka", "Land_lampa_ind", "Land_lampa_ind_b", "Land_lampa_sidl"];
+}
+else {
+//ARMA 3
+ {
+ private _lamps = _pos nearObjects [_x, _radius];
+ sleep 0.1;
+ {
+ if (_switch == "OFF") then {
+ _x setHit ["light_1_hitpoint", 0.97]; //off
+ } else {
+ _x setHit ["light_1_hitpoint", 0]; //on
+ };
+ } forEach _lamps;
+ } forEach ["Lamps_Base_F", "PowerLines_base_F", "Land_PowerPoleWooden_L_F", "Land_PowerPoleWooden_F", "Land_LampHarbour_F", "Land_LampShabby_F", "Land_PowerPoleWooden_L_F", "Land_PowerPoleWooden_small_F", "Land_LampDecor_F", "Land_LampHalogen_F", "Land_LampSolar_F", "Land_LampStreet_small_F", "Land_LampStreet_F", "Land_LampAirport_F"];
+};