From 0372eac008230800c5afc5b20ec14be7838a2b61 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 6 Nov 2018 20:50:23 +0100 Subject: [PATCH 01/83] Add Zeus to mission sqm --- mission.sqm | 409 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 275 insertions(+), 134 deletions(-) diff --git a/mission.sqm b/mission.sqm index 5d53221..6ee9018 100644 --- a/mission.sqm +++ b/mission.sqm @@ -1,134 +1,275 @@ -version=53; -class EditorData -{ - moveGridStep=1; - angleGridStep=0.2617994; - scaleGridStep=1; - autoGroupingDist=10; - toggles=13; - class ItemIDProvider - { - nextID=78; - }; - class MarkerIDProvider - { - nextID=4; - }; - class Camera - { - pos[]={14667.764,116.34233,20815.076}; - dir[]={-0.45624799,-0.8702178,0.18603596}; - up[]={-0.80580997,0.49266708,0.32856888}; - aside[]={0.37757996,-1.0976219e-006,0.926009}; - }; -}; -binarizationWanted=0; -addons[]= -{ - "A3_Characters_F" -}; -class AddonsMetaData -{ - class List - { - items=1; - class Item0 - { - className="A3_Characters_F"; - name="Arma 3 Alpha - Characters and Clothing"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; - }; -}; -randomSeed=3460971; -class ScenarioData -{ - author="Genesis"; -}; -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="Vcom AI 3.0 Showcase"; - resistanceWest=0; - timeOfChanges=1800.0002; - startWeather=0.30000001; - startWind=0.1; - startWaves=0.1; - forecastWeather=0.30000001; - forecastWind=0.1; - forecastWaves=0.1; - forecastLightnings=0.1; - year=2035; - month=6; - day=24; - hour=12; - minute=0; - startFogDecay=0.014; - forecastFogDecay=0.014; - }; - class Entities - { - items=1; - class Item0 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={14611.534,52.928631,20813.127}; - angles[]={0,4.9677863,0}; - }; - side="West"; - flags=3; - class Attributes - { - isPlayer=1; - }; - id=1; - type="B_Soldier_TL_F"; - atlOffset=3.4674911; - }; - }; - class Attributes - { - }; - id=0; - atlOffset=3.4674911; - }; - }; -}; +version=53; +class EditorData +{ + moveGridStep=1; + angleGridStep=0.2617994; + scaleGridStep=1; + autoGroupingDist=10; + toggles=13; + class ItemIDProvider + { + nextID=79; + }; + class MarkerIDProvider + { + nextID=4; + }; + class Camera + { + pos[]={14667.764,116.34233,20815.076}; + dir[]={-0.75383526,-0.6547575,0.055532739}; + up[]={-0.65301406,0.75582027,0.048104141}; + aside[]={0.073468916,-7.4558557e-007,0.99733043}; + }; +}; +binarizationWanted=0; +addons[]= +{ + "A3_Characters_F", + "A3_Modules_F_Curator_Curator" +}; +class AddonsMetaData +{ + class List + { + items=2; + class Item0 + { + className="A3_Characters_F"; + name="Arma 3 Alpha - Characters and Clothing"; + author="Bohemia Interactive"; + url="https://www.arma3.com"; + }; + class Item1 + { + className="A3_Modules_F_Curator"; + name="Arma 3 Zeus Update - Scripted Modules"; + author="Bohemia Interactive"; + url="https://www.arma3.com"; + }; + }; +}; +randomSeed=3460971; +class ScenarioData +{ + author="Genesis"; +}; +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="Vcom AI 3.0 Showcase"; + resistanceWest=0; + timeOfChanges=1800.0002; + startWeather=0.30000001; + startWind=0.1; + startWaves=0.1; + forecastWeather=0.30000001; + forecastWind=0.1; + forecastWaves=0.1; + forecastLightnings=0.1; + year=2035; + month=6; + day=24; + hour=12; + minute=0; + startFogDecay=0.014; + forecastFogDecay=0.014; + }; + class Entities + { + items=2; + class Item0 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={14611.534,52.928478,20813.127}; + angles[]={0,4.967783,0}; + }; + side="West"; + flags=3; + class Attributes + { + name="player1"; + isPlayer=1; + }; + id=1; + type="B_Soldier_TL_F"; + atlOffset=3.4673386; + class CustomAttributes + { + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "STRING" + }; + }; + value="Male10ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "SCALAR" + }; + }; + value=0.99000001; + }; + }; + }; + nAttributes=2; + }; + }; + }; + class Attributes + { + }; + id=0; + atlOffset=3.4673386; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={14773.848,58.553928,20828.242}; + }; + id=78; + type="ModuleCurator_F"; + class CustomAttributes + { + class Attribute0 + { + property="ModuleCurator_F_Owner"; + expression="_this setVariable ['Owner',_value,true];"; + class Value + { + class data + { + class type + { + type[]= + { + "STRING" + }; + }; + value="player1"; + }; + }; + }; + class Attribute1 + { + property="ModuleCurator_F_Forced"; + expression="_this setVariable ['Forced',_value,true];"; + class Value + { + class data + { + class type + { + type[]= + { + "SCALAR" + }; + }; + value=0; + }; + }; + }; + class Attribute2 + { + property="ModuleCurator_F_Name"; + expression="_this setVariable ['Name',_value,true];"; + class Value + { + class data + { + class type + { + type[]= + { + "STRING" + }; + }; + value=""; + }; + }; + }; + class Attribute3 + { + property="ModuleCurator_F_Addons"; + expression="_this setVariable ['Addons',_value,true];"; + class Value + { + class data + { + class type + { + type[]= + { + "SCALAR" + }; + }; + value=3; + }; + }; + }; + nAttributes=4; + }; + }; + }; +}; From ea0545050a2b1c49196a55bada97970e05f05a1c Mon Sep 17 00:00:00 2001 From: genesis92x Date: Wed, 7 Nov 2018 21:41:05 -0700 Subject: [PATCH 02/83] Update Vcom/Functions/fn_HearingAids.sqf --- Vcom/Functions/fn_HearingAids.sqf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Vcom/Functions/fn_HearingAids.sqf b/Vcom/Functions/fn_HearingAids.sqf index 7826b7a..4cb6b13 100644 --- a/Vcom/Functions/fn_HearingAids.sqf +++ b/Vcom/Functions/fn_HearingAids.sqf @@ -8,6 +8,8 @@ if ((group _unit) getVariable ["VCM_NOFLANK",false]) exitWith {}; private _Mzl = currentMuzzle _unit; private _Mzl = if (_Mzl isEqualType "") then {_Mzl} else {""}; private _Atch = _unit weaponAccessories _Mzl param [0, ""]; + +//Part of me is not sure about the use of this - getNumber with configfile is a slow process. private _Return = (!(_Atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _Atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; //systemchat format ["%1",_Sup]; From 70e6463df72b9802019535d136920f144dd74b9a Mon Sep 17 00:00:00 2001 From: genesis92x Date: Wed, 7 Nov 2018 23:28:12 -0700 Subject: [PATCH 03/83] Bug fixes --- Vcom/Functions/fn_ClstWarn.sqf | 2 +- Vcom/Functions/fn_HearingAids.sqf | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Vcom/Functions/fn_ClstWarn.sqf b/Vcom/Functions/fn_ClstWarn.sqf index 92a7080..c5fc504 100644 --- a/Vcom/Functions/fn_ClstWarn.sqf +++ b/Vcom/Functions/fn_ClstWarn.sqf @@ -23,7 +23,7 @@ if (isPlayer _Unit) exitWith {}; //Check to see if unit has radio. If the unit does not have a radio, then it will not move to support private _CheckStatus = assignedItems _Unit; -if ((_Unit getVariable ["Vcm_Disable",false]) || {!("ItemRadio" in _CheckStatus)}) exitWith {}; +if (isNil "_CheckStatus" || {(_Unit getVariable ["Vcm_Disable",false])} || {!("ItemRadio" in _CheckStatus)}) exitWith {}; private _ArrayOrg = _Unit call VCM_fnc_FriendlyArray; _ArrayOrg = _ArrayOrg - VCM_ARTYLST; diff --git a/Vcom/Functions/fn_HearingAids.sqf b/Vcom/Functions/fn_HearingAids.sqf index 4cb6b13..7826b7a 100644 --- a/Vcom/Functions/fn_HearingAids.sqf +++ b/Vcom/Functions/fn_HearingAids.sqf @@ -8,8 +8,6 @@ if ((group _unit) getVariable ["VCM_NOFLANK",false]) exitWith {}; private _Mzl = currentMuzzle _unit; private _Mzl = if (_Mzl isEqualType "") then {_Mzl} else {""}; private _Atch = _unit weaponAccessories _Mzl param [0, ""]; - -//Part of me is not sure about the use of this - getNumber with configfile is a slow process. private _Return = (!(_Atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _Atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; //systemchat format ["%1",_Sup]; From 5abc326000ddfe1b8c84eda84c2c4823bb632dd2 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Thu, 8 Nov 2018 22:44:40 -0700 Subject: [PATCH 04/83] Feature Update, Bug Fixes Incorporated FFE -added settings for this Fixed bugs with Hearingaids Improved security for KnowAbout.sqf --- FFE 1.14.pdf | Bin 0 -> 473326 bytes Vcom/FSMS/SQUADBEH.fsm | 78 +- Vcom/Functions/VcomAI_DefaultSettings.sqf | 8 +- Vcom/Functions/fn_EnemyArray.sqf | 10 +- Vcom/Functions/fn_HearingAids.sqf | 63 +- Vcom/Functions/fn_KnowAbout.sqf | 11 + Vcom/RYD_FFE/FFE.sqf | 240 +++ Vcom/RYD_FFE/FFE_fnc.sqf | 1722 +++++++++++++++++++++ Vcom/RYD_FFE/Shellview.sqf | 125 ++ Vcom/VcomInit.sqf | 11 +- Vcom/cfgFunctions.hpp | 92 +- description.ext | 1 + license.txt | 4 +- mission.sqm | 165 +- userconfig/VCOM_AI/AISettingsV3.hpp | 15 +- 15 files changed, 2264 insertions(+), 281 deletions(-) create mode 100644 FFE 1.14.pdf create mode 100644 Vcom/Functions/fn_KnowAbout.sqf create mode 100644 Vcom/RYD_FFE/FFE.sqf create mode 100644 Vcom/RYD_FFE/FFE_fnc.sqf create mode 100644 Vcom/RYD_FFE/Shellview.sqf diff --git a/FFE 1.14.pdf b/FFE 1.14.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2beefc08b60c7151e0278a57ec9bd852fb0c7357 GIT binary patch literal 473326 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

|A1 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 z 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 z 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 z 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°2ehpd{dw#iyllWg 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�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�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 literal 0 HcmV?d00001 diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index 01adc41..b8afd8b 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -3,7 +3,7 @@ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; -item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; +item2[] = {"Exit_FSM",1,4346,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; @@ -45,7 +45,7 @@ item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.00 item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; -item44[] = {"Combat_END",4,4314,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; +item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; link1[] = {0,3}; link2[] = {1,2}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,-347.084473,527.955444,1145.958984,13.402954,683,884,1}; -window[] = {2,-1,-1,-1,-1,1006,52,907,52,3,701}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,-319.491241,78.526337,1330.826172,231.005432,447,782,1}; +window[] = {0,-1,-1,-1,-1,980,26,1327,26,1,465}; *//*%FSM*/ class FSM { @@ -128,28 +128,16 @@ class FSM itemno = 0; init = /*%FSM*/"private _Group = _this;" \n "private _leader = leader _group;" \n - "private _BackbkC = -60;" \n - "private _BackbkC2 = -60;" \n - "private _BackbkC3 = -300;" \n - "private _BackbkC4 = -120;" \n - "private _BackbkC5 = -120;" \n - "private _BackbkC6 = -120;" \n - "private _BackbkCC4 = -120;" \n - "private _BackbkC7 = -30;" \n - "private _BackbkC8 = -120;" \n - "private _CurLGar = false;" \n - "private _VCOM_GARRISONED = false;" \n - "private _Beh = (behaviour _leader);" \n - "private _Cover2Cover = -60;" \n - "private _WaypointGen = -910;" \n - "private _StaticList = [];" \n - "private _SatchelList = [];" \n - "private _MineList = [];" \n - "private _StartingBehavior = behaviour _leader;" \n + "" \n + "{" \n + " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " {" \n + " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n + " };" \n + "} foreach (units _Group);" \n + "" \n "" \n "" \n - "_Group call VCM_AIDIFSET;" \n - "private _CurUnits = (units _Group);" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links @@ -173,17 +161,40 @@ class FSM to="Start_Point"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/"_Group call VCM_fnc_ArtyManage;" \n + action=/*%FSM*/"private _BackbkC = -60;" \n + "private _BackbkC2 = -60;" \n + "private _BackbkC3 = -300;" \n + "private _BackbkC4 = -120;" \n + "private _BackbkC5 = -120;" \n + "private _BackbkC6 = -120;" \n + "private _BackbkCC4 = -120;" \n + "private _BackbkC7 = -30;" \n + "private _BackbkC8 = -120;" \n + "private _CurLGar = false;" \n + "private _VCOM_GARRISONED = false;" \n + "private _Beh = (behaviour _leader);" \n + "private _Cover2Cover = -60;" \n + "private _WaypointGen = -910;" \n + "private _StaticList = [];" \n + "private _SatchelList = [];" \n + "private _MineList = [];" \n + "private _StartingBehavior = behaviour _leader;" \n + "private _CurUnits = (units _Group);" \n + "" \n + "" \n + "_Group call VCM_fnc_ArtyManage;" \n + "_Group call VCM_AIDIFSET;" \n "" \n "{" \n " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n " {" \n " _x disableAI ""SUPPRESSION"";" \n " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n - " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n " };" \n - "} foreach (units _Group);"/*%FSM*/; + "} foreach (units _Group);" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: VCOM INITILZIED SCRIPTS"",_Group])};"/*%FSM*/; }; /*%FSM*/ }; @@ -195,7 +206,9 @@ class FSM name = "Exit_FSM"; itemno = 2; init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;"/*%FSM*/; + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -320,7 +333,9 @@ class FSM name = "Exit_FSM_1"; itemno = 6; init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;"/*%FSM*/; + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -520,6 +535,7 @@ class FSM condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)} && {_leader distance (_leader findNearestEnemy _leader) > 400}" \n ""/*%FSM*/; action=/*%FSM*/"// return behaviour and speed to normal" \n + "_Beh = ""SAFE"";" \n "_leader setBehaviour _StartingBehavior;" \n "(group _leader) setSpeedMode ""NORMAL"";" \n "" \n @@ -904,7 +920,9 @@ class FSM name = "Exit_FSM_2"; itemno = 41; init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;"/*%FSM*/; + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index b675414..1fa9833 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -18,12 +18,18 @@ Vcm_Settings = VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine + + //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. + VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. VCM_ARTYDELAY = 300; //Delay between squads requesting artillery VCM_ARTYWT = -(VCM_ARTYDELAY); VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ + VCM_FFEARTILLERY = true; + VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL diff --git a/Vcom/Functions/fn_EnemyArray.sqf b/Vcom/Functions/fn_EnemyArray.sqf index 45352e1..e9f765d 100644 --- a/Vcom/Functions/fn_EnemyArray.sqf +++ b/Vcom/Functions/fn_EnemyArray.sqf @@ -1,12 +1,10 @@ +//This function quickly find the list of all enemy units for a specific side. -private ["_UnitSide","_Array1"]; -_UnitSide = side (group _this); - -_Array1 = []; +private _UnitSide = side (group _this); +private _TargetSide = ""; +private _Array1 = []; { _TargetSide = side _x; - - if ([_UnitSide, _TargetSide] call BIS_fnc_sideIsEnemy) then {_Array1 pushback _x;}; } forEach allUnits; diff --git a/Vcom/Functions/fn_HearingAids.sqf b/Vcom/Functions/fn_HearingAids.sqf index 7826b7a..66e3ad6 100644 --- a/Vcom/Functions/fn_HearingAids.sqf +++ b/Vcom/Functions/fn_HearingAids.sqf @@ -2,52 +2,43 @@ params ["_unit","_weapon","_muzzle","_mode","_ammo","_magazine","_bullet","_gunner"]; if (_weapon isEqualTo "Put" || {_weapon isEqualTo "Throw"}) exitwith {}; -if ((group _unit) getVariable ["VCM_NOFLANK",false]) exitWith {}; -//Check if unit has suppressor on weapon. -private _Mzl = currentMuzzle _unit; -private _Mzl = if (_Mzl isEqualType "") then {_Mzl} else {""}; -private _Atch = _unit weaponAccessories _Mzl param [0, ""]; -private _Return = (!(_Atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _Atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; +private _TimeShot = _unit getVariable ["VCM_FTH",-60]; -//systemchat format ["%1",_Sup]; -if !(_Return) then +if ((_TimeShot + 20) < time) then { - - private _TimeShot = _unit getVariable ["VCM_FTH",-60]; - if ((_TimeShot + 20) < time) then + if ((group _unit) getVariable ["VCM_NOFLANK",false]) exitWith {}; + + //Check if unit has suppressor on weapon. + private _Mzl = currentMuzzle _unit; + private _Mzl = if (_Mzl isEqualType "") then {_Mzl} else {""}; + private _Atch = _unit weaponAccessories _Mzl param [0, ""]; + private _Return = (!(_Atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _Atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; + + if (VCM_Debug) then {diag_log (format ["%2: WEAPON SUPRRESSED - %1",_Return,_unit])}; + + //systemchat format ["%1",_Sup]; + if !(_Return) then { - private _Array1 = _unit call VCM_fnc_EnemyArray; - private _SNDA = []; - { - if ((_x distance2D _unit) < VCM_HEARINGDISTANCE) then + private _Array1 = _unit call VCM_fnc_EnemyArray; + private _SNDA = []; { - _SNDA pushback _x; + if ((_x distance2D _unit) < VCM_HEARINGDISTANCE) then + { + _SNDA pushback _x; + }; + } foreach _Array1; + + if (count _SNDA > 0) then + { + [_SNDA,_Unit] remoteExec ["VCM_fnc_KnowAbout",0]; }; - } foreach _Array1; - if (count _SNDA > 0) then - { - [ - [_SNDA,_Unit], - { - params ["_SNDA","_unit"]; - { - if (local _x) then - { - private _kv = _x knowsAbout _unit; - _x reveal [_unit,(_kv + 0.4)]; - }; - } foreach _SNDA; - } - ] remoteExec ["bis_fnc_call",0]; - }; - - _Unit setVariable ["VCM_FTH",time]; + _Unit setVariable ["VCM_FTH",time]; }; + }; - diff --git a/Vcom/Functions/fn_KnowAbout.sqf b/Vcom/Functions/fn_KnowAbout.sqf new file mode 100644 index 0000000..2b97f8c --- /dev/null +++ b/Vcom/Functions/fn_KnowAbout.sqf @@ -0,0 +1,11 @@ +//This function will edit the knowledge of a unit for a specific side. +params ["_SNDA","_Unit"]; + +{ + if (local _x) then + { + private _kv = _x knowsAbout _unit; + _x reveal [_unit,(_kv + 0.25)]; + if (VCM_Debug) then {diag_log (format ["%1 knowledge of %2 is at %3",_x,_Unit,(_kv + 0.25)])}; + }; +} foreach _SNDA; \ No newline at end of file diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf new file mode 100644 index 0000000..a252113 --- /dev/null +++ b/Vcom/RYD_FFE/FFE.sqf @@ -0,0 +1,240 @@ + +sleep 5; + +missionNameSpace setVariable ["RydFFE_FiredShells",[]]; + +if (isNil "RydFFE_Active") then {RydFFE_Active = true}; +if (isNil "RydFFE_Manual") then {RydFFE_Manual = false}; +if (isNil "RydFFE_NoControl") then {RydFFE_NoControl = []}; +if (isNil "RydFFE_ArtyShells") then {RydFFE_ArtyShells = 1}; +if (isNil "RydFFE_Interval") then {RydFFE_Interval = 10}; +if (isNil "RydFFE_Debug") then {RydFFE_Debug = false}; +if (isNil "RydFFE_FO") then {RydFFE_FO = []}; +if (isNil "RydFFE_2PhWithoutFO") then {RydFFE_2PhWithoutFO = false}; +if (isNil "RydFFE_OnePhase") then {RydFFE_OnePhase = false}; + +if (isNil ("RydFFE_Amount")) then {RydFFE_Amount = 6}; +//if (isNil ("RydFFE_Disp")) then {RydFFE_Disp = 0.4}; +if (isNil ("RydFFE_Acc")) then {RydFFE_Acc = 2}; +if (isNil ("RydFFE_Safe")) then {RydFFE_Safe = 100}; +if (isNil ("RydFFE_Monogamy")) then {RydFFE_Monogamy = true}; +if (isNil ("RydFFE_ShellView")) then {RydFFE_ShellView = false}; +if (isNil ("RydFFE_FOAccGain")) then {RydFFE_FOAccGain = 1}; +if (isNil ("RydFFE_FOClass")) then {RydFFE_FOClass = + [ + "i_spotter_f", + "o_spotter_f", + "b_spotter_f", + "o_recon_jtac_f", + "b_recon_jtac_f", + "i_sniper_f", + "o_sniper_f", + "b_sniper_f", + "i_soldier_m_f", + "o_soldier_m_f", + "b_g_soldier_m_f", + "b_soldier_m_f", + "o_recon_m_f", + "b_recon_m_f", + "o_soldieru_m_f", + "i_uav_01_f", + "i_uav_02_cas_f", + "i_uav_02_f", + "o_uav_01_f", + "o_uav_02_cas_f", + "o_uav_02_f", + "b_uav_01_f", + "b_uav_02_cas_f", + "b_uav_02_f" + ]}; + +if (isNil "RydFFE_Add_SPMortar") then {RydFFE_Add_SPMortar = []}; +if (isNil "RydFFE_Add_Mortar") then {RydFFE_Add_Mortar = []}; +if (isNil "RydFFE_Add_Rocket") then {RydFFE_Add_Rocket = []}; +if (isNil "RydFFE_Add_Other") then {RydFFE_Add_Other = []}; +if (isNil "RydFFE_IowaMode") then {RydFFE_IowaMode = false}; + +RydFFE_SPMortar = ["o_mbt_02_arty_f","b_mbt_01_arty_f"] + RydFFE_Add_SPMortar; +RydFFE_Mortar = ["i_mortar_01_f","o_mortar_01_f","b_g_mortar_01_f","b_mortar_01_f"] + RydFFE_Add_Mortar; +RydFFE_Rocket = ["b_mbt_01_mlrs_f"] + RydFFE_Add_Rocket; +RydFFE_Other = [] + RydFFE_Add_Other; + +_allArty = RydFFE_SPMortar + RydFFE_Mortar + RydFFE_Rocket; + +[] call compile preprocessFile "Vcom\RYD_FFE\FFE_fnc.sqf"; +Shellview = compile preprocessFile "Vcom\RYD_FFE\Shellview.sqf"; + +_allArty = [_allArty] call RydFFE_AutoConfig; + +_civF = ["civ_f","civ","civ_ru","bis_tk_civ","bis_civ_special"]; +_sides = [west,east,resistance]; + +_enemies = []; +_friends = []; +RydFFE_Fire = false; + +if (isNil ("RydFFE_SVRange")) then {RydFFE_SVRange = 3000}; + +if (RydFFE_ShellView) then {[] spawn Shellview}; + +while {RydFFE_Active} do + { + if (RydFFE_Manual) then {waitUntil {sleep 0.1;((RydFFE_Fire) or not (RydFFE_Manual))};RydFFE_Fire = false}; + + { + _side = _x; + + _eSides = [sideEnemy]; + _fSides = [sideFriendly]; + + { + _getF = _side getFriend _x; + if (_getF >= 0.6) then + { + _fSides set [(count _fSides),_x] + } + else + { + _eSides set [(count _eSides),_x] + } + } + foreach _sides; + + if (({((side _x) == _side)} count AllGroups) > 0) then + { + _artyGroups = []; + _enemies = []; + _friends = []; + + { + _gp = _x; + + if ((side _gp) == _side) then + { + if not (_gp in RydFFE_NoControl) then + { + { + if ((toLower (typeOf (vehicle _x))) in _allArty) exitWith + { + if not (_gp in _artyGroups) then + { + _artyGroups pushBack _gp + } + } + } + foreach (units _gp) + } + }; + + _isCiv = false; + if ((toLower (faction (leader _gp))) in _civF) then {_isCiv = true}; + + if not (_isCiv) then + { + if (not (isNull _gp) and (alive (leader _gp))) then + { + if ((side _gp) in _eSides) then + { + if not (_gp in _enemies) then + { + _enemies pushBack _gp; + } + } + else + { + if ((side _gp) in _fSides) then + { + if not (_gp in _friends) then + { + _friends pushBack _gp; + if ((toLower (typeOf (leader _x))) in RydFFE_FOClass) then + { + if ((count RydFFE_FO) > 0) then + { + if not (_gp in RydFFE_FO) then + { + RydFFE_FO pushBack _gp + } + } + } + } + } + } + } + } + } + foreach allGroups; + + _knEnemies = []; + + { + { + _eVeh = vehicle _x; + + { + if not ((toLower (faction (leader _x))) in _civF) then + { + if (((count RydFFE_FO) == 0) or (_x in RydFFE_FO)) then + { + if ((_x knowsAbout _eVeh) >= 0.05) then + { + if not (_eVeh in _knEnemies) then + { + _eVeh setVariable ["RydFFE_MyFO",(leader _x)]; + _knEnemies pushBack _eVeh + } + } + } + } + } + foreach _friends + } + foreach (units _x) + } + foreach _enemies; + + _enArmor = []; + + { + if ((_x isKindOf "Tank") or (_x isKindOf "Wheeled_APC")) then + { + if not (_x in _enArmor) then + { + _enArmor pushBack _x + } + } + } + foreach _knEnemies; + + [_artyGroups,RydFFE_ArtyShells] call RYD_ArtyPrep; + + [_artyGroups,_knEnemies,_enArmor,_friends,RydFFE_Debug,RydFFE_Amount] call RYD_CFF + } + } + foreach _sides; + + sleep RydFFE_Interval; + + _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + + { + _shell = _x; + if (isNil "_shell") then + { + _shells set [_foreachIndex,0] + } + else + { + if (isNull _x) then + { + _shells set [_foreachIndex,0] + } + } + } + foreach _shells; + + _shells = _shells - [0]; + missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; + + _allArty = [_allArty] call RydFFE_AutoConfig + }; \ No newline at end of file diff --git a/Vcom/RYD_FFE/FFE_fnc.sqf b/Vcom/RYD_FFE/FFE_fnc.sqf new file mode 100644 index 0000000..6a84e23 --- /dev/null +++ b/Vcom/RYD_FFE/FFE_fnc.sqf @@ -0,0 +1,1722 @@ +RYD_AngTowards = + { + private ["_source0", "_target0", "_rnd0","_dX0","_dY0","_angleAzimuth0"]; + + _source0 = _this select 0; + _target0 = _this select 1; + _rnd0 = _this select 2; + + _dX0 = (_target0 select 0) - (_source0 select 0); + _dY0 = (_target0 select 1) - (_source0 select 1); + + _angleAzimuth0 = (_dX0 atan2 _dY0) + (random (2 * _rnd0)) - _rnd0; + + _angleAzimuth0 + }; + +RYD_PosTowards2D = + { + private ["_source","_distT","_angle","_dXb","_dYb","_px","_py","_pz"]; + + _source = _this select 0; + _angle = _this select 1; + _distT = _this select 2; + + _dXb = _distT * (sin _angle); + _dYb = _distT * (cos _angle); + + _px = (_source select 0) + _dXb; + _py = (_source select 1) + _dYb; + + _pz = getTerrainHeightASL [_px,_py]; + + [_px,_py,_pz] + }; + +RYD_ArtyPrep = + { + private ["_arty","_amount","_vh","_handled","_magTypes","_mags","_tp","_cnt"]; + + _arty = _this select 0; + _amount = _this select 1; + + _amount = ceil _amount; + //if (_amount < 2) exitWith {}; + + { + { + _vh = vehicle _x; + _handled = _vh getVariable ["RydFFEArtyAmmoHandled",false]; + + if not (_handled) then + { + _vh setVariable ["RydFFEArtyAmmoHandled",true]; + + _vh addEventHandler ["Fired", + { + (_this select 0) setVariable ["RydFFE_ShotFired",true]; + (_this select 0) setVariable ["RydFFE_ShotFired2",((_this select 0) getVariable ["RydFFE_ShotFired2",0]) + 1]; + + //if ((RydFFE_SVStart) and (RydFFE_Debug)) then + //{ + _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + _shells set [(count _shells),(_this select 6)]; + missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; + //} + }]; + + _magTypes = getArtilleryAmmo [_vh]; + _mags = magazines _vh; + + { + _tp = _x; + _cnt = {_x in [_tp]} count _mags; + _vh addMagazines [_tp, _cnt * (_amount - 1)]; + } + foreach _magTypes + } + } + foreach (units _x) + } + foreach _arty; + }; + +RYD_CFF_TGT = + {//_tgt = [RydFFE_KnEnemies] call RYD_CFF_TGT; + private ["_enemies","_targets","_target","_nothing","_potential","_potL","_taken","_candidate","_CL","_vehFactor","_artFactor","_crowdFactor","_veh","_nearImp","_ValMax","_trgValS", + "_temptation","_vh","_HQfactor","_nearCiv"]; + + _enemies = _this select 0; + + _targets = []; + _target = objNull; + _temptation = 0; + _nothing = 0; + + { + _potential = _x; + + _potL = vehicle (leader _potential); + _taken = (group _potential) getVariable ["CFF_Taken",false]; + + if not (isNull _potential) then + { + if (alive _potential) then + { + if not (_taken) then + { + if (((getposATL _potL) select 2) < 20) then + { + if ((abs(speed _potL)) < 50) then + { + if ((count (weapons (leader _potential))) > 0) then + { + if not ((leader _potential) isKindOf "civilian") then + { + if not (captive _potL) then + { + if not (_potential in _targets) then + { + if ((damage _potL) < 0.9) then + { + _targets set [(count _targets),_potential] + } + } + } + } + } + } + } + } + } + } + } + foreach _enemies; + + { + _candidate = _x; + _CL = leader _candidate; + + _temptation = 0; + _vehFactor = 0; + _artFactor = 1; + _crowdFactor = 1; + _HQFactor = 1; + _veh = ObjNull; + + if not (isNull (assignedVehicle _CL)) then {_veh = assignedVehicle _CL}; + if not ((vehicle _CL) == _CL) then + { + _veh = vehicle _CL; + if ((toLower (typeOf _veh)) in RydFFE_AllArty) then {_artFactor = 10} else {_vehFactor = 500 + (rating _veh)}; + }; + + _nearImp = (getPosATL _CL) nearEntities [["CAManBase","AllVehicles","Strategic","WarfareBBaseStructure","Fortress"],100]; + _nearCiv = false; + + { + if (_x isKindOf "civilian") exitWith {_nearCiv = true}; + if (((side _x) getFriend (side _CL)) >= 0.6) then + { + _vh = vehicle _x; + _crowdFactor = _crowdFactor + 0.2; + if not (_x == _vh) then + { + _crowdFactor = _crowdFactor + 0.2; + if ((toLower (typeOf _vh)) in RydFFE_AllArty) then + { + _crowdFactor = _crowdFactor + 0.2 + } + } + }; + } + foreach _nearImp; + + if (_nearCiv) then + { + _targets set [_foreachIndex,0] + } + else + { + + { + _temptation = _temptation + (250 + (rating _x)); + } + foreach (units _candidate); + + _temptation = (((_temptation + _vehFactor)*10)/(5 + (speed _CL))) * _artFactor * _crowdFactor * _HQFactor; + _candidate setVariable ["CFF_Temptation",_temptation] + } + } + foreach _targets; + + _targets = _targets - [0]; + + _ValMax = 0; + + { + _trgValS = _x getVariable ["CFF_Temptation",0]; + if ((_ValMax < _trgValS) and (random 100 < 85)) then {_ValMax = _trgValS;_target = _x}; + } + foreach _targets; + + if (isNull _target) then + { + if not ((count _targets) == 0) then + { + _target = _targets select (floor (random (count _targets))) + } + else + { + _nothing = 1 + } + }; + + _target + }; + +RYD_ArtyMission = + {//_bArr = [_tgtPos,RydFFE_ArtG,"SADARM",6,leaderHQ] call RYD_ArtyMission; + private ["_pos","_arty","_ammoG","_amount","_FO","_ammo","_possible","_battery","_agp","_artyAv","_vehs","_gp","_hasAmmo","_checked","_vh","_tp","_inRange","_pX","_pY","_pZ","_ammoArr","_allAmmo"]; + + _pos = _this select 0; + _arty = _this select 1; + _ammoG = _this select 2; + _amount = _this select 3; + _FO = _this select 4; + + _ammo = ""; + _ammoArr = []; + + _hasAmmo = 0; + _possible = false; + _battery = []; + _agp = []; + + _artyAv = []; + _vehs = 0; + _allAmmo = 0; + + { + _gp = _x; + if not (isNull _gp) then + { + if not (_gp getVariable ["RydFFE_BatteryBusy",false]) then + { + _hasAmmo = 0; + _checked = []; + + { + _vh = vehicle _x; + if not (_vh in _checked) then + { + _checked set [(count _checked),_vh]; + + _tp = toLower (typeOf _vh); + + switch (true) do + { + case (_tp in RydFFE_Mortar) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SPECIAL") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SECONDARY") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SMOKE") : {_ammo = "8Rnd_82mm_Mo_Smoke_white"}; + case ("ILLUM") : {_ammo = "8Rnd_82mm_Mo_Flare_white"}; + } + }; + + case (_tp in RydFFE_SPMortar) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells"}; + case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster"}; + case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided"}; + case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke"}; + case ("ILLUM") : {_ammo = ""}; + }; + }; + + case (_tp in RydFFE_Rocket) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SPECIAL") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SECONDARY") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SMOKE") : {_ammo = ""}; + case ("ILLUM") : {_ammo = ""}; + }; + }; + + default + { + if ((count RydFFE_Other) > 0) then + { + _arr = []; + + { + if (_tp in (_x select 0)) exitWith {_arr = _x select 1} + } + foreach RydFFE_Other; + + if ((count _arr) > 0) then + { + switch (_ammoG) do + { + case ("HE") : {_ammo = _arr select 0}; + case ("SPECIAL") : {_ammo = _arr select 1}; + case ("SECONDARY") : {_ammo = _arr select 2}; + case ("SMOKE") : {_ammo = _arr select 3}; + case ("ILLUM") : {_ammo = _arr select 4}; + } + } + } + } + }; + + _inRange = _pos inRangeOfArtillery [[_vh],_ammo]; + + if (_inRange) then + { + { + if ((_x select 0) in [_ammo]) then + { + _hasAmmo = _hasAmmo + (_x select 1); + _allAmmo = _allAmmo + (_x select 1); + _ammoArr set [(count _ammoArr),_ammo]; + _vehs = _vehs + 1 + }; + + if not (_hasAmmo < _amount) exitWith {}; + if not (_allAmmo < _amount) exitWith {} + } + foreach (magazinesAmmo _vh); + } + }; + + if not (_vehs < _amount) exitWith {} + } + foreach (units _gp); + + if (_hasAmmo > 0) then + { + _artyAv set [(count _artyAv),_gp]; + _agp set [(count _agp),leader _gp] + } + } + }; + + if not (_hasAmmo < _amount) exitWith {}; + if not (_allAmmo < _amount) exitWith {} + } + foreach _arty; + + if not ((count _artyAv) == 0) then + { + _battery = _artyAv; + + _possible = true; + + if (_ammoG in ["ILLUM","SMOKE"]) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach _battery; + + _pX = _pos select 0; + _pY = _pos select 1; + _pZ = _pos select 2; + + _pX = _pX + (random 100) - 50; + _pY = _pY + (random 100) - 50; + _pZ = _pZ + (random 20) - 10; + + _pos = [_pX,_pY,_pZ]; +//_i = [_pos,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; + [_battery,_pos,_ammoArr,_FO,_amount,_ammoG] spawn + { + _battery = _this select 0; + _pos = _this select 1; + _ammo = _this select 2; + _FO = getPosASL (_this select 3); + _amount = _this select 4; + _ammoG = _this select 5; + + if (_ammoG == "ILLUM") then + { + [_battery,_pos,_ammo,_amount] call RYD_CFF_Fire; + } + else + { + _angle = [_FO,_pos,10] call RYD_AngTowards; + _pos2 = [_pos,_angle + 110,200 + (random 100) - 50] call RYD_PosTowards2D; + _pos3 = [_pos,_angle - 110,200 + (random 100) - 50] call RYD_PosTowards2D; + //_i2 = [_pos2,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; + //_i3 = [_pos3,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; + + { + [_battery,_x,_ammo,ceil (_amount/3)] call RYD_CFF_Fire; + + _ct = 0; + waitUntil + { + sleep 0.1; + _ct = _ct + 0.1; + _busy = 0; + + { + if not (isNull _x) then + { + _busy = _busy + ({not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x)) + }; + } + foreach _battery; + + ((_busy == 0) or (_ct > 12)) + }; + } + foreach [_pos,_pos2,_pos3] + }; + + _ct = 0; + waitUntil + { + sleep 0.1; + _ct = _ct + 0.1; + _busy = 0; + + { + if not (isNull _x) then + { + _add = {not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x); + _busy = _busy + _add; + if (_add == 0) then {_x setVariable ["RydFFE_BatteryBusy",false]} + }; + } + foreach _battery; + + ((_busy == 0) or (_ct > 12)) + }; + + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } + } + foreach _battery + } + } + }; + + //diag_log format ["AM: %1",[_possible,_battery,_agp,_ammoArr]]; + + [_possible,_battery,_agp,_ammoArr,_allAmmo] + }; + +RYD_CFF_FFE = + {//[_battery,_tgt,_batlead,"SADARM",RydFFE_Friends,RydFFE_Debug] spawn RYD_CFF_FFE + private ["_battery","_target","_batlead","_Ammo","_friends","_Debug","_ammoG","_batname","_first","_phaseF","_targlead","_againF","_dispF","_accF","_amount","_Rate","_FMType","_againcheck","_Aunit", + "_RydAccF","_TTI","_amount1","_amount2","_template","_targetPos","_X0","_Y0","_X1","_Y1","_X2","_Y2","_Xav","_Yav","_transspeed","_transdir","_Xhd","_Yhd","_impactpos","_safebase","_distance", + "_safe","_safecheck","_gauss1","_gauss09","_gauss04","_gauss2","_distance2","_DdistF","_DdamageF","_DweatherF","_DskillF","_anotherD","_Dreduct","_spawndisp","_dispersion","_disp","_RydAccF", + "_gauss1b","_gauss2b","_AdistF","_AweatherF","_AdamageF","_AskillF","_Areduct","_spotterF","_anotherA","_acc","_finalimpact","_posX","_posY","_i","_dX","_dY","_angle","_dXb","_dYb","_posX2", + "_posY2","_AmmoN","_exDst","_exPX","_exPY","_onRoad","_exPos","_nR","_stRS","_dMin","_dAct","_dSum","_checkedRS","_RSArr","_angle","_rPos","_actRS","_ammocheck","_artyGp","_ammoCount","_dstAct", + "_maxRange","_minRange","_isTaken","_batlead","_alive","_waitFor","_UL","_ammoC","_add","_myFO","_assumedPos","_eta"]; + + _battery = _this select 0; + _target = _this select 1; + _batlead = _this select 2; + _Ammo = _this select 3; + _friends = _this select 4; + _Debug = _this select 5; + _ammoG = _this select 6; + _amount = _this select 7; + + _myFO = _target getVariable ["RydFFE_MyFO",objNull]; + _assumedPos = (getPosATL _target); + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + _markers = []; + + _battery1 = _battery select 0; + + _batLead1 = leader _battery1; + + _batname = str _battery1; + + //_first = _battery getVariable [("FIRST" + _batname),1]; + + //_artyGp = group _batlead; + + _isTaken = (group _target) getVariable ["CFF_Taken",false]; + if ((_isTaken) and (RydFFE_Monogamy)) exitWith + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } + } + foreach _battery + }; + + (group _target) setVariable ["CFF_Taken",true]; + + _phaseF = [1,2]; + if ((RydFFE_OnePhase) or ((count RydFFE_FO) == 0) and not (RydFFE_2PhWithoutFO)) then {_phaseF = [1]}; + + _targlead = vehicle (leader _target); + + _waitFor = true; + + _amount1 = ceil (_amount/6); + _amount2 = _amount - _amount1; + + { + if (isNil ("_myFO")) exitwith {_waitFor = false}; + if (isNull _myFO) exitwith {_waitFor = false}; + if not (alive _myFO) exitwith {_waitFor = false}; + + if (isNil ("_target")) exitwith {_waitFor = false}; + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _againF = 0.85; + _accF = RydFFE_Acc; + + _againcheck = _battery1 getVariable [("CFF_Trg" + _batname),objNull]; + if not ((str _againcheck) == (str _target)) then {_againF = 1}; + + _RydAccF = 1; + + //if (isNil ("RydFFE_Amount")) then {_amount = _this select 7} else {_amount = RydFFE_Amount}; + //if (isNil ("RydFFE_Acc")) then {_accF = 2} else {_accF = RydFFE_Acc}; + + //if (_ammoG in ["SPECIAL","SECONDARY"]) then {_amount = ceil (_amount/3)}; + + if ((count _phaseF) == 2) then + { + if (_x == 1) then + { + _amount = _amount1 + } + else + { + _amount = _amount2 + } + }; + + if (_amount == 0) exitwith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _targetPosATL = _assumedPos; + _targetPos = ATLtoASL _assumedPos; + + _eta = -1; + + { + { + _vh = vehicle _x; + _vhMags = magazines _vh; + if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then + { + _ammoC = _vhMags select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach _vhMags; + + _newEta = _vh getArtilleryETA [_targetPosATL,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + } + } + } + foreach (units _x) + } + foreach _battery; + + if (_eta == -1) exitWith {_waitFor = false}; + + _X0 = (_targetpos select 0); + _Y0 = (_targetpos select 1); + + sleep 10; + + if (isNil ("_myFO")) exitwith {_waitFor = false}; + if (isNull _myFO) exitwith {_waitFor = false}; + if not (alive _myFO) exitwith {_waitFor = false}; + + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _targetPos = ATLtoASL _assumedPos; + + _X1 = (_targetpos select 0); + _Y1 = (_targetpos select 1); + + sleep 10; + + if (isNil ("_myFO")) exitwith {_waitFor = false}; + if (isNull _myFO) exitwith {_waitFor = false}; + if not (alive _myFO) exitwith {_waitFor = false}; + + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _targetPos = ATLtoASL _assumedPos; + + _X2 = (_targetpos select 0); + _Y2 = (_targetpos select 1); + + _onRoad = isOnRoad _targlead; + + _Xav = (_X1+_X2)/2; + _Yav = (_Y1+_Y2)/2; + + _transspeed = ([_X0,_Y0] distance [_Xav,_Yav])/15; + _transdir = (_Xav - _X0) atan2 (_Yav - _Y0); + + _add = 16/(1 + (_transspeed)); + + _Xhd = _transspeed * (sin _transdir) * (_eta + _add); + _Yhd = _transspeed * (cos _transdir) * (_eta + _add); + _impactpos = _targetpos; + _safebase = 100; + + _exPX = (_targetPos select 0) + _Xhd; + _exPY = (_targetPos select 1) + _Yhd; + + _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; + _exTargetPosATL = ASLtoATL _exPos; + + _eta = -1; + + { + { + _vh = vehicle _x; + _vhMags = magazines _vh; + if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then + { + _ammoC = _vhMags select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach _vhMags; + + _newEta = _vh getArtilleryETA [_exTargetPosATL,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + } + } + } + foreach (units _x) + } + foreach _battery; + + if (_eta == -1) exitWith {_waitFor = false}; + + _Xhd = _transspeed * (sin _transdir) * (_eta + _add); + _Yhd = _transspeed * (cos _transdir) * (_eta + _add); + + _exPX = (_targetPos select 0) + _Xhd; + _exPY = (_targetPos select 1) + _Yhd; + + _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; + + _exDst = _targetPos distance _exPos; + + if (isNil ("RydFFE_Safe")) then {_safebase = 100} else {_safebase = RydFFE_Safe}; + + _safe = _safebase * _RydAccf * (1 + overcast); + + _safecheck = true; + + if not (_onRoad) then + { + { + if (([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x))) < _safe) exitwith + { + _Xhd = _Xhd/2; + _Yhd = _Yhd/2 + } + } + foreach _friends; + + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends; + + if not (_safecheck) then + { + _Xhd = _Xhd/2; + _Yhd = _Yhd/2; + _safecheck = true; + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends; + if not (_safecheck) then + { + _Xhd = _Xhd/5; + _Yhd = _Yhd/5; + _safecheck = true; + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends + } + }; + + _impactpos = [(_targetpos select 0) + _Xhd, (_targetpos select 1) + _Yhd]; + } + else + { + _nR = _targlead nearRoads 30; + + _stRS = _nR select 0; + _dMin = _stRS distance _exPos; + + { + _dAct = _x distance _exPos; + if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} + } + foreach _nR; + + _dSum = _assumedPos distance _stRS; + _checkedRS = [_stRS]; + _actRS = _stRS; + + while {_dSum < _exDst} do + { + _RSArr = (roadsConnectedTo _actRS) - _checkedRS; + if ((count _RSArr) == 0) exitWith {}; + _stRS = _RSArr select 0; + _dMin = _stRS distance _exPos; + + { + _dAct = _x distance _exPos; + if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} + } + foreach _RSArr; + + _dSum = _dSum + (_stRS distance _actRS); + + _actRS = _stRS; + + _checkedRS set [(count _checkedRS),_stRS]; + }; + + if (_dSum < _exDst) then + { + //if (_transdir < 0) then {_transdir = _transdir + 360}; + _angle = [_targetPos,(getPosASL _stRS),1] call RYD_AngTowards; + _impactPos = [(getPosASL _stRS),_angle,(_exDst - _dSum)] call RYD_PosTowards2D + } + else + { + _rPos = getPosASL _stRS; + _impactPos = [_rPos select 0,_rPos select 1] + }; + + { + if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith + { + _safeCheck = false; + _impactpos = [((_impactpos select 0) + (_targetPos select 0))/2,((_impactpos select 1) + (_targetPos select 1))/2] + } + } + foreach _friends + }; + + if not (_safeCheck) then + { + _safeCheck = true; + + { + if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith + { + _safeCheck = false + } + } + foreach _friends + }; + + if not (_safecheck) exitwith {(group _target) setVariable ["CFF_Taken",false];_waitFor = false}; + + _distance2 = _impactPos distance (getPosATL (vehicle _batlead1)); + _DweatherF = 1 + overcast; + _gauss09 = (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09); + + //_gauss1 = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); + //_gauss04 = (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04); + //_gauss2 = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); + //_DdistF = (_distance2/10) * (0.1 + _gauss04); + //_DdamageF = 1 + 0.5 * (damage _batlead1); + //_DskillF = 2 * (skill _batlead1); + //_anotherD = 1 + _gauss1; + //_Dreduct = (1 + _gauss2) + _DskillF; + + //_spawndisp = _dispF * ((_RydAccf * _DdistF * _DdamageF) + (50 * _DweatherF * _anotherD)) / _Dreduct; + //_dispersion = 10000 * (_spawndisp atan2 _distance2) / 57.3; + + //_disp = _dispersion; + //if (isNil ("RydFFE_SpawnM")) then {_disp = _dispersion} else {_disp = _spawndisp}; + + //[_battery,_disp] call BIS_ARTY_F_SetDispersion; + + _RydAccF = 1; + + _gauss1b = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); + _gauss2b = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); + _AdistF = (_distance2/10) * (0.1 + _gauss09); + _AweatherF = _DweatherF; + _AdamageF = 1 + 0.1 * (damage (vehicle _batlead1)); + _AskillF = 5 * (_batlead1 skill "aimingAccuracy"); + _Areduct = (1 + _gauss2b) + _AskillF; + _spotterF = 0.2 + (random 0.2); + _anotherA = 1 + _gauss1b; + if not (isNil ("RydFFE_FOAccGain")) then {_spotterF = RydFFE_FOAccGain + (random 0.2)}; + if (((count _phaseF) == 2) and (_x == 1) or ((count _phaseF) == 1)) then {_spotterF = 1}; + + _acc = _spotterF * _againF * _accF * ((_AdistF * _AdamageF) + (50 * _AweatherF * _anotherA)) / _Areduct; + + _finalimpact = [(_impactpos select 0) + (random (2 * _acc)) - _acc,(_impactpos select 1) + (random (2 * _acc)) - _acc]; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + //_dstAct = _impactpos vectorDistance _batlead; + + { + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_ShotFired",false] + } + foreach (units _x) + }; + } + foreach _battery; + + sleep 0.2; + _posX = 0; + _posY = 0; + + _distance = _impactPos distance _finalimpact; + + (_battery select 0) setVariable ["RydFFE_Break",false]; + + if (_Debug) then + { + _posM1 = getposATL (vehicle _batlead1); + _posM1 set [2,0]; + _impactPosM = +_impactPos; + _impactPosM set [2,0]; + _finalimpactM = +_finalimpact; + _finalimpactM set [2,0]; + + _text = getText (configFile >> "CfgVehicles" >> (typeOf (vehicle _batlead1)) >> "displayName"); + _i = "markBat" + str (_battery1); + _i = createMarker [_i,_posM1]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_circle"; + _i setMarkerSize [0.4,0.4]; + _i setMarkerText ("Firing battery - " + _text); + + _markers pushBack _i; + + _distance = _impactPosM vectorDistance _finalimpactM; + _distance2 = _impactPosM vectorDistance _posM1; + _i = "mark0" + str (_battery1); + _i = createMarker [_i,_impactPos]; + _i setMarkerColor "ColorBlue"; + _i setMarkerShape "ELLIPSE"; + _i setMarkerSize [_distance, _distance]; + _i setMarkerBrush "Border"; + + _markers pushBack _i; + + _dX = (_impactPosM select 0) - (_posM1 select 0); + _dY = (_impactPosM select 1) - (_posM1 select 1); + _angle = _dX atan2 _dY; + if (_angle >= 180) then {_angle = _angle - 180}; + _dXb = (_distance2/2) * (sin _angle); + _dYb = (_distance2/2) * (cos _angle); + _posX = (_posM1 select 0) + _dXb; + _posY = (_posM1 select 1) + _dYb; + + _i = "mark1" + str (_battery1); + _i = createMarker [_i,[_posX,_posY]]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "RECTANGLE"; + _i setMarkerSize [0.5,_distance2/2]; + _i setMarkerBrush "Solid"; + _i setMarkerdir _angle; + + _markers pushBack _i; + + _dX = (_finalimpactM select 0) - (_impactPosM select 0); + _dY = (_finalimpactM select 1) - (_impactPosM select 1); + _angle = _dX atan2 _dY; + if (_angle >= 180) then {_angle = _angle - 180}; + _dXb = (_distance/2) * (sin _angle); + _dYb = (_distance/2) * (cos _angle); + _posX2 = (_impactPosM select 0) + _dXb; + _posY2 = (_impactPosM select 1) + _dYb; + + _i = "mark2" + str (_battery1); + _i = createMarker [_i,[_posX2,_posY2]]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "RECTANGLE"; + _i setMarkerSize [0.5,_distance/2]; + _i setMarkerBrush "Solid"; + _i setMarkerdir _angle; + + _markers pushBack _i; + + _i = "mark3" + str (_battery1); + _i = createMarker [_i,_impactPosM]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_dot"; + + _markers pushBack _i; + + _i = "mark4" + str (_battery1); + _i = createMarker [_i,_finalimpactM]; + _i setMarkerColor "ColorRed"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_dot"; + _i setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _eta) + " - " + _ammoG); + + _markers pushBack _i; + + /*_i = "mark5" + str (_battery); + _i = createMarker [_i,_finalimpactM]; + _i setMarkerColor "ColorRedAlpha"; + _i setMarkerShape "ELLIPSE"; + _i setMarkerSize [_spawndisp,_spawndisp];*/ + }; + + [_battery,_distance,_eta,_ammoG,_batlead,_target,_markers] spawn + { + private ["_mark","_battery","_distance","_eta","_Ammo","_target","_alive","_stoper","_TOF","_batlead"]; + + _battery = _this select 0; + _distance = _this select 1; + _eta = _this select 2; + _ammoG = _this select 3; + _batlead = _this select 4; + _target = _this select 5; + _markers = _this select 6; + + _battery1 = _battery select 0; + + _alive = true; + _shot = false; + + waitUntil + { + sleep 0.1; + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + if (_battery1 getVariable ["RydFFE_Break",false]) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if ((vehicle _x) getVariable ["RydFFE_ShotFired",false]) exitWith {_shot = true} + } + foreach (units _x) + }; + + if (_shot) exitWith {} + } + foreach _battery; + + ((_shot) or not (_alive)) + }; + + { + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_ShotFired",false] + } + foreach (units _x) + }; + } + foreach _battery; + + _stoper = time; + _TOF = 0; + _rEta = _eta; + _mark = ""; + + if ((count _markers) > 0) then + { + _mark = _markers select ((count _markers) -1); + }; + + while {(not (_rEta < 5) and not (_TOF > 200) and (_alive))} do + { + if (({not (isNull _x)} count _batlead) < 1) exitWith {_alive = false}; + if (isNull _battery1) exitWith {_alive = false}; + if (({(alive _x)} count _batlead) < 1) exitWith {_alive = false}; + if (_battery1 getVariable ["RydFFE_Break",false]) exitWith {_alive = false}; + + _TOF = (round (10 * (time - _stoper)))/10; + _rEta = _eta - _TOF; + + if ((count _markers) > 0) then + { + _mark setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _rEta) + " - TOF: " + (str _TOF) + " - " + _ammoG); + }; + + sleep 0.1 + }; + + if not (_alive) exitWith + { + (group _target) setvariable ["CFF_Taken",false]; + + { + deleteMarker _x; + } + foreach _markers; + }; + + _battery1 setVariable ["RydFFE_SPLASH",true]; + + if ((count _markers) > 0) then + { + _mark setMarkerText (str (round _distance) + "m" + " - SPLASH!" + " - " + _ammoG); + }; + }; + + _eta = [_battery,_finalimpact,_ammo,_amount] call RYD_CFF_Fire; + + _UL = _batlead1; + + _alive = (_eta > 0); + + if not (_alive) then {(_battery select 0) setVariable ["RydFFE_Break",true]}; + + waituntil + { + sleep 1; + + _available = true; + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} + } + foreach (units _x) + }; + + if not (_available) exitWith {} + } + foreach _battery; + + ((_available) or not (_alive)) + }; + + if not (_alive) exitWith {_waitFor = false}; + + if (((count _phaseF) == 2) and (_x == 1)) then + { + _alive = true; + _splash = false; + + waitUntil + { + sleep 1; + + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; + + ((_splash) or not (_alive)) + }; + + if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; + + sleep 10; + + { + deleteMarker _x; + } + foreach _markers + }; + + if not (_alive) exitWith {_waitFor = false}; + } + foreach _phaseF; + + _battery1 setVariable [("CFF_Trg" + _batname),_target]; + + _alive = true; + _splash = false; + + if (_waitFor) then + { + waitUntil + { + sleep 1; + + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; + + ((_splash) or not (_alive)) + }; + + if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; + + sleep 10 + }; + + { + deleteMarker _x; + } + foreach _markers; + + (group _target) setVariable ["CFF_Taken",false]; + + _alive = true; + + waitUntil + { + sleep 1; + + _available = true; + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + //if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} + } + foreach (units _x) + }; + + if not (_available) exitWith {} + } + foreach _battery; + + ((_available) or not (_alive)) + }; + + //if not (_alive) exitWith {}; + + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } + } + foreach _battery + }; + +RYD_CFF = + {//[RydFFE_ArtG,RydFFE_KnEnemies,(RydFFE_EnHArmor + RydFFE_EnMArmor + RydFFE_EnLArmor),RydFFE_Friends,RydFFE_Debug] call RYD_CFF; + private ["_artG","_knEnemies","_enArmor","_friends","_Debug","_CFFMissions","_tgt","_ammo","_bArr","_possible","_amount","_amnt"]; + + _artG = _this select 0; + _knEnemies = _this select 1; + _enArmor = _this select 2; + _friends = _this select 3; + _Debug = _this select 4; + _amount = _this select 5; + + _CFFMissions = ceil (random (count _artG)); + + for "_i" from 1 to _CFFMissions do + { + _tgt = [_knEnemies] call RYD_CFF_TGT; + + if not (isNull _tgt) then + { + _ammo = "HE"; + _amnt = _amount; + if ((random 100) > 85) then {_ammo = "SPECIAL";_amnt = (ceil (_amount/3))}; + //if (_tgt in _enArmor) then {_ammo = "HE";_amnt = 6}; + + _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_ArtyMission; + + _possible = _bArr select 0; + if (_possible) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach (_bArr select 1); + [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_CFF_FFE + } + else + { + switch (true) do + { + case (_ammo in ["SPECIAL","SECONDARY"]) : {_ammo = "HE";_amnt = _amount}; + case (_ammo in ["HE"]) : {_ammo = "SECONDARY";_amnt = _amount}; + }; + + _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_ArtyMission; + + _possible = _bArr select 0; + if (_possible) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach (_bArr select 1); + [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_CFF_FFE + } + } + }; + + sleep (5 + (random 5)) + } + }; + +RYD_CFF_Fire = + { + private ["_battery","_pos","_ammo","_amount","_guns","_vh","_mags","_amount0","_eta","_alive","_available","_perGun","_rest","_aGuns","_perGun1","_shots","_toFire","_rest0","_bad","_ammoC","_ws","_gun"]; + + _battery = _this select 0; + _pos = _this select 1; + _ammo = _this select 2; + _amount = _this select 3; + + _eta = -1; + + _guns = []; + + { + if not (isNull _x) then + { + { + _vh = vehicle _x; + if not (_vh in _guns) then + { + _shots = 0; + + { + if ((_x select 0) in _ammo) then + { + _shots = _shots + (_x select 1) + } + } + foreach (magazinesAmmo _vh); + + _vh setVariable ["RydFFE_ShotsToFire",0]; + _vh setVariable ["RydFFE_MyShots",_shots]; + + if (_shots > 0) then + { + _guns set [(count _guns),_vh] + } + } + } + foreach (units _x) + } + } + foreach _battery; + + _aGuns = count _guns; + + if (_aGuns < 1) exitWith {-1}; + if (_amount < 1) exitWith {-1}; + + _perGun = floor (_amount/_aGuns); + _rest = _amount - (_perGun * _aGuns); + + { + _shots = _x getVariable ["RydFFE_MyShots",0]; + if not (_shots > _perGun) then + { + _x setVariable ["RydFFE_ShotsToFire",_shots]; + _amount = _amount - _shots; + _rest = _rest + (_perGun - _shots); + _x setVariable ["RydFFE_MyShots",0] + } + else + { + _x setVariable ["RydFFE_ShotsToFire",_perGun]; + _x setVariable ["RydFFE_MyShots",_shots - _perGun] + }; + } + foreach _guns; + + _bad = false; + + while {(_rest > 0)} do + { + _rest0 = _rest; + + { + if (_rest < 1) exitWith {}; + _shots = _x getVariable ["RydFFE_MyShots",0]; + + if (_shots > 0) then + { + _toFire = _x getVariable ["RydFFE_ShotsToFire",0]; + + _rest = _rest - 1; + + _x setVariable ["RydFFE_ShotsToFire",_toFire + 1]; + _x setVariable ["RydFFE_MyShots",_shots - 1] + } + } + foreach _guns; + + if (not (_rest0 > _rest) and (_rest > 0)) exitWith {_bad = true} + }; + + if (_bad) exitWith {-1}; + + { + if not (isNull _x) then + { + _vh = vehicle _x; + + if ((_vh getVariable ["RydFFE_ShotsToFire",0]) > 0) then + { + _mags = getArtilleryAmmo [_vh]; + + _ammoC = (magazines _vh) select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach (magazines _vh); + + if (_ammoC in _mags) then + { + _amount = _amount - 1; + + _newEta = _vh getArtilleryETA [_pos,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + }; + + [_vh,_pos,_ammoC] spawn + { + _vh = _this select 0; + _pos = _this select 1; + _ammo = _this select 2; + + if (_pos inRangeOfArtillery [[_vh],_ammo]) then + { + if (_ammo in (getArtilleryAmmo [_vh])) then + { + _vh setVariable ["RydFFE_GunFree",false]; + + if not ((currentMagazine _vh) in [_ammo]) then + { + _vh loadMagazine [[0],currentWeapon _vh,_ammo]; + + _ct = time; + + waitUntil + { + sleep 0.1; + _ws = weaponState [_vh,[0]]; + _ws = _ws select 3; + ((_ws in [_ammo]) or ((time - _ct) > 30)) + }; + + sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "magazineReloadTime")) + 0.1) + }; + + if (_pos inRangeOfArtillery [[_vh],_ammo]) then + { + if (_ammo in (getArtilleryAmmo [_vh])) then + { + if (((toLower (typeOf _vh)) in ["uss_iowa_turret_c","uss_iowa_turret_b","uss_iowa_turret_a"]) or {RydFFE_IowaMode}) then + { + { + _gun = vehicle _x; + if not ((toLower (typeOf _gun)) isEqualTo "uss_iowa_battleship") then + { + _gun doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] + } + } + foreach (units (group _vh)) + } + else + { + _vh doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] + }; + + _ct = time; + + waitUntil + { + sleep 0.1; + (not ((_vh getVariable ["RydFFE_ShotFired2",0]) < (_vh getVariable ["RydFFE_ShotsToFire",1])) or ((time - _ct) > 15)) + }; + + _vh setVariable ["RydFFE_ShotFired",true]; + _vh setVariable ["RydFFE_ShotFired2",0]; + }; + }; + + sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "reloadTime")) + 0.5); + + _vh setVariable ["RydFFE_GunFree",true] + } + } + } + } + } + } + } + foreach _guns; + + /*{ + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_GunFree",true] + } + foreach (units _x) + } + } + foreach _battery;*/ + + _eta + }; + +RydFFE_ShellsInRadius = + { + private ["_center","_radius","_shells","_inRange","_pos1","_shell","_pos2"]; + + _center = _this select 0; + _radius = _this select 1; + + _pos1 = [_center select 0,_center select 1,0]; + + _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + + _inRange = []; + + { + _shell = _x; + if not (isNil "_shell") then + { + if not (isNull _x) then + { + _pos2 = getPosASL _x; + _pos2 = [_pos2 select 0,_pos2 select 1,0]; + + if ((_pos1 distance _pos2) < _radius) then + { + _inRange set [(count _inRange),_x] + } + } + } + } + foreach _shells; + + _inRange + }; + +RydFFE_AutoConfig = + { + private ["_allArty","_vh","_typeVh","_mags","_prim","_rare","_sec","_smoke","_illum","_maxHit","_ammo","_ammoC","_actHit","_subM","_mags0","_illumChosen","_smokeChosen","_rareChosen","_secChosen", + "_hit","_lc","_sim","_subM","_arr"]; + + _allArty = _this select 0; + + { + _vh = _x; + + if not (_vh getVariable ["RydFFE_CheckedOut",false]) then + { + _vh setVariable ["RydFFE_CheckedOut",true]; + _typeVh = toLower (typeOf _vh); + + if not (_typeVh in _allArty) then + { + _mags = getArtilleryAmmo [_vh]; + + if ((count _mags) > 0) then + { + _prim = ""; + _rare = ""; + _sec = ""; + _smoke = ""; + _illum = ""; + + _maxHit = 10; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + + _actHit = getNumber (_ammoC >> "indirectHitRange"); + _subM = toLower (getText (_ammoC >> "submunitionAmmo")); + + if (_actHit <= 10) then + { + if not (_subM isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subM; + _actHit = getNumber (_ammoC >> "indirectHitRange") + } + }; + + if ((_actHit > _maxHit) and {_actHit < 100}) then + { + _maxHit = _actHit; + _prim = _x + } + } + foreach _mags; + + _mags = _mags - [_prim]; + _mags0 = +_mags; + _illumChosen = false; + _smokeChosen = false; + _rareChosen = false; + _secChosen = false; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + + _hit = getNumber (_ammoC >> "indirectHit"); + _lc = _ammoC >> "lightColor"; + _sim = toLower (getText (_ammoC >> "simulation")); + _subM = toLower (getText (_ammoC >> "submunitionAmmo")); + + if (_hit <= 10) then + { + if not (_subM isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subM; + _hit = getNumber (_ammoC >> "indirectHit") + } + }; + + switch (true) do + { + case ((isArray _lc) and {not (_illumChosen)}) : + { + _illum = _x; + _mags = _mags - [_x]; + _illumChosen = true + }; + + case ((_hit <= 10) and {(_subM isEqualTo "smokeshellarty") and {not (_smokeChosen)}}) : + { + _smoke = _x; + _mags = _mags - [_x]; + _smokeChosen = true + }; + + case ((_sim isEqualTo "shotsubmunitions") and {not (_rareChosen)}) : + { + _rare = _x; + _mags = _mags - [_x]; + _rareChosen = true + }; + + case ((_hit > 10) and {not ((_secChosen) or {(_rare == _x)})}) : + { + _sec = _x; + _mags = _mags - [_x]; + _secChosen = true + } + } + } + foreach _mags0; + + if (_sec isEqualTo "") then + { + _maxHit = 10; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + _subAmmo = _ammoC >> "subMunitionAmmo"; + + if not (_subAmmo isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subAmmo + }; + + _actHit = getNumber (_ammoC >> "indirectHit"); + + if (_actHit > _maxHit) then + { + _maxHit = _actHit; + _sec = _x + } + } + foreach _mags; + }; + + _arr = [_prim,_rare,_sec,_smoke,_illum]; + + if (({_x isEqualTo ""} count _arr) < 5) then + { + RydFFE_Other pushBack [[_typeVh],_arr]; + _allArty pushBack _typeVh + } + } + } + } + } + foreach vehicles; + + RydFFE_AllArty = _allArty; + + _allArty + }; \ No newline at end of file diff --git a/Vcom/RYD_FFE/Shellview.sqf b/Vcom/RYD_FFE/Shellview.sqf new file mode 100644 index 0000000..b996ede --- /dev/null +++ b/Vcom/RYD_FFE/Shellview.sqf @@ -0,0 +1,125 @@ +waitUntil {sleep 1; (RydFFE_Debug)}; + +RydFFE_SVStart = false; + +OnMapSingleClick + ' + if not (RydFFE_SVStart) then + { + RydFFE_SVStart = true; + + _i = createMarker ["rangemark",_pos]; + _i setMarkerColor "ColorKhaki"; + _i setMarkerShape "ELLIPSE"; + _i setMarkerSize [RydFFE_SVRange,RydFFE_SVRange]; + _i setMarkerBrush "Border"; + + missionNamespace setVariable ["shellVMark",_i]; + }; + + if ((RydFFE_SVStart) and (_shift)) then + { + RydFFE_SVStart = false; + _svcircle = missionNamespace getVariable ["shellVMark",""]; + _shells = missionNamespace getVariable ["shellVShells",[]]; + + { + deleteMarker _x + } + foreach _shells; + + missionNamespace setVariable ["shellVShells",nil]; + + deleteMarker _svcircle; + + missionNamespace setVariable ["shellVMark",nil] + } + '; + +while {RydFFE_ShellView} do + { + while {((RydFFE_SVStart) and (RydFFE_Debug))} do + { + _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + + { + _shell = _x; + if (isNil "_shell") then + { + _shells set [_foreachIndex,"Del"] + } + else + { + if (isNull _x) then + { + _shells set [_foreachIndex,"Del"] + } + } + } + foreach _shells; + + _shells = _shells - ["Del"]; + missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; + + _svPos = getMarkerPos (missionNamespace getVariable ["shellVMark",""]); + _shellsA = [_svPos,RydFFE_SVRange] call RydFFE_ShellsInRadius; + _shells = []; + + { + _shell = _x; + if not (isNil "_shell") then + { + if not (isNull _x) then + { + if ((typeName _x) == "OBJECT") then + { + if not (_x isKindOf "AllVehicles") then + { + _shells set [(count _shells),_x] + } + } + } + } + } + foreach _shellsA; + + _shellMarks = []; + + { + _shellpos = getposATL _x; + _i = "shell" + (str _x) + (str (random 100)); + _i = createMarker [_i,_shellpos]; + _i setMarkerColor "ColorOrange"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_dot"; + _shellMarks set [(count _shellMarks),_i] + } + foreach _shells; + + missionNameSpace setVariable ["shellVShells",_shellMarks]; + + + + { + [_x] spawn + { + _mark = _this select 0; + _size = 1; + while {_size > 0.1} do + { + _size = _size - 0.03; + _mark setMarkerSize [_size,_size]; + sleep 0.025 + }; + + deleteMarker _mark + } + } + foreach _shellMarks; + sleep 0.2; + missionNameSpace setVariable ["shellVShells",nil]; + sleep 0.05 + }; + + sleep 2 + }; diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index a9305f5..4cca8f8 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -48,6 +48,10 @@ Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; +//Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ +if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; + + //Below is loop to check for new AI spawning in to be added to the list [] spawn { @@ -68,7 +72,7 @@ Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; if (local _x && {simulationEnabled (leader _x)} && {!(isplayer (leader _x))} && {(leader _x) isKindOf "Man"}) then { private _Grp = _x; - if (!(_Grp in VcmAI_ActiveList) && {!(VCM_SIDEENABLED findIf {_x isEqualTo (side _Grp)} isEqualTo -1)}) then + if !(_Grp in VcmAI_ActiveList) then //{!(VCM_SIDEENABLED findIf {_x isEqualTo (side _Grp)} isEqualTo -1)} { if !(((units _Grp) findIf {alive _x}) isEqualTo -1) then { @@ -76,9 +80,8 @@ Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; }; }; }; - true; - } count allGroups; + } foreach allGroups; }; - sleep 10; + uisleep 10; }; }; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 68955c0..2a492e3 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -17,61 +17,63 @@ class VcomFunctions //[] call VCM_fnc_Classname class Classname {}; // [] call VCM_fnc_CheckArty - class CheckArty; + class CheckArty {}; //[] call VCM_fnc_RearmSelf - class RearmSelf; + class RearmSelf {}; //[] spawn VCM_fnc_ActRearm - class ActRearm; + class ActRearm {}; //[] spawn VCM_fnc_Garrison - class Garrison; + class Garrison {}; //[] call VCM_fnc_ClstEmy - class ClstEmy; + class ClstEmy {}; //[] call VCM_fnc_ClstObj - class ClstObj; + class ClstObj {}; //[] call VCM_fnc_BoxNrst - class BoxNrst; + class BoxNrst {}; //[] call VCM_fnc_FindCover - class FindCover; + class FindCover {}; //[] spawn VCM_fnc_FlankMove - class FlankMove; + class FlankMove {}; //[] call VCM_fnc_Heights - class Heights; - //[] call VCM_fnc_GarrisonLight; - class GarrisonLight; - //[] call VCM_fnc_PackStatic; - class PackStatic; - //[] spawn VCM_fnc_SatchelPlant; - class SatchelPlant; - //[] spawn VCM_fnc_MinePlant; - class MinePlant; - //[] call VCM_fnc_EmptyStatic; - class EmptyStatic; - //[] call VCM_fnc_ArmStatics; - class ArmStatics; - //[] call VCM_fnc_ArtyManage; - class ArtyManage; - //[] call VCM_fnc_ArtyCall; - class ArtyCall; - //[] call VCM_fnc_AIHIT; - class AIHIT; - //[] call VCM_fnc_HearingAids; - class HearingAids; - //[] call VCM_fnc_EnemyArray; - class EnemyArray; - //[] call VCM_fnc_ClstWarn; - class ClstWarn; - //[] call VCM_fnc_FriendlyArray; - class FriendlyArray; - //[] call VCM_fnc_WyptChk; - class WyptChk; - //[] call VCM_fnc_FrmChnge; - class FrmChnge; + class Heights {}; + //[] call VCM_fnc_GarrisonLight {}; + class GarrisonLight {}; + //[] call VCM_fnc_PackStatic {}; + class PackStatic {}; + //[] spawn VCM_fnc_SatchelPlant {}; + class SatchelPlant {}; + //[] spawn VCM_fnc_MinePlant {}; + class MinePlant {}; + //[] call VCM_fnc_EmptyStatic {}; + class EmptyStatic {}; + //[] call VCM_fnc_ArmStatics {}; + class ArmStatics {}; + //[] call VCM_fnc_ArtyManage {}; + class ArtyManage {}; + //[] call VCM_fnc_ArtyCall {}; + class ArtyCall {}; + //[] call VCM_fnc_AIHIT {}; + class AIHIT {}; + //[] call VCM_fnc_HearingAids {}; + class HearingAids {}; + //[] call VCM_fnc_EnemyArray {}; + class EnemyArray {}; + //[] call VCM_fnc_ClstWarn {}; + class ClstWarn {}; + //[] call VCM_fnc_FriendlyArray {}; + class FriendlyArray {}; + //[] call VCM_fnc_WyptChk {}; + class WyptChk {}; + //[] call VCM_fnc_FrmChnge {}; + class FrmChnge {}; //[] call VCM_fnc_ForceMove - class ForceMove; - //[] call VCM_fnc_ClearBuilding; - class ClearBuilding; - //[] call VCM_fnc_IRCHECK; - class IRCHECK; + class ForceMove {}; + //[] call VCM_fnc_ClearBuilding {}; + class ClearBuilding {}; + //[] call VCM_fnc_IRCHECK {}; + class IRCHECK {}; + //[] call VCM_fnc_KnowAbout + class KnowAbout {}; }; diff --git a/description.ext b/description.ext index a2f5d93..4423572 100644 --- a/description.ext +++ b/description.ext @@ -20,6 +20,7 @@ class CfgRemoteExec class BIS_fnc_debugConsoleExec { allowedTargets = 0;jip = 1; }; class SpawnScript { allowedTargets = 0;jip = 1; }; class enableSimulationGlobal { allowedTargets = 0;jip = 1; }; + class VCM_fnc_KnowAbout { allowedTargets = 0;jip = 1; }; }; diff --git a/license.txt b/license.txt index 890a57b..ed091a8 100644 --- a/license.txt +++ b/license.txt @@ -2,4 +2,6 @@ Copyright 2018 genesis92x This work (VcomAI or the like) uses the license Arma Public License Share Alike (APL-SA) -https://www.bohemia.net/community/licenses/arma-public-license-share-alike \ No newline at end of file +https://www.bohemia.net/community/licenses/arma-public-license-share-alike + +Addon was created "by player for players", source scripts you can freely modify, copy, "cannibalize", to use in your projects. It is released under APL-SA license. I'll be grateful for notification about each such usage. \ No newline at end of file diff --git a/mission.sqm b/mission.sqm index 6ee9018..c141ab3 100644 --- a/mission.sqm +++ b/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=13; class ItemIDProvider { - nextID=79; + nextID=78; }; class MarkerIDProvider { @@ -16,23 +16,22 @@ class EditorData }; class Camera { - pos[]={14667.764,116.34233,20815.076}; - dir[]={-0.75383526,-0.6547575,0.055532739}; - up[]={-0.65301406,0.75582027,0.048104141}; - aside[]={0.073468916,-7.4558557e-007,0.99733043}; + pos[]={14625.77,100.17471,20672.441}; + dir[]={0.58632445,-0.64768189,-0.48662868}; + up[]={0.49842101,0.76188058,-0.41366819}; + aside[]={-0.6386776,-5.6112185e-008,-0.76953018}; }; }; binarizationWanted=0; addons[]= { - "A3_Characters_F", - "A3_Modules_F_Curator_Curator" + "A3_Characters_F" }; class AddonsMetaData { class List { - items=2; + items=1; class Item0 { className="A3_Characters_F"; @@ -40,13 +39,6 @@ class AddonsMetaData author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item1 - { - className="A3_Modules_F_Curator"; - name="Arma 3 Zeus Update - Scripted Modules"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; }; }; randomSeed=3460971; @@ -105,7 +97,7 @@ class Mission }; class Entities { - items=2; + items=1; class Item0 { dataType="Group"; @@ -118,158 +110,25 @@ class Mission dataType="Object"; class PositionInfo { - position[]={14611.534,52.928478,20813.127}; - angles[]={0,4.967783,0}; + position[]={14611.534,52.928631,20813.127}; + angles[]={0,4.9677863,0}; }; side="West"; flags=3; class Attributes { - name="player1"; isPlayer=1; }; id=1; type="B_Soldier_TL_F"; - atlOffset=3.4673386; - class CustomAttributes - { - class Attribute0 - { - property="speaker"; - expression="_this setspeaker _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="Male10ENG"; - }; - }; - }; - class Attribute1 - { - property="pitch"; - expression="_this setpitch _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0.99000001; - }; - }; - }; - nAttributes=2; - }; + atlOffset=3.4674911; }; }; class Attributes { }; id=0; - atlOffset=3.4673386; - }; - class Item1 - { - dataType="Logic"; - class PositionInfo - { - position[]={14773.848,58.553928,20828.242}; - }; - id=78; - type="ModuleCurator_F"; - class CustomAttributes - { - class Attribute0 - { - property="ModuleCurator_F_Owner"; - expression="_this setVariable ['Owner',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="player1"; - }; - }; - }; - class Attribute1 - { - property="ModuleCurator_F_Forced"; - expression="_this setVariable ['Forced',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0; - }; - }; - }; - class Attribute2 - { - property="ModuleCurator_F_Name"; - expression="_this setVariable ['Name',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value=""; - }; - }; - }; - class Attribute3 - { - property="ModuleCurator_F_Addons"; - expression="_this setVariable ['Addons',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=3; - }; - }; - }; - nAttributes=4; - }; + atlOffset=3.4674911; }; }; }; diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 1379d10..efd7593 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -14,16 +14,21 @@ Vcm_Settings = Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone - VCM_ARTYENABLE = true; //Enable improved artillery handling. - VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. - VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 75; //Chance to lay a mine + + //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. + VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. VCM_ARTYDELAY = 300; //Delay between squads requesting artillery VCM_ARTYWT = -(VCM_ARTYDELAY); VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ + VCM_FFEARTILLERY = true; + + VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. + VCM_Debug = false; //Enable debug mode. + VCM_MINECHANCE = 75; //Chance to lay a mine VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL From f71df4153dd03a96082babd40d58ae7787320949 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 10 Nov 2018 03:27:31 +0100 Subject: [PATCH 05/83] FFE cleanup and migration to function library * Converted FFE functions into seperate files, supported by the functions library. * Added CBA Settings for FFE * Cleaned up FFE functions FFE is currently not functional as of this commit, and needs to be fixed. --- .../Functions/FFE_Functions/fn_AngTowards.sqf | 9 + .../FFE_Functions/fn_ArtyMission.sqf | 234 +++ Vcom/Functions/FFE_Functions/fn_ArtyPrep.sqf | 42 + .../Functions/FFE_Functions/fn_AutoConfig.sqf | 149 ++ Vcom/Functions/FFE_Functions/fn_CFF.sqf | 61 + Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf | 788 ++++++++ Vcom/Functions/FFE_Functions/fn_CFF_Fire.sqf | 204 ++ Vcom/Functions/FFE_Functions/fn_CFF_TGT.sqf | 117 ++ .../FFE_Functions/fn_PosTowards2D.sqf | 12 + .../FFE_Functions/fn_ShellsInRadius.sqf | 25 + .../FFE_Shellview/fn_Shellview.sqf} | 0 Vcom/Functions/VCM_CBASettings.sqf | 154 +- .../{ => VCM_Functions}/fn_AIHIT.sqf | 0 .../{ => VCM_Functions}/fn_ActRearm.sqf | 0 .../{ => VCM_Functions}/fn_ArmStatics.sqf | 0 .../{ => VCM_Functions}/fn_ArtyCall.sqf | 0 .../{ => VCM_Functions}/fn_ArtyManage.sqf | 0 .../{ => VCM_Functions}/fn_BoxNrst.sqf | 0 .../{ => VCM_Functions}/fn_CheckArty.sqf | 0 .../{ => VCM_Functions}/fn_Classname.sqf | 0 .../{ => VCM_Functions}/fn_ClearBuilding.sqf | 0 .../{ => VCM_Functions}/fn_ClstEmy.sqf | 0 .../{ => VCM_Functions}/fn_ClstObj.sqf | 0 .../{ => VCM_Functions}/fn_ClstWarn.sqf | 0 .../{ => VCM_Functions}/fn_EmptyStatic.sqf | 0 .../{ => VCM_Functions}/fn_EnemyArray.sqf | 0 .../{ => VCM_Functions}/fn_FindCover.sqf | 0 .../{ => VCM_Functions}/fn_FlankMove.sqf | 0 .../{ => VCM_Functions}/fn_ForceMove.sqf | 0 .../{ => VCM_Functions}/fn_FriendlyArray.sqf | 0 .../{ => VCM_Functions}/fn_FrmChnge.sqf | 0 .../{ => VCM_Functions}/fn_Garrison.sqf | 0 .../{ => VCM_Functions}/fn_GarrisonLight.sqf | 0 .../{ => VCM_Functions}/fn_HasMine.sqf | 0 .../{ => VCM_Functions}/fn_HearingAids.sqf | 0 .../{ => VCM_Functions}/fn_Heights.sqf | 0 .../{ => VCM_Functions}/fn_IRCHECK.sqf | 0 .../{ => VCM_Functions}/fn_KitChk.sqf | 0 .../{ => VCM_Functions}/fn_KnowAbout.sqf | 0 .../{ => VCM_Functions}/fn_MinePlant.sqf | 0 .../{ => VCM_Functions}/fn_PackStatic.sqf | 0 .../{ => VCM_Functions}/fn_RMedics.sqf | 0 .../{ => VCM_Functions}/fn_RStatics.sqf | 0 .../{ => VCM_Functions}/fn_RearmSelf.sqf | 0 .../{ => VCM_Functions}/fn_SatchelPlant.sqf | 0 .../{ => VCM_Functions}/fn_SquadExc.sqf | 0 .../{ => VCM_Functions}/fn_WyptChk.sqf | 0 Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + Vcom/RYD_FFE/FFE.sqf | 120 +- Vcom/RYD_FFE/FFE_fnc.sqf | 1722 ----------------- Vcom/cfgFunctions.hpp | 27 +- 51 files changed, 1874 insertions(+), 1791 deletions(-) create mode 100644 Vcom/Functions/FFE_Functions/fn_AngTowards.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_ArtyPrep.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_CFF.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_CFF_Fire.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_CFF_TGT.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf create mode 100644 Vcom/Functions/FFE_Functions/fn_ShellsInRadius.sqf rename Vcom/{RYD_FFE/Shellview.sqf => Functions/FFE_Shellview/fn_Shellview.sqf} (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_AIHIT.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ActRearm.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ArmStatics.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ArtyCall.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ArtyManage.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_BoxNrst.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_CheckArty.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_Classname.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ClearBuilding.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ClstEmy.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ClstObj.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ClstWarn.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_EmptyStatic.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_EnemyArray.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_FindCover.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_FlankMove.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_ForceMove.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_FriendlyArray.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_FrmChnge.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_Garrison.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_GarrisonLight.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_HasMine.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_HearingAids.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_Heights.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_IRCHECK.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_KitChk.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_KnowAbout.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_MinePlant.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_PackStatic.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_RMedics.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_RStatics.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_RearmSelf.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_SatchelPlant.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_SquadExc.sqf (100%) rename Vcom/Functions/{ => VCM_Functions}/fn_WyptChk.sqf (100%) delete mode 100644 Vcom/RYD_FFE/FFE_fnc.sqf diff --git a/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf b/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf new file mode 100644 index 0000000..f40b3a8 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf @@ -0,0 +1,9 @@ +params ["_source0", "_target0", "_rnd0"]; +private ["_dX0","_dY0","_angleAzimuth0"]; + +_dX0 = (_target0 select 0) - (_source0 select 0); +_dY0 = (_target0 select 1) - (_source0 select 1); + +_angleAzimuth0 = (_dX0 atan2 _dY0) + (random (2 * _rnd0)) - _rnd0; + +_angleAzimuth0 \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf b/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf new file mode 100644 index 0000000..63259f1 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf @@ -0,0 +1,234 @@ +//_bArr = [_tgtPos,RydFFE_ArtG,"SADARM",6,leaderHQ] call RYD_fnc_ArtyMission; +params ["_pos","_arty","_ammoG","_amount","_FO"]; +private ["_pos","_arty","_ammoG","_amount","_FO","_ammo","_possible","_battery","_agp","_artyAv","_vehs","_gp","_hasAmmo","_checked","_vh","_tp","_inRange","_pX","_pY","_pZ","_ammoArr","_allAmmo"]; + +_ammo = ""; +_ammoArr = []; + +_hasAmmo = 0; +_possible = false; +_battery = []; +_agp = []; + +_artyAv = []; +_vehs = 0; +_allAmmo = 0; + +{ + _gp = _x; + if not (isNull _gp) then + { + if not (_gp getVariable ["RydFFE_BatteryBusy",false]) then + { + _hasAmmo = 0; + _checked = []; + + { + _vh = vehicle _x; + if not (_vh in _checked) then + { + _checked set [(count _checked),_vh]; + + _tp = toLower (typeOf _vh); + + switch (true) do + { + case (_tp in RydFFE_Mortar) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SPECIAL") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SECONDARY") : {_ammo = "8Rnd_82mm_Mo_shells"}; + case ("SMOKE") : {_ammo = "8Rnd_82mm_Mo_Smoke_white"}; + case ("ILLUM") : {_ammo = "8Rnd_82mm_Mo_Flare_white"}; + } + }; + + case (_tp in RydFFE_SPMortar) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells"}; + case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster"}; + case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided"}; + case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke"}; + case ("ILLUM") : {_ammo = ""}; + }; + }; + + case (_tp in RydFFE_Rocket) : + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SPECIAL") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SECONDARY") : {_ammo = "12Rnd_230mm_rockets"}; + case ("SMOKE") : {_ammo = ""}; + case ("ILLUM") : {_ammo = ""}; + }; + }; + + default + { + if ((count RydFFE_Other) > 0) then + { + _arr = []; + + { + if (_tp in (_x select 0)) exitWith {_arr = _x select 1} + } + foreach RydFFE_Other; + + if ((count _arr) > 0) then + { + switch (_ammoG) do + { + case ("HE") : {_ammo = _arr select 0}; + case ("SPECIAL") : {_ammo = _arr select 1}; + case ("SECONDARY") : {_ammo = _arr select 2}; + case ("SMOKE") : {_ammo = _arr select 3}; + case ("ILLUM") : {_ammo = _arr select 4}; + } + } + } + } + }; + + _inRange = _pos inRangeOfArtillery [[_vh],_ammo]; + + if (_inRange) then + { + { + if ((_x select 0) in [_ammo]) then + { + _hasAmmo = _hasAmmo + (_x select 1); + _allAmmo = _allAmmo + (_x select 1); + _ammoArr set [(count _ammoArr),_ammo]; + _vehs = _vehs + 1 + }; + + if not (_hasAmmo < _amount) exitWith {}; + if not (_allAmmo < _amount) exitWith {} + } + foreach (magazinesAmmo _vh); + } + }; + + if not (_vehs < _amount) exitWith {} + } + foreach (units _gp); + + if (_hasAmmo > 0) then + { + _artyAv set [(count _artyAv),_gp]; + _agp set [(count _agp),leader _gp] + } + } + }; + + if not (_hasAmmo < _amount) exitWith {}; + if not (_allAmmo < _amount) exitWith {} +} +foreach _arty; + +if not ((count _artyAv) == 0) then +{ + _battery = _artyAv; + + _possible = true; + + if (_ammoG in ["ILLUM","SMOKE"]) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach _battery; + + _pX = _pos select 0; + _pY = _pos select 1; + _pZ = _pos select 2; + + _pX = _pX + (random 100) - 50; + _pY = _pY + (random 100) - 50; + _pZ = _pZ + (random 20) - 10; + + _pos = [_pX,_pY,_pZ]; + //_i = [_pos,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_fnc_Mark; + [_battery,_pos,_ammoArr,_FO,_amount,_ammoG] spawn + { + params ["_battery","_pos","_ammo","_FO","_amount","_ammoG"]; + + if (_ammoG == "ILLUM") then + { + [_battery,_pos,_ammo,_amount] call RYD_fnc_CFF_Fire; + } + else + { + _angle = [_FO,_pos,10] call RYD_fnc_AngTowards; + _pos2 = [_pos,_angle + 110,200 + (random 100) - 50] call RYD_fnc_PosTowards2D; + _pos3 = [_pos,_angle - 110,200 + (random 100) - 50] call RYD_fnc_PosTowards2D; + //_i2 = [_pos2,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; + //_i3 = [_pos3,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; + + { + [_battery,_x,_ammo,ceil (_amount/3)] call RYD_fnc_CFF_Fire; + + _ct = 0; + waitUntil + { + sleep 0.1; + _ct = _ct + 0.1; + _busy = 0; + + { + if not (isNull _x) then + { + _busy = _busy + ({not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x)) + }; + } + foreach _battery; + + ((_busy == 0) or (_ct > 12)) + }; + } + foreach [_pos,_pos2,_pos3] + }; + + _ct = 0; + waitUntil + { + sleep 0.1; + _ct = _ct + 0.1; + _busy = 0; + + { + if not (isNull _x) then + { + _add = {not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x); + _busy = _busy + _add; + if (_add == 0) then {_x setVariable ["RydFFE_BatteryBusy",false]} + }; + } + foreach _battery; + + ((_busy == 0) or (_ct > 12)) + }; + + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } + } + foreach _battery + } + } +}; + +//diag_log format ["AM: %1",[_possible,_battery,_agp,_ammoArr]]; + +[_possible,_battery,_agp,_ammoArr,_allAmmo] \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_ArtyPrep.sqf b/Vcom/Functions/FFE_Functions/fn_ArtyPrep.sqf new file mode 100644 index 0000000..8a28a70 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_ArtyPrep.sqf @@ -0,0 +1,42 @@ +params ["_arty", "_amount"]; +private ["_arty","_amount","_vh","_handled","_magTypes","_mags","_tp","_cnt"]; + +_amount = ceil _amount; +//if (_amount < 2) exitWith {}; + +{ + { + _vh = vehicle _x; + _handled = _vh getVariable ["RydFFEArtyAmmoHandled",false]; + + if not (_handled) then + { + _vh setVariable ["RydFFEArtyAmmoHandled",true]; + + _vh addEventHandler ["Fired", + { + (_this select 0) setVariable ["RydFFE_ShotFired",true]; + (_this select 0) setVariable ["RydFFE_ShotFired2",((_this select 0) getVariable ["RydFFE_ShotFired2",0]) + 1]; + + //if ((RydFFE_SVStart) and (RydFFE_Debug)) then + //{ + _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + _shells set [(count _shells),(_this select 6)]; + missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; + //} + }]; + + _magTypes = getArtilleryAmmo [_vh]; + _mags = magazines _vh; + + { + _tp = _x; + _cnt = {_x in [_tp]} count _mags; + _vh addMagazines [_tp, _cnt * (_amount - 1)]; + } + foreach _magTypes + } + } + foreach (units _x) +} +foreach _arty; \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf b/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf new file mode 100644 index 0000000..3b80505 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf @@ -0,0 +1,149 @@ +private ["_vh","_typeVh","_mags","_prim","_rare","_sec","_smoke","_illum","_maxHit","_ammo","_ammoC","_actHit","_subM","_mags0","_illumChosen","_smokeChosen","_rareChosen","_secChosen","_hit","_lc","_sim","_subM","_arr"]; + +params ["_allArty"]; + +{ + _vh = _x; + + if not (_vh getVariable ["RydFFE_CheckedOut",false]) then + { + _vh setVariable ["RydFFE_CheckedOut",true]; + _typeVh = toLower (typeOf _vh); + + if not (_typeVh in _allArty) then + { + _mags = getArtilleryAmmo [_vh]; + + if ((count _mags) > 0) then + { + _prim = ""; + _rare = ""; + _sec = ""; + _smoke = ""; + _illum = ""; + + _maxHit = 10; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + + _actHit = getNumber (_ammoC >> "indirectHitRange"); + _subM = toLower (getText (_ammoC >> "submunitionAmmo")); + + if (_actHit <= 10) then + { + if not (_subM isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subM; + _actHit = getNumber (_ammoC >> "indirectHitRange") + } + }; + + if ((_actHit > _maxHit) and {_actHit < 100}) then + { + _maxHit = _actHit; + _prim = _x + } + } + foreach _mags; + + _mags = _mags - [_prim]; + _mags0 = +_mags; + _illumChosen = false; + _smokeChosen = false; + _rareChosen = false; + _secChosen = false; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + + _hit = getNumber (_ammoC >> "indirectHit"); + _lc = _ammoC >> "lightColor"; + _sim = toLower (getText (_ammoC >> "simulation")); + _subM = toLower (getText (_ammoC >> "submunitionAmmo")); + + if (_hit <= 10) then + { + if not (_subM isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subM; + _hit = getNumber (_ammoC >> "indirectHit") + } + }; + + switch (true) do + { + case ((isArray _lc) and {not (_illumChosen)}) : + { + _illum = _x; + _mags = _mags - [_x]; + _illumChosen = true + }; + + case ((_hit <= 10) and {(_subM isEqualTo "smokeshellarty") and {not (_smokeChosen)}}) : + { + _smoke = _x; + _mags = _mags - [_x]; + _smokeChosen = true + }; + + case ((_sim isEqualTo "shotsubmunitions") and {not (_rareChosen)}) : + { + _rare = _x; + _mags = _mags - [_x]; + _rareChosen = true + }; + + case ((_hit > 10) and {not ((_secChosen) or {(_rare == _x)})}) : + { + _sec = _x; + _mags = _mags - [_x]; + _secChosen = true + } + } + } + foreach _mags0; + + if (_sec isEqualTo "") then + { + _maxHit = 10; + + { + _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); + _ammoC = configfile >> "CfgAmmo" >> _ammo; + _subAmmo = _ammoC >> "subMunitionAmmo"; + + if not (_subAmmo isEqualTo "") then + { + _ammoC = configfile >> "CfgAmmo" >> _subAmmo + }; + + _actHit = getNumber (_ammoC >> "indirectHit"); + + if (_actHit > _maxHit) then + { + _maxHit = _actHit; + _sec = _x + } + } + foreach _mags; + }; + + _arr = [_prim,_rare,_sec,_smoke,_illum]; + + if (({_x isEqualTo ""} count _arr) < 5) then + { + RydFFE_Other pushBack [[_typeVh],_arr]; + _allArty pushBack _typeVh + } + } + } + } +} +foreach vehicles; + +RydFFE_AllArty = _allArty; + +_allArty \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_CFF.sqf b/Vcom/Functions/FFE_Functions/fn_CFF.sqf new file mode 100644 index 0000000..8f103fb --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_CFF.sqf @@ -0,0 +1,61 @@ +//[RydFFE_ArtG,RydFFE_KnEnemies,(RydFFE_EnHArmor + RydFFE_EnMArmor + RydFFE_EnLArmor),RydFFE_Friends,RydFFE_Debug] call RYD_fnc_CFF; + +params ["_artG", "_knEnemies", "_enArmor", "_friends", "_Debug", "_amount"]; + +private ["_CFFMissions","_tgt","_ammo","_bArr","_possible","_amnt"]; + + +_CFFMissions = ceil (random (count _artG)); + +for "_i" from 1 to _CFFMissions do +{ + _tgt = [_knEnemies] call RYD_fnc_CFF_TGT; + + if not (isNull _tgt) then + { + _ammo = "HE"; + _amnt = _amount; + if ((random 100) > 85) then {_ammo = "SPECIAL";_amnt = (ceil (_amount/3))}; + //if (_tgt in _enArmor) then {_ammo = "HE";_amnt = 6}; + + _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_fnc_ArtyMission; + + _possible = _bArr select 0; + if (_possible) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach (_bArr select 1); + [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_fnc_CFF_FFE + } + else + { + switch (true) do + { + case (_ammo in ["SPECIAL","SECONDARY"]) : {_ammo = "HE";_amnt = _amount}; + case (_ammo in ["HE"]) : {_ammo = "SECONDARY";_amnt = _amount}; + }; + + _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_fnc_ArtyMission; + + _possible = _bArr select 0; + if (_possible) then + { + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",true] + } + } + foreach (_bArr select 1); + [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_fnc_CFF_FFE + } + } + }; + + sleep (5 + (random 5)) +} \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf b/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf new file mode 100644 index 0000000..eef9c73 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf @@ -0,0 +1,788 @@ +//[_battery,_tgt,_batlead,"SADARM",RydFFE_Friends,RydFFE_Debug] spawn RYD_fnc_CFF_FFE +params ["_battery", "_target", "_batlead", "_Ammo", "_friends", "_Debug", "_ammoG", "_amount"]; + +private ["_batname","_first","_phaseF","_targlead","_againF","_dispF","_accF","_Rate","_FMType","_againcheck","_Aunit", +"_RydAccF","_TTI","_amount1","_amount2","_template","_targetPos","_X0","_Y0","_X1","_Y1","_X2","_Y2","_Xav","_Yav","_transspeed","_transdir","_Xhd","_Yhd","_impactpos","_safebase","_distance", +"_safe","_safecheck","_gauss1","_gauss09","_gauss04","_gauss2","_distance2","_DdistF","_DdamageF","_DweatherF","_DskillF","_anotherD","_Dreduct","_spawndisp","_dispersion","_disp","_RydAccF", +"_gauss1b","_gauss2b","_AdistF","_AweatherF","_AdamageF","_AskillF","_Areduct","_spotterF","_anotherA","_acc","_finalimpact","_posX","_posY","_i","_dX","_dY","_angle","_dXb","_dYb","_posX2", +"_posY2","_AmmoN","_exDst","_exPX","_exPY","_onRoad","_exPos","_nR","_stRS","_dMin","_dAct","_dSum","_checkedRS","_RSArr","_angle","_rPos","_actRS","_ammocheck","_artyGp","_ammoCount","_dstAct", +"_maxRange","_minRange","_isTaken","_batlead","_alive","_waitFor","_UL","_ammoC","_add","_myFO","_assumedPos","_eta"]; + + +_myFO = _target getVariable ["RydFFE_MyFO",objNull]; +_assumedPos = (getPosATL _target); +if not (isNull _myFO) then +{ + _assumedPos = _myFO getHideFrom _target; +}; + +_markers = []; + +_battery1 = _battery select 0; + +_batLead1 = leader _battery1; + +_batname = str _battery1; + +//_first = _battery getVariable [("FIRST" + _batname),1]; + +//_artyGp = group _batlead; + +_isTaken = (group _target) getVariable ["CFF_Taken",false]; +if ((_isTaken) and (RydFFE_Monogamy)) exitWith +{ + { + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } + } + foreach _battery +}; + +(group _target) setVariable ["CFF_Taken",true]; + +_phaseF = [1,2]; +if ((RydFFE_OnePhase) or ((count RydFFE_FO) == 0) and not (RydFFE_2PhWithoutFO)) then {_phaseF = [1]}; + +_targlead = vehicle (leader _target); + +_waitFor = true; + +_amount1 = ceil (_amount/6); +_amount2 = _amount - _amount1; + +{ + if (isNil ("_myFO")) exitwith {_waitFor = false}; + if (isNull _myFO) exitwith {_waitFor = false}; + if not (alive _myFO) exitwith {_waitFor = false}; + + if (isNil ("_target")) exitwith {_waitFor = false}; + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _againF = 0.85; + _accF = RydFFE_Acc; + + _againcheck = _battery1 getVariable [("CFF_Trg" + _batname),objNull]; + if not ((str _againcheck) == (str _target)) then {_againF = 1}; + + _RydAccF = 1; + + //if (isNil ("RydFFE_Amount")) then {_amount = _this select 7} else {_amount = RydFFE_Amount}; + //if (isNil ("RydFFE_Acc")) then {_accF = 2} else {_accF = RydFFE_Acc}; + + //if (_ammoG in ["SPECIAL","SECONDARY"]) then {_amount = ceil (_amount/3)}; + + if ((count _phaseF) == 2) then + { + if (_x == 1) then + { + _amount = _amount1 + } + else + { + _amount = _amount2 + } + }; + + if (_amount == 0) exitwith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _targetPosATL = _assumedPos; + _targetPos = ATLtoASL _assumedPos; + + _eta = -1; + + { + { + _vh = vehicle _x; + _vhMags = magazines _vh; + if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then + { + _ammoC = _vhMags select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach _vhMags; + + _newEta = _vh getArtilleryETA [_targetPosATL,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + } + } + } + foreach (units _x) + } + foreach _battery; + + if (_eta == -1) exitWith {_waitFor = false}; + + _X0 = (_targetpos select 0); + _Y0 = (_targetpos select 1); + + sleep 10; + + if ( + isNil ("_myFO") || + {isNull _myFO} || + {not (alive _myFO)} || + + {isNull _target} || + {not (alive _target)} || + + {({not (isNull _x)} count _batlead) < 1} || + {isNull _battery1} || + {({(alive _x)} count _batlead) < 1} || + + {(abs (speed _target)) > 50} || + {(_assumedPos select 2) > 20} + ) exitWith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if (_assumedPos isEqualTo [0,0,0]) exitWith {_waitFor = false}; + + _targetPos = ATLtoASL _assumedPos; + + _X1 = (_targetpos select 0); + _Y1 = (_targetpos select 1); + + sleep 10; + + if + ( + isNil "_myFO" || + {isNull _myFO} || + {not (alive _myFO)} || + + {isNull _target} || + {not (alive _target)} || + + {({not (isNull _x)} count _batlead) < 1} || + {isNull _battery1} || + {({(alive _x)} count _batlead) < 1} || + + {(abs (speed _target)) > 50} || + {(_assumedPos select 2) > 20} + ) exitWith {_waitFor = false}; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; + + _targetPos = ATLtoASL _assumedPos; + + _X2 = (_targetpos select 0); + _Y2 = (_targetpos select 1); + + _onRoad = isOnRoad _targlead; + + _Xav = (_X1+_X2)/2; + _Yav = (_Y1+_Y2)/2; + + _transspeed = ([_X0,_Y0] distance [_Xav,_Yav])/15; + _transdir = (_Xav - _X0) atan2 (_Yav - _Y0); + + _add = 16/(1 + (_transspeed)); + + _Xhd = _transspeed * (sin _transdir) * (_eta + _add); + _Yhd = _transspeed * (cos _transdir) * (_eta + _add); + _impactpos = _targetpos; + _safebase = 100; + + _exPX = (_targetPos select 0) + _Xhd; + _exPY = (_targetPos select 1) + _Yhd; + + _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; + _exTargetPosATL = ASLtoATL _exPos; + + _eta = -1; + + { + { + _vh = vehicle _x; + _vhMags = magazines _vh; + if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then + { + _ammoC = _vhMags select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach _vhMags; + + _newEta = _vh getArtilleryETA [_exTargetPosATL,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + } + } + } + foreach (units _x) + } + foreach _battery; + + if (_eta == -1) exitWith {_waitFor = false}; + + _Xhd = _transspeed * (sin _transdir) * (_eta + _add); + _Yhd = _transspeed * (cos _transdir) * (_eta + _add); + + _exPX = (_targetPos select 0) + _Xhd; + _exPY = (_targetPos select 1) + _Yhd; + + _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; + + _exDst = _targetPos distance _exPos; + + if (isNil ("RydFFE_Safe")) then {_safebase = 100} else {_safebase = RydFFE_Safe}; + + _safe = _safebase * _RydAccf * (1 + overcast); + + _safecheck = true; + + if not (_onRoad) then + { + { + if (([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x))) < _safe) exitwith + { + _Xhd = _Xhd/2; + _Yhd = _Yhd/2 + } + } + foreach _friends; + + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends; + + if not (_safecheck) then + { + _Xhd = _Xhd/2; + _Yhd = _Yhd/2; + _safecheck = true; + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends; + if not (_safecheck) then + { + _Xhd = _Xhd/5; + _Yhd = _Yhd/5; + _safecheck = true; + { + if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; + } + foreach _friends + } + }; + + _impactpos = [(_targetpos select 0) + _Xhd, (_targetpos select 1) + _Yhd]; + } + else + { + _nR = _targlead nearRoads 30; + + _stRS = _nR select 0; + _dMin = _stRS distance _exPos; + + { + _dAct = _x distance _exPos; + if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} + } + foreach _nR; + + _dSum = _assumedPos distance _stRS; + _checkedRS = [_stRS]; + _actRS = _stRS; + + while {_dSum < _exDst} do + { + _RSArr = (roadsConnectedTo _actRS) - _checkedRS; + if ((count _RSArr) == 0) exitWith {}; + _stRS = _RSArr select 0; + _dMin = _stRS distance _exPos; + + { + _dAct = _x distance _exPos; + if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} + } + foreach _RSArr; + + _dSum = _dSum + (_stRS distance _actRS); + + _actRS = _stRS; + + _checkedRS set [(count _checkedRS),_stRS]; + }; + + if (_dSum < _exDst) then + { + //if (_transdir < 0) then {_transdir = _transdir + 360}; + _angle = [_targetPos,(getPosASL _stRS),1] call RYD_fnc_AngTowards; + _impactPos = [(getPosASL _stRS),_angle,(_exDst - _dSum)] call RYD_fnc_PosTowards2D + } + else + { + _rPos = getPosASL _stRS; + _impactPos = [_rPos select 0,_rPos select 1] + }; + + { + if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith + { + _safeCheck = false; + _impactpos = [((_impactpos select 0) + (_targetPos select 0))/2,((_impactpos select 1) + (_targetPos select 1))/2] + } + } + foreach _friends + }; + + if not (_safeCheck) then + { + _safeCheck = true; + + { + if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith + { + _safeCheck = false + } + } + foreach _friends + }; + + if not (_safecheck) exitwith {(group _target) setVariable ["CFF_Taken",false];_waitFor = false}; + + _distance2 = _impactPos distance (getPosATL (vehicle _batlead1)); + _DweatherF = 1 + overcast; + _gauss09 = (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09); + + //_gauss1 = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); + //_gauss04 = (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04); + //_gauss2 = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); + //_DdistF = (_distance2/10) * (0.1 + _gauss04); + //_DdamageF = 1 + 0.5 * (damage _batlead1); + //_DskillF = 2 * (skill _batlead1); + //_anotherD = 1 + _gauss1; + //_Dreduct = (1 + _gauss2) + _DskillF; + + //_spawndisp = _dispF * ((_RydAccf * _DdistF * _DdamageF) + (50 * _DweatherF * _anotherD)) / _Dreduct; + //_dispersion = 10000 * (_spawndisp atan2 _distance2) / 57.3; + + //_disp = _dispersion; + //if (isNil ("RydFFE_SpawnM")) then {_disp = _dispersion} else {_disp = _spawndisp}; + + //[_battery,_disp] call BIS_ARTY_F_SetDispersion; + + _RydAccF = 1; + + _gauss1b = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); + _gauss2b = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); + _AdistF = (_distance2/10) * (0.1 + _gauss09); + _AweatherF = _DweatherF; + _AdamageF = 1 + 0.1 * (damage (vehicle _batlead1)); + _AskillF = 5 * (_batlead1 skill "aimingAccuracy"); + _Areduct = (1 + _gauss2b) + _AskillF; + _spotterF = 0.2 + (random 0.2); + _anotherA = 1 + _gauss1b; + if not (isNil ("RydFFE_FOAccGain")) then {_spotterF = RydFFE_FOAccGain + (random 0.2)}; + if (((count _phaseF) == 2) and (_x == 1) or ((count _phaseF) == 1)) then {_spotterF = 1}; + + _acc = _spotterF * _againF * _accF * ((_AdistF * _AdamageF) + (50 * _AweatherF * _anotherA)) / _Areduct; + + _finalimpact = [(_impactpos select 0) + (random (2 * _acc)) - _acc,(_impactpos select 1) + (random (2 * _acc)) - _acc]; + + if not (isNull _myFO) then + { + _assumedPos = _myFO getHideFrom _target; + }; + + if (isNull _target) exitwith {_waitFor = false}; + if not (alive _target) exitwith {_waitFor = false}; + + if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; + if (isNull _battery1) exitWith {_waitFor = false}; + if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; + + if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; + if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; + + //_dstAct = _impactpos vectorDistance _batlead; + + { + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_ShotFired",false] + } + foreach (units _x) + }; + } + foreach _battery; + + sleep 0.2; + _posX = 0; + _posY = 0; + + _distance = _impactPos distance _finalimpact; + + (_battery select 0) setVariable ["RydFFE_Break",false]; + + if (_Debug) then + { + _posM1 = getposATL (vehicle _batlead1); + _posM1 set [2,0]; + _impactPosM = +_impactPos; + _impactPosM set [2,0]; + _finalimpactM = +_finalimpact; + _finalimpactM set [2,0]; + + _text = getText (configFile >> "CfgVehicles" >> (typeOf (vehicle _batlead1)) >> "displayName"); + _i = "markBat" + str (_battery1); + _i = createMarker [_i,_posM1]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_circle"; + _i setMarkerSize [0.4,0.4]; + _i setMarkerText ("Firing battery - " + _text); + + _markers pushBack _i; + + _distance = _impactPosM vectorDistance _finalimpactM; + _distance2 = _impactPosM vectorDistance _posM1; + _i = "mark0" + str (_battery1); + _i = createMarker [_i,_impactPos]; + _i setMarkerColor "ColorBlue"; + _i setMarkerShape "ELLIPSE"; + _i setMarkerSize [_distance, _distance]; + _i setMarkerBrush "Border"; + + _markers pushBack _i; + + _dX = (_impactPosM select 0) - (_posM1 select 0); + _dY = (_impactPosM select 1) - (_posM1 select 1); + _angle = _dX atan2 _dY; + if (_angle >= 180) then {_angle = _angle - 180}; + _dXb = (_distance2/2) * (sin _angle); + _dYb = (_distance2/2) * (cos _angle); + _posX = (_posM1 select 0) + _dXb; + _posY = (_posM1 select 1) + _dYb; + + _i = "mark1" + str (_battery1); + _i = createMarker [_i,[_posX,_posY]]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "RECTANGLE"; + _i setMarkerSize [0.5,_distance2/2]; + _i setMarkerBrush "Solid"; + _i setMarkerdir _angle; + + _markers pushBack _i; + + _dX = (_finalimpactM select 0) - (_impactPosM select 0); + _dY = (_finalimpactM select 1) - (_impactPosM select 1); + _angle = _dX atan2 _dY; + if (_angle >= 180) then {_angle = _angle - 180}; + _dXb = (_distance/2) * (sin _angle); + _dYb = (_distance/2) * (cos _angle); + _posX2 = (_impactPosM select 0) + _dXb; + _posY2 = (_impactPosM select 1) + _dYb; + + _i = "mark2" + str (_battery1); + _i = createMarker [_i,[_posX2,_posY2]]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "RECTANGLE"; + _i setMarkerSize [0.5,_distance/2]; + _i setMarkerBrush "Solid"; + _i setMarkerdir _angle; + + _markers pushBack _i; + + _i = "mark3" + str (_battery1); + _i = createMarker [_i,_impactPosM]; + _i setMarkerColor "ColorBlack"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_dot"; + + _markers pushBack _i; + + _i = "mark4" + str (_battery1); + _i = createMarker [_i,_finalimpactM]; + _i setMarkerColor "ColorRed"; + _i setMarkerShape "ICON"; + _i setMarkerType "mil_dot"; + _i setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _eta) + " - " + _ammoG); + + _markers pushBack _i; + + /*_i = "mark5" + str (_battery); + _i = createMarker [_i,_finalimpactM]; + _i setMarkerColor "ColorRedAlpha"; + _i setMarkerShape "ELLIPSE"; + _i setMarkerSize [_spawndisp,_spawndisp];*/ + }; + + [_battery,_distance,_eta,_ammoG,_batlead,_target,_markers] spawn + { + params ["_battery", "_distance", "_eta", "_ammoG", "_batlead", "_target", "_markers"]; + private ["_mark", "_Ammo","_alive","_stoper","_TOF"]; + + _battery1 = _battery select 0; + + _alive = true; + _shot = false; + + waitUntil + { + sleep 0.1; + if ( + {not (isNull _x)} count _batlead < 1 || + {isNull _battery1} || + {({(alive _x)} count _batlead) < 1} || + {_battery1 getVariable ["RydFFE_Break",false]} + ) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if ((vehicle _x) getVariable ["RydFFE_ShotFired",false]) exitWith {_shot = true} + } + foreach (units _x) + }; + + if (_shot) exitWith {} + } + foreach _battery; + + ((_shot) or not (_alive)) + }; + + { + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_ShotFired",false] + } + foreach (units _x) + }; + } + foreach _battery; + + _stoper = time; + _TOF = 0; + _rEta = _eta; + _mark = ""; + + if ((count _markers) > 0) then + { + _mark = _markers select ((count _markers) -1); + }; + + while {(not (_rEta < 5) and not (_TOF > 200) and (_alive))} do + { + if ( + ({not (isNull _x)} count _batlead) < 1) || + {isNull _battery1} || + {({(alive _x)} count _batlead) < 1} || + {_battery1 getVariable ["RydFFE_Break",false]} + ) exitWith {_alive = false}; + + _TOF = (round (10 * (time - _stoper)))/10; + _rEta = _eta - _TOF; + + if ((count _markers) > 0) then + { + _mark setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _rEta) + " - TOF: " + (str _TOF) + " - " + _ammoG); + }; + + sleep 0.1 + }; + + if not (_alive) exitWith + { + (group _target) setvariable ["CFF_Taken",false]; + + { + deleteMarker _x; + } + foreach _markers; + }; + + _battery1 setVariable ["RydFFE_SPLASH",true]; + + if ((count _markers) > 0) then + { + _mark setMarkerText (str (round _distance) + "m" + " - SPLASH!" + " - " + _ammoG); + }; + }; + + _eta = [_battery,_finalimpact,_ammo,_amount] call RYD_fnc_CFF_Fire; + + _UL = _batlead1; + + _alive = (_eta > 0); + + if not (_alive) then {(_battery select 0) setVariable ["RydFFE_Break",true]}; + + waituntil + { + sleep 1; + + _available = true; + if ( + {not (isNull _x)} count _batlead) < 1 || + {isNull _battery1} || + {({(alive _x)} count _batlead) < 1} + ) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} + } + foreach (units _x) + }; + + if not (_available) exitWith {} + } + foreach _battery; + + ((_available) or not (_alive)) + }; + + if not (_alive) exitWith {_waitFor = false}; + + if (((count _phaseF) == 2) and (_x == 1)) then + { + _alive = true; + _splash = false; + + waitUntil + { + sleep 1; + + if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; + if (isNull _battery1) then {_alive = false}; + if (({(alive _x)} count _batlead) < 1) then {_alive = false}; + if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; + + ((_splash) or not (_alive)) + }; + + if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; + + sleep 10; + + { + deleteMarker _x; + } + foreach _markers + }; + + if not (_alive) exitWith {_waitFor = false}; +} +foreach _phaseF; + +_battery1 setVariable [("CFF_Trg" + _batname),_target]; + +_alive = true; +_splash = false; + +if (_waitFor) then +{ + waitUntil + { + sleep 1; + + if + ( + ({not (isNull _x)} count _batlead) < 1 || + {isNull _battery1 } || + {({(alive _x)} count _batlead) < 1} + ) then {_alive = false}; + + if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; + + ((_splash) or not (_alive)) + }; + + if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; + + sleep 10 +}; + +{ + deleteMarker _x; +} +foreach _markers; + +(group _target) setVariable ["CFF_Taken",false]; + +_alive = true; + +waitUntil +{ + sleep 1; + + _available = true; + //if (isNull _battery1) then {_alive = false}; + if (({not (isNull _x)} count _batlead) < 1 || {({(alive _x)} count _batlead) < 1}) then {_alive = false}; + + { + if not (isNull _x) then + { + { + if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} + } + foreach (units _x) + }; + + if not (_available) exitWith {} + } + foreach _battery; + + ((_available) or not (_alive)) +}; + +//if not (_alive) exitWith {}; + +{ + if not (isNull _x) then + { + _x setVariable ["RydFFE_BatteryBusy",false] + } +} +foreach _battery \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_CFF_Fire.sqf b/Vcom/Functions/FFE_Functions/fn_CFF_Fire.sqf new file mode 100644 index 0000000..5c5ae52 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_CFF_Fire.sqf @@ -0,0 +1,204 @@ +params ["_battery", "_pos", "_ammo", "_amount"]; +private ["_guns","_vh","_mags","_amount0","_eta","_alive","_available","_perGun","_rest","_aGuns","_perGun1","_shots","_toFire","_rest0","_bad","_ammoC","_ws","_gun"]; + +_eta = -1; + +_guns = []; + +{ + if not (isNull _x) then + { + { + _vh = vehicle _x; + if not (_vh in _guns) then + { + _shots = 0; + + { + if ((_x select 0) in _ammo) then + { + _shots = _shots + (_x select 1) + } + } + foreach (magazinesAmmo _vh); + + _vh setVariable ["RydFFE_ShotsToFire",0]; + _vh setVariable ["RydFFE_MyShots",_shots]; + + if (_shots > 0) then + { + _guns set [(count _guns),_vh] + } + } + } + foreach (units _x) + } +} +foreach _battery; + +_aGuns = count _guns; + +if (_aGuns < 1) exitWith {-1}; +if (_amount < 1) exitWith {-1}; + +_perGun = floor (_amount/_aGuns); +_rest = _amount - (_perGun * _aGuns); + +{ + _shots = _x getVariable ["RydFFE_MyShots",0]; + if not (_shots > _perGun) then + { + _x setVariable ["RydFFE_ShotsToFire",_shots]; + _amount = _amount - _shots; + _rest = _rest + (_perGun - _shots); + _x setVariable ["RydFFE_MyShots",0] + } + else + { + _x setVariable ["RydFFE_ShotsToFire",_perGun]; + _x setVariable ["RydFFE_MyShots",_shots - _perGun] + }; +} +foreach _guns; + +_bad = false; + +while {(_rest > 0)} do +{ + _rest0 = _rest; + + { + if (_rest < 1) exitWith {}; + _shots = _x getVariable ["RydFFE_MyShots",0]; + + if (_shots > 0) then + { + _toFire = _x getVariable ["RydFFE_ShotsToFire",0]; + + _rest = _rest - 1; + + _x setVariable ["RydFFE_ShotsToFire",_toFire + 1]; + _x setVariable ["RydFFE_MyShots",_shots - 1] + } + } + foreach _guns; + + if (not (_rest0 > _rest) and (_rest > 0)) exitWith {_bad = true} +}; + +if (_bad) exitWith {-1}; + +{ + if not (isNull _x) then + { + _vh = vehicle _x; + + if ((_vh getVariable ["RydFFE_ShotsToFire",0]) > 0) then + { + _mags = getArtilleryAmmo [_vh]; + + _ammoC = (magazines _vh) select 0; + + { + if (_x in _ammo) exitWith + { + _ammoC = _x + } + } + foreach (magazines _vh); + + if (_ammoC in _mags) then + { + _amount = _amount - 1; + + _newEta = _vh getArtilleryETA [_pos,_ammoC]; + + if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then + { + _eta = _newEta + }; + + [_vh,_pos,_ammoC] spawn + { + params ["_vh", "_pos", "_ammo"]; + + if (_pos inRangeOfArtillery [[_vh],_ammo]) then + { + if (_ammo in (getArtilleryAmmo [_vh])) then + { + _vh setVariable ["RydFFE_GunFree",false]; + + if not ((currentMagazine _vh) in [_ammo]) then + { + _vh loadMagazine [[0],currentWeapon _vh,_ammo]; + + _ct = time; + + waitUntil + { + sleep 0.1; + _ws = weaponState [_vh,[0]]; + _ws = _ws select 3; + ((_ws in [_ammo]) or ((time - _ct) > 30)) + }; + + sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "magazineReloadTime")) + 0.1) + }; + + if (_pos inRangeOfArtillery [[_vh],_ammo]) then + { + if (_ammo in (getArtilleryAmmo [_vh])) then + { + if (((toLower (typeOf _vh)) in ["uss_iowa_turret_c","uss_iowa_turret_b","uss_iowa_turret_a"]) or {RydFFE_IowaMode}) then + { + { + _gun = vehicle _x; + if not ((toLower (typeOf _gun)) isEqualTo "uss_iowa_battleship") then + { + _gun doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] + } + } + foreach (units (group _vh)) + } + else + { + _vh doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] + }; + + _ct = time; + + waitUntil + { + sleep 0.1; + (not ((_vh getVariable ["RydFFE_ShotFired2",0]) < (_vh getVariable ["RydFFE_ShotsToFire",1])) or ((time - _ct) > 15)) + }; + + _vh setVariable ["RydFFE_ShotFired",true]; + _vh setVariable ["RydFFE_ShotFired2",0]; + }; + }; + + sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "reloadTime")) + 0.5); + + _vh setVariable ["RydFFE_GunFree",true] + } + } + } + } + } + } +} +foreach _guns; + +/*{ + if not (isNull _x) then + { + { + (vehicle _x) setVariable ["RydFFE_GunFree",true] + } + foreach (units _x) + } +} +foreach _battery;*/ + +_eta \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_CFF_TGT.sqf b/Vcom/Functions/FFE_Functions/fn_CFF_TGT.sqf new file mode 100644 index 0000000..e39dcfd --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_CFF_TGT.sqf @@ -0,0 +1,117 @@ +//_tgt = [RydFFE_KnEnemies] call RYD_fnc_CFF_TGT; +params ["_enemies"]; +private ["_targets","_target","_nothing","_potential","_potL","_taken","_candidate","_CL","_vehFactor","_artFactor","_crowdFactor","_veh","_nearImp","_ValMax","_trgValS", +"_temptation","_vh","_HQfactor","_nearCiv"]; + +_targets = []; +_target = objNull; +_temptation = 0; +_nothing = 0; + +{ + _potential = _x; + + _potL = vehicle (leader _potential); + _taken = (group _potential) getVariable ["CFF_Taken",false]; + + if + ( + !(isNull _potential) && + {alive _potential} && + {not _taken} && + {((getposATL _potL) select 2) < 20} && + {(abs(speed _potL)) < 50} && + {(count (weapons (leader _potential))) > 0} && + {not ((leader _potential) isKindOf "civilian")} && + {not (captive _potL)} && + {not (_potential in _targets)} && + {not (_potential in _targets)} && + {(damage _potL) < 0.9} + ) + then + { + _targets set [(count _targets),_potential]; + } +} +foreach _enemies; + +{ + _candidate = _x; + _CL = leader _candidate; + + _temptation = 0; + _vehFactor = 0; + _artFactor = 1; + _crowdFactor = 1; + _HQFactor = 1; + _veh = ObjNull; + + if not (isNull (assignedVehicle _CL)) then {_veh = assignedVehicle _CL}; + if not ((vehicle _CL) == _CL) then + { + _veh = vehicle _CL; + if ((toLower (typeOf _veh)) in RydFFE_AllArty) then {_artFactor = 10} else {_vehFactor = 500 + (rating _veh)}; + }; + + _nearImp = (getPosATL _CL) nearEntities [["CAManBase","AllVehicles","Strategic","WarfareBBaseStructure","Fortress"],100]; + _nearCiv = false; + + { + if (_x isKindOf "civilian") exitWith {_nearCiv = true}; + if (((side _x) getFriend (side _CL)) >= 0.6) then + { + _vh = vehicle _x; + _crowdFactor = _crowdFactor + 0.2; + if not (_x == _vh) then + { + _crowdFactor = _crowdFactor + 0.2; + if ((toLower (typeOf _vh)) in RydFFE_AllArty) then + { + _crowdFactor = _crowdFactor + 0.2 + } + } + }; + } + foreach _nearImp; + + if (_nearCiv) then + { + _targets set [_foreachIndex,0] + } + else + { + + { + _temptation = _temptation + (250 + (rating _x)); + } + foreach (units _candidate); + + _temptation = (((_temptation + _vehFactor)*10)/(5 + (speed _CL))) * _artFactor * _crowdFactor * _HQFactor; + _candidate setVariable ["CFF_Temptation",_temptation] + } +} +foreach _targets; + +_targets = _targets - [0]; + +_ValMax = 0; + +{ + _trgValS = _x getVariable ["CFF_Temptation",0]; + if ((_ValMax < _trgValS) and (random 100 < 85)) then {_ValMax = _trgValS;_target = _x}; +} +foreach _targets; + +if (isNull _target) then +{ + if not ((count _targets) == 0) then + { + _target = _targets select (floor (random (count _targets))) + } + else + { + _nothing = 1 + }; +}; + +_target \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf b/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf new file mode 100644 index 0000000..3453498 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf @@ -0,0 +1,12 @@ +params ["_source", "_angle", "_distT"]; +private ["_dXb","_dYb","_px","_py","_pz"]; + +_dXb = _distT * (sin _angle); +_dYb = _distT * (cos _angle); + +_px = (_source select 0) + _dXb; +_py = (_source select 1) + _dYb; + +_pz = getTerrainHeightASL [_px,_py]; + +[_px,_py,_pz] \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_ShellsInRadius.sqf b/Vcom/Functions/FFE_Functions/fn_ShellsInRadius.sqf new file mode 100644 index 0000000..f0c05b0 --- /dev/null +++ b/Vcom/Functions/FFE_Functions/fn_ShellsInRadius.sqf @@ -0,0 +1,25 @@ +params ["_center", "_radius"]; +private ["_shells","_inRange","_pos1","_shell","_pos2"]; + +_pos1 = [_center select 0,_center select 1,0]; + +_shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; + +_inRange = []; + +{ + _shell = _x; + if (not (isNil "_shell") || {not (isNull _x)}) then + { + _pos2 = getPosASL _x; + _pos2 = [_pos2 select 0,_pos2 select 1,0]; + + if ((_pos1 distance _pos2) < _radius) then + { + _inRange set [(count _inRange),_x] + } + } +} +foreach _shells; + +_inRange \ No newline at end of file diff --git a/Vcom/RYD_FFE/Shellview.sqf b/Vcom/Functions/FFE_Shellview/fn_Shellview.sqf similarity index 100% rename from Vcom/RYD_FFE/Shellview.sqf rename to Vcom/Functions/FFE_Shellview/fn_Shellview.sqf diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 36d7ba1..dc7c912 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -47,7 +47,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "Enable AI use of Artillery", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true, // data for this setting: + false, // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -258,7 +258,7 @@ if !(CBAACT) exitwith {}; "SLIDER", // setting type "Mag count AI begin to look for additional mags.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [2,10,5,0], // data for this setting: + [2,10,5,0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -266,4 +266,154 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +//Ryd FFE settings + +[ + "RydFFE_Active", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + "FFE Active (Replaces VCOM Artillery)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + true, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_FFEARTILLERY = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_Debug", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + "FFE Debug", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + false, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_FO_string", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "EDITBOX", // setting type + ["FFE Forward Observer"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + "", // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + RydFFE_FO = []; + {RydFFE_FO pushBack (missionNamespace getVariable _x)} forEach (_value splitstring ", "); + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_FOClass_string", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "EDITBOX", // setting type + ["FFE Forward Observer Classes", "this array holds class names (lowercase only!) of leaders of groups, that will be automatically added to the RydFFE_FO array, if that array already is not empty (means if limited spotting is active)"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + "i_spotter_f, o_spotter_f, b_spotter_f, o_recon_jtac_f, b_recon_jtac_f, i_sniper_f, o_sniper_f, b_sniper_f, i_soldier_m_f, o_soldier_m_f, b_g_soldier_m_f, b_soldier_m_f, o_recon_m_f, b_recon_m_f, o_soldieru_m_f, i_uav_01_f, i_uav_02_cas_f, i_uav_02_f, o_uav_01_f, o_uav_02_cas_f, o_uav_02_f, b_uav_01_f, b_uav_02_cas_f, b_uav_02_f", // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + RydFFE_FOClass = _value splitstring ", "; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_OnePhase", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + ["FFE One Phase", "By default, spotters will fire 1/6 of salvo as adjustment salvo, with the next one being 'Fire For Effect'. Enabling this skips that."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + false, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_2PhWithoutFO", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + ["FFE Two Phase without Forward Observer", "Will fire in two phase mode also in 'Unlimited Spotting Mode', as described above."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + false, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_Acc", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["FFE Accuracy", "Multiplier of whole salvo drift radius. The bigger value, the bigger the radius."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [1, 4, 2, 0], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_Safe", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["FFE Safe Zone", "Salvo will be not planned for coordinates located within this radius (in meters) around any allied group leader."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [20, 300, 100, 0], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_Monogamy", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + ["FFE Monogamy", "Each group can only be targeted by one battery."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + true, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_Amount", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "FFE Barrage Size", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [1, 12, 6, 0], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_ShellView", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + ["FFE Shellview", "if set to true, in debug mode there is available a tool, that allows to watch shells during their flight marked with orange โ€œdropsโ€ in chosen meter radius around position clicked (LMB) on map. Shift + LMB removes that watching circle"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + false, // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "RydFFE_FoAccGain", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["FFE Forward Observer Accuracy Gain", "Additional accuracy multiplier in second, FFE step of fire mission due to adjustments after first step. The lesser value, the greater accuracy, must be not negative. It is multiplied by spotter adjustments factor for FFE stage: (0.2 + (random 0.2)) that changes salvo drift radius."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0.5,3,1,1], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + }; \ No newline at end of file diff --git a/Vcom/Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf similarity index 100% rename from Vcom/Functions/fn_AIHIT.sqf rename to Vcom/Functions/VCM_Functions/fn_AIHIT.sqf diff --git a/Vcom/Functions/fn_ActRearm.sqf b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf similarity index 100% rename from Vcom/Functions/fn_ActRearm.sqf rename to Vcom/Functions/VCM_Functions/fn_ActRearm.sqf diff --git a/Vcom/Functions/fn_ArmStatics.sqf b/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf similarity index 100% rename from Vcom/Functions/fn_ArmStatics.sqf rename to Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf diff --git a/Vcom/Functions/fn_ArtyCall.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf similarity index 100% rename from Vcom/Functions/fn_ArtyCall.sqf rename to Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf diff --git a/Vcom/Functions/fn_ArtyManage.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf similarity index 100% rename from Vcom/Functions/fn_ArtyManage.sqf rename to Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf diff --git a/Vcom/Functions/fn_BoxNrst.sqf b/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf similarity index 100% rename from Vcom/Functions/fn_BoxNrst.sqf rename to Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf diff --git a/Vcom/Functions/fn_CheckArty.sqf b/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf similarity index 100% rename from Vcom/Functions/fn_CheckArty.sqf rename to Vcom/Functions/VCM_Functions/fn_CheckArty.sqf diff --git a/Vcom/Functions/fn_Classname.sqf b/Vcom/Functions/VCM_Functions/fn_Classname.sqf similarity index 100% rename from Vcom/Functions/fn_Classname.sqf rename to Vcom/Functions/VCM_Functions/fn_Classname.sqf diff --git a/Vcom/Functions/fn_ClearBuilding.sqf b/Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf similarity index 100% rename from Vcom/Functions/fn_ClearBuilding.sqf rename to Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf diff --git a/Vcom/Functions/fn_ClstEmy.sqf b/Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf similarity index 100% rename from Vcom/Functions/fn_ClstEmy.sqf rename to Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf diff --git a/Vcom/Functions/fn_ClstObj.sqf b/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf similarity index 100% rename from Vcom/Functions/fn_ClstObj.sqf rename to Vcom/Functions/VCM_Functions/fn_ClstObj.sqf diff --git a/Vcom/Functions/fn_ClstWarn.sqf b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf similarity index 100% rename from Vcom/Functions/fn_ClstWarn.sqf rename to Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf diff --git a/Vcom/Functions/fn_EmptyStatic.sqf b/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf similarity index 100% rename from Vcom/Functions/fn_EmptyStatic.sqf rename to Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf diff --git a/Vcom/Functions/fn_EnemyArray.sqf b/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf similarity index 100% rename from Vcom/Functions/fn_EnemyArray.sqf rename to Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf diff --git a/Vcom/Functions/fn_FindCover.sqf b/Vcom/Functions/VCM_Functions/fn_FindCover.sqf similarity index 100% rename from Vcom/Functions/fn_FindCover.sqf rename to Vcom/Functions/VCM_Functions/fn_FindCover.sqf diff --git a/Vcom/Functions/fn_FlankMove.sqf b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf similarity index 100% rename from Vcom/Functions/fn_FlankMove.sqf rename to Vcom/Functions/VCM_Functions/fn_FlankMove.sqf diff --git a/Vcom/Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf similarity index 100% rename from Vcom/Functions/fn_ForceMove.sqf rename to Vcom/Functions/VCM_Functions/fn_ForceMove.sqf diff --git a/Vcom/Functions/fn_FriendlyArray.sqf b/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf similarity index 100% rename from Vcom/Functions/fn_FriendlyArray.sqf rename to Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf diff --git a/Vcom/Functions/fn_FrmChnge.sqf b/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf similarity index 100% rename from Vcom/Functions/fn_FrmChnge.sqf rename to Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf diff --git a/Vcom/Functions/fn_Garrison.sqf b/Vcom/Functions/VCM_Functions/fn_Garrison.sqf similarity index 100% rename from Vcom/Functions/fn_Garrison.sqf rename to Vcom/Functions/VCM_Functions/fn_Garrison.sqf diff --git a/Vcom/Functions/fn_GarrisonLight.sqf b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf similarity index 100% rename from Vcom/Functions/fn_GarrisonLight.sqf rename to Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf diff --git a/Vcom/Functions/fn_HasMine.sqf b/Vcom/Functions/VCM_Functions/fn_HasMine.sqf similarity index 100% rename from Vcom/Functions/fn_HasMine.sqf rename to Vcom/Functions/VCM_Functions/fn_HasMine.sqf diff --git a/Vcom/Functions/fn_HearingAids.sqf b/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf similarity index 100% rename from Vcom/Functions/fn_HearingAids.sqf rename to Vcom/Functions/VCM_Functions/fn_HearingAids.sqf diff --git a/Vcom/Functions/fn_Heights.sqf b/Vcom/Functions/VCM_Functions/fn_Heights.sqf similarity index 100% rename from Vcom/Functions/fn_Heights.sqf rename to Vcom/Functions/VCM_Functions/fn_Heights.sqf diff --git a/Vcom/Functions/fn_IRCHECK.sqf b/Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf similarity index 100% rename from Vcom/Functions/fn_IRCHECK.sqf rename to Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf diff --git a/Vcom/Functions/fn_KitChk.sqf b/Vcom/Functions/VCM_Functions/fn_KitChk.sqf similarity index 100% rename from Vcom/Functions/fn_KitChk.sqf rename to Vcom/Functions/VCM_Functions/fn_KitChk.sqf diff --git a/Vcom/Functions/fn_KnowAbout.sqf b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf similarity index 100% rename from Vcom/Functions/fn_KnowAbout.sqf rename to Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf diff --git a/Vcom/Functions/fn_MinePlant.sqf b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf similarity index 100% rename from Vcom/Functions/fn_MinePlant.sqf rename to Vcom/Functions/VCM_Functions/fn_MinePlant.sqf diff --git a/Vcom/Functions/fn_PackStatic.sqf b/Vcom/Functions/VCM_Functions/fn_PackStatic.sqf similarity index 100% rename from Vcom/Functions/fn_PackStatic.sqf rename to Vcom/Functions/VCM_Functions/fn_PackStatic.sqf diff --git a/Vcom/Functions/fn_RMedics.sqf b/Vcom/Functions/VCM_Functions/fn_RMedics.sqf similarity index 100% rename from Vcom/Functions/fn_RMedics.sqf rename to Vcom/Functions/VCM_Functions/fn_RMedics.sqf diff --git a/Vcom/Functions/fn_RStatics.sqf b/Vcom/Functions/VCM_Functions/fn_RStatics.sqf similarity index 100% rename from Vcom/Functions/fn_RStatics.sqf rename to Vcom/Functions/VCM_Functions/fn_RStatics.sqf diff --git a/Vcom/Functions/fn_RearmSelf.sqf b/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf similarity index 100% rename from Vcom/Functions/fn_RearmSelf.sqf rename to Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf diff --git a/Vcom/Functions/fn_SatchelPlant.sqf b/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf similarity index 100% rename from Vcom/Functions/fn_SatchelPlant.sqf rename to Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf diff --git a/Vcom/Functions/fn_SquadExc.sqf b/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf similarity index 100% rename from Vcom/Functions/fn_SquadExc.sqf rename to Vcom/Functions/VCM_Functions/fn_SquadExc.sqf diff --git a/Vcom/Functions/fn_WyptChk.sqf b/Vcom/Functions/VCM_Functions/fn_WyptChk.sqf similarity index 100% rename from Vcom/Functions/fn_WyptChk.sqf rename to Vcom/Functions/VCM_Functions/fn_WyptChk.sqf diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 1fa9833..c301952 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -27,6 +27,7 @@ Vcm_Settings = VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf index a252113..63a02f9 100644 --- a/Vcom/RYD_FFE/FFE.sqf +++ b/Vcom/RYD_FFE/FFE.sqf @@ -21,7 +21,7 @@ if (isNil ("RydFFE_Monogamy")) then {RydFFE_Monogamy = true}; if (isNil ("RydFFE_ShellView")) then {RydFFE_ShellView = false}; if (isNil ("RydFFE_FOAccGain")) then {RydFFE_FOAccGain = 1}; if (isNil ("RydFFE_FOClass")) then {RydFFE_FOClass = - [ +[ "i_spotter_f", "o_spotter_f", "b_spotter_f", @@ -46,7 +46,7 @@ if (isNil ("RydFFE_FOClass")) then {RydFFE_FOClass = "b_uav_01_f", "b_uav_02_cas_f", "b_uav_02_f" - ]}; +]}; if (isNil "RydFFE_Add_SPMortar") then {RydFFE_Add_SPMortar = []}; if (isNil "RydFFE_Add_Mortar") then {RydFFE_Add_Mortar = []}; @@ -61,10 +61,7 @@ RydFFE_Other = [] + RydFFE_Add_Other; _allArty = RydFFE_SPMortar + RydFFE_Mortar + RydFFE_Rocket; -[] call compile preprocessFile "Vcom\RYD_FFE\FFE_fnc.sqf"; -Shellview = compile preprocessFile "Vcom\RYD_FFE\Shellview.sqf"; - -_allArty = [_allArty] call RydFFE_AutoConfig; +_allArty = [_allArty] call RYD_fnc_AutoConfig; _civF = ["civ_f","civ","civ_ru","bis_tk_civ","bis_civ_special"]; _sides = [west,east,resistance]; @@ -75,86 +72,82 @@ RydFFE_Fire = false; if (isNil ("RydFFE_SVRange")) then {RydFFE_SVRange = 3000}; -if (RydFFE_ShellView) then {[] spawn Shellview}; +if (RydFFE_ShellView) then {[] spawn RYD_fnc_Shellview}; while {RydFFE_Active} do - { +{ if (RydFFE_Manual) then {waitUntil {sleep 0.1;((RydFFE_Fire) or not (RydFFE_Manual))};RydFFE_Fire = false}; - { + { _side = _x; _eSides = [sideEnemy]; _fSides = [sideFriendly]; - { + { _getF = _side getFriend _x; if (_getF >= 0.6) then - { + { _fSides set [(count _fSides),_x] - } + } else - { + { _eSides set [(count _eSides),_x] - } } + } foreach _sides; if (({((side _x) == _side)} count AllGroups) > 0) then - { + { _artyGroups = []; _enemies = []; _friends = []; - { + { _gp = _x; - if ((side _gp) == _side) then + if ((side _gp) == _side || {not (_gp in RydFFE_NoControl)}) then + { { - if not (_gp in RydFFE_NoControl) then + if ((toLower (typeOf (vehicle _x))) in _allArty) exitWith { + if not (_gp in _artyGroups) then { - if ((toLower (typeOf (vehicle _x))) in _allArty) exitWith - { - if not (_gp in _artyGroups) then - { - _artyGroups pushBack _gp - } - } + _artyGroups pushBack _gp } - foreach (units _gp) } - }; + } + foreach (units _gp) + }; _isCiv = false; if ((toLower (faction (leader _gp))) in _civF) then {_isCiv = true}; if not (_isCiv) then - { + { if (not (isNull _gp) and (alive (leader _gp))) then - { + { if ((side _gp) in _eSides) then - { + { if not (_gp in _enemies) then - { + { _enemies pushBack _gp; - } } + } else - { + { if ((side _gp) in _fSides) then - { + { if not (_gp in _friends) then - { + { _friends pushBack _gp; if ((toLower (typeOf (leader _x))) in RydFFE_FOClass) then - { + { if ((count RydFFE_FO) > 0) then - { + { if not (_gp in RydFFE_FO) then - { + { RydFFE_FO pushBack _gp - } } } } @@ -163,78 +156,79 @@ while {RydFFE_Active} do } } } + } foreach allGroups; _knEnemies = []; + { { - { _eVeh = vehicle _x; - { + { if not ((toLower (faction (leader _x))) in _civF) then - { + { if (((count RydFFE_FO) == 0) or (_x in RydFFE_FO)) then - { + { if ((_x knowsAbout _eVeh) >= 0.05) then - { + { if not (_eVeh in _knEnemies) then - { + { _eVeh setVariable ["RydFFE_MyFO",(leader _x)]; _knEnemies pushBack _eVeh - } } } } } - foreach _friends } - foreach (units _x) + foreach _friends } + foreach (units _x) + } foreach _enemies; _enArmor = []; - { + { if ((_x isKindOf "Tank") or (_x isKindOf "Wheeled_APC")) then - { + { if not (_x in _enArmor) then - { + { _enArmor pushBack _x - } } } + } foreach _knEnemies; - [_artyGroups,RydFFE_ArtyShells] call RYD_ArtyPrep; + [_artyGroups,RydFFE_ArtyShells] call RYD_fnc_ArtyPrep; - [_artyGroups,_knEnemies,_enArmor,_friends,RydFFE_Debug,RydFFE_Amount] call RYD_CFF - } + [_artyGroups,_knEnemies,_enArmor,_friends,RydFFE_Debug,RydFFE_Amount] call RYD_fnc_CFF } + } foreach _sides; sleep RydFFE_Interval; _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; - { + { _shell = _x; if (isNil "_shell") then - { + { _shells set [_foreachIndex,0] - } + } else - { + { if (isNull _x) then - { + { _shells set [_foreachIndex,0] - } } } + } foreach _shells; _shells = _shells - [0]; missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; - _allArty = [_allArty] call RydFFE_AutoConfig - }; \ No newline at end of file + _allArty = [_allArty] call RYD_fnc_AutoConfig +}; \ No newline at end of file diff --git a/Vcom/RYD_FFE/FFE_fnc.sqf b/Vcom/RYD_FFE/FFE_fnc.sqf deleted file mode 100644 index 6a84e23..0000000 --- a/Vcom/RYD_FFE/FFE_fnc.sqf +++ /dev/null @@ -1,1722 +0,0 @@ -RYD_AngTowards = - { - private ["_source0", "_target0", "_rnd0","_dX0","_dY0","_angleAzimuth0"]; - - _source0 = _this select 0; - _target0 = _this select 1; - _rnd0 = _this select 2; - - _dX0 = (_target0 select 0) - (_source0 select 0); - _dY0 = (_target0 select 1) - (_source0 select 1); - - _angleAzimuth0 = (_dX0 atan2 _dY0) + (random (2 * _rnd0)) - _rnd0; - - _angleAzimuth0 - }; - -RYD_PosTowards2D = - { - private ["_source","_distT","_angle","_dXb","_dYb","_px","_py","_pz"]; - - _source = _this select 0; - _angle = _this select 1; - _distT = _this select 2; - - _dXb = _distT * (sin _angle); - _dYb = _distT * (cos _angle); - - _px = (_source select 0) + _dXb; - _py = (_source select 1) + _dYb; - - _pz = getTerrainHeightASL [_px,_py]; - - [_px,_py,_pz] - }; - -RYD_ArtyPrep = - { - private ["_arty","_amount","_vh","_handled","_magTypes","_mags","_tp","_cnt"]; - - _arty = _this select 0; - _amount = _this select 1; - - _amount = ceil _amount; - //if (_amount < 2) exitWith {}; - - { - { - _vh = vehicle _x; - _handled = _vh getVariable ["RydFFEArtyAmmoHandled",false]; - - if not (_handled) then - { - _vh setVariable ["RydFFEArtyAmmoHandled",true]; - - _vh addEventHandler ["Fired", - { - (_this select 0) setVariable ["RydFFE_ShotFired",true]; - (_this select 0) setVariable ["RydFFE_ShotFired2",((_this select 0) getVariable ["RydFFE_ShotFired2",0]) + 1]; - - //if ((RydFFE_SVStart) and (RydFFE_Debug)) then - //{ - _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; - _shells set [(count _shells),(_this select 6)]; - missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; - //} - }]; - - _magTypes = getArtilleryAmmo [_vh]; - _mags = magazines _vh; - - { - _tp = _x; - _cnt = {_x in [_tp]} count _mags; - _vh addMagazines [_tp, _cnt * (_amount - 1)]; - } - foreach _magTypes - } - } - foreach (units _x) - } - foreach _arty; - }; - -RYD_CFF_TGT = - {//_tgt = [RydFFE_KnEnemies] call RYD_CFF_TGT; - private ["_enemies","_targets","_target","_nothing","_potential","_potL","_taken","_candidate","_CL","_vehFactor","_artFactor","_crowdFactor","_veh","_nearImp","_ValMax","_trgValS", - "_temptation","_vh","_HQfactor","_nearCiv"]; - - _enemies = _this select 0; - - _targets = []; - _target = objNull; - _temptation = 0; - _nothing = 0; - - { - _potential = _x; - - _potL = vehicle (leader _potential); - _taken = (group _potential) getVariable ["CFF_Taken",false]; - - if not (isNull _potential) then - { - if (alive _potential) then - { - if not (_taken) then - { - if (((getposATL _potL) select 2) < 20) then - { - if ((abs(speed _potL)) < 50) then - { - if ((count (weapons (leader _potential))) > 0) then - { - if not ((leader _potential) isKindOf "civilian") then - { - if not (captive _potL) then - { - if not (_potential in _targets) then - { - if ((damage _potL) < 0.9) then - { - _targets set [(count _targets),_potential] - } - } - } - } - } - } - } - } - } - } - } - foreach _enemies; - - { - _candidate = _x; - _CL = leader _candidate; - - _temptation = 0; - _vehFactor = 0; - _artFactor = 1; - _crowdFactor = 1; - _HQFactor = 1; - _veh = ObjNull; - - if not (isNull (assignedVehicle _CL)) then {_veh = assignedVehicle _CL}; - if not ((vehicle _CL) == _CL) then - { - _veh = vehicle _CL; - if ((toLower (typeOf _veh)) in RydFFE_AllArty) then {_artFactor = 10} else {_vehFactor = 500 + (rating _veh)}; - }; - - _nearImp = (getPosATL _CL) nearEntities [["CAManBase","AllVehicles","Strategic","WarfareBBaseStructure","Fortress"],100]; - _nearCiv = false; - - { - if (_x isKindOf "civilian") exitWith {_nearCiv = true}; - if (((side _x) getFriend (side _CL)) >= 0.6) then - { - _vh = vehicle _x; - _crowdFactor = _crowdFactor + 0.2; - if not (_x == _vh) then - { - _crowdFactor = _crowdFactor + 0.2; - if ((toLower (typeOf _vh)) in RydFFE_AllArty) then - { - _crowdFactor = _crowdFactor + 0.2 - } - } - }; - } - foreach _nearImp; - - if (_nearCiv) then - { - _targets set [_foreachIndex,0] - } - else - { - - { - _temptation = _temptation + (250 + (rating _x)); - } - foreach (units _candidate); - - _temptation = (((_temptation + _vehFactor)*10)/(5 + (speed _CL))) * _artFactor * _crowdFactor * _HQFactor; - _candidate setVariable ["CFF_Temptation",_temptation] - } - } - foreach _targets; - - _targets = _targets - [0]; - - _ValMax = 0; - - { - _trgValS = _x getVariable ["CFF_Temptation",0]; - if ((_ValMax < _trgValS) and (random 100 < 85)) then {_ValMax = _trgValS;_target = _x}; - } - foreach _targets; - - if (isNull _target) then - { - if not ((count _targets) == 0) then - { - _target = _targets select (floor (random (count _targets))) - } - else - { - _nothing = 1 - } - }; - - _target - }; - -RYD_ArtyMission = - {//_bArr = [_tgtPos,RydFFE_ArtG,"SADARM",6,leaderHQ] call RYD_ArtyMission; - private ["_pos","_arty","_ammoG","_amount","_FO","_ammo","_possible","_battery","_agp","_artyAv","_vehs","_gp","_hasAmmo","_checked","_vh","_tp","_inRange","_pX","_pY","_pZ","_ammoArr","_allAmmo"]; - - _pos = _this select 0; - _arty = _this select 1; - _ammoG = _this select 2; - _amount = _this select 3; - _FO = _this select 4; - - _ammo = ""; - _ammoArr = []; - - _hasAmmo = 0; - _possible = false; - _battery = []; - _agp = []; - - _artyAv = []; - _vehs = 0; - _allAmmo = 0; - - { - _gp = _x; - if not (isNull _gp) then - { - if not (_gp getVariable ["RydFFE_BatteryBusy",false]) then - { - _hasAmmo = 0; - _checked = []; - - { - _vh = vehicle _x; - if not (_vh in _checked) then - { - _checked set [(count _checked),_vh]; - - _tp = toLower (typeOf _vh); - - switch (true) do - { - case (_tp in RydFFE_Mortar) : - { - switch (_ammoG) do - { - case ("HE") : {_ammo = "8Rnd_82mm_Mo_shells"}; - case ("SPECIAL") : {_ammo = "8Rnd_82mm_Mo_shells"}; - case ("SECONDARY") : {_ammo = "8Rnd_82mm_Mo_shells"}; - case ("SMOKE") : {_ammo = "8Rnd_82mm_Mo_Smoke_white"}; - case ("ILLUM") : {_ammo = "8Rnd_82mm_Mo_Flare_white"}; - } - }; - - case (_tp in RydFFE_SPMortar) : - { - switch (_ammoG) do - { - case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells"}; - case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster"}; - case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided"}; - case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke"}; - case ("ILLUM") : {_ammo = ""}; - }; - }; - - case (_tp in RydFFE_Rocket) : - { - switch (_ammoG) do - { - case ("HE") : {_ammo = "12Rnd_230mm_rockets"}; - case ("SPECIAL") : {_ammo = "12Rnd_230mm_rockets"}; - case ("SECONDARY") : {_ammo = "12Rnd_230mm_rockets"}; - case ("SMOKE") : {_ammo = ""}; - case ("ILLUM") : {_ammo = ""}; - }; - }; - - default - { - if ((count RydFFE_Other) > 0) then - { - _arr = []; - - { - if (_tp in (_x select 0)) exitWith {_arr = _x select 1} - } - foreach RydFFE_Other; - - if ((count _arr) > 0) then - { - switch (_ammoG) do - { - case ("HE") : {_ammo = _arr select 0}; - case ("SPECIAL") : {_ammo = _arr select 1}; - case ("SECONDARY") : {_ammo = _arr select 2}; - case ("SMOKE") : {_ammo = _arr select 3}; - case ("ILLUM") : {_ammo = _arr select 4}; - } - } - } - } - }; - - _inRange = _pos inRangeOfArtillery [[_vh],_ammo]; - - if (_inRange) then - { - { - if ((_x select 0) in [_ammo]) then - { - _hasAmmo = _hasAmmo + (_x select 1); - _allAmmo = _allAmmo + (_x select 1); - _ammoArr set [(count _ammoArr),_ammo]; - _vehs = _vehs + 1 - }; - - if not (_hasAmmo < _amount) exitWith {}; - if not (_allAmmo < _amount) exitWith {} - } - foreach (magazinesAmmo _vh); - } - }; - - if not (_vehs < _amount) exitWith {} - } - foreach (units _gp); - - if (_hasAmmo > 0) then - { - _artyAv set [(count _artyAv),_gp]; - _agp set [(count _agp),leader _gp] - } - } - }; - - if not (_hasAmmo < _amount) exitWith {}; - if not (_allAmmo < _amount) exitWith {} - } - foreach _arty; - - if not ((count _artyAv) == 0) then - { - _battery = _artyAv; - - _possible = true; - - if (_ammoG in ["ILLUM","SMOKE"]) then - { - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",true] - } - } - foreach _battery; - - _pX = _pos select 0; - _pY = _pos select 1; - _pZ = _pos select 2; - - _pX = _pX + (random 100) - 50; - _pY = _pY + (random 100) - 50; - _pZ = _pZ + (random 20) - 10; - - _pos = [_pX,_pY,_pZ]; -//_i = [_pos,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; - [_battery,_pos,_ammoArr,_FO,_amount,_ammoG] spawn - { - _battery = _this select 0; - _pos = _this select 1; - _ammo = _this select 2; - _FO = getPosASL (_this select 3); - _amount = _this select 4; - _ammoG = _this select 5; - - if (_ammoG == "ILLUM") then - { - [_battery,_pos,_ammo,_amount] call RYD_CFF_Fire; - } - else - { - _angle = [_FO,_pos,10] call RYD_AngTowards; - _pos2 = [_pos,_angle + 110,200 + (random 100) - 50] call RYD_PosTowards2D; - _pos3 = [_pos,_angle - 110,200 + (random 100) - 50] call RYD_PosTowards2D; - //_i2 = [_pos2,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; - //_i3 = [_pos3,(random 1000),"markArty","ColorRed","ICON","mil_dot",_ammoG,"",[0.75,0.75]] call RYD_Mark; - - { - [_battery,_x,_ammo,ceil (_amount/3)] call RYD_CFF_Fire; - - _ct = 0; - waitUntil - { - sleep 0.1; - _ct = _ct + 0.1; - _busy = 0; - - { - if not (isNull _x) then - { - _busy = _busy + ({not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x)) - }; - } - foreach _battery; - - ((_busy == 0) or (_ct > 12)) - }; - } - foreach [_pos,_pos2,_pos3] - }; - - _ct = 0; - waitUntil - { - sleep 0.1; - _ct = _ct + 0.1; - _busy = 0; - - { - if not (isNull _x) then - { - _add = {not ((vehicle _x) getVariable ["RydFFE_GunFree",true])} count (units _x); - _busy = _busy + _add; - if (_add == 0) then {_x setVariable ["RydFFE_BatteryBusy",false]} - }; - } - foreach _battery; - - ((_busy == 0) or (_ct > 12)) - }; - - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",false] - } - } - foreach _battery - } - } - }; - - //diag_log format ["AM: %1",[_possible,_battery,_agp,_ammoArr]]; - - [_possible,_battery,_agp,_ammoArr,_allAmmo] - }; - -RYD_CFF_FFE = - {//[_battery,_tgt,_batlead,"SADARM",RydFFE_Friends,RydFFE_Debug] spawn RYD_CFF_FFE - private ["_battery","_target","_batlead","_Ammo","_friends","_Debug","_ammoG","_batname","_first","_phaseF","_targlead","_againF","_dispF","_accF","_amount","_Rate","_FMType","_againcheck","_Aunit", - "_RydAccF","_TTI","_amount1","_amount2","_template","_targetPos","_X0","_Y0","_X1","_Y1","_X2","_Y2","_Xav","_Yav","_transspeed","_transdir","_Xhd","_Yhd","_impactpos","_safebase","_distance", - "_safe","_safecheck","_gauss1","_gauss09","_gauss04","_gauss2","_distance2","_DdistF","_DdamageF","_DweatherF","_DskillF","_anotherD","_Dreduct","_spawndisp","_dispersion","_disp","_RydAccF", - "_gauss1b","_gauss2b","_AdistF","_AweatherF","_AdamageF","_AskillF","_Areduct","_spotterF","_anotherA","_acc","_finalimpact","_posX","_posY","_i","_dX","_dY","_angle","_dXb","_dYb","_posX2", - "_posY2","_AmmoN","_exDst","_exPX","_exPY","_onRoad","_exPos","_nR","_stRS","_dMin","_dAct","_dSum","_checkedRS","_RSArr","_angle","_rPos","_actRS","_ammocheck","_artyGp","_ammoCount","_dstAct", - "_maxRange","_minRange","_isTaken","_batlead","_alive","_waitFor","_UL","_ammoC","_add","_myFO","_assumedPos","_eta"]; - - _battery = _this select 0; - _target = _this select 1; - _batlead = _this select 2; - _Ammo = _this select 3; - _friends = _this select 4; - _Debug = _this select 5; - _ammoG = _this select 6; - _amount = _this select 7; - - _myFO = _target getVariable ["RydFFE_MyFO",objNull]; - _assumedPos = (getPosATL _target); - if not (isNull _myFO) then - { - _assumedPos = _myFO getHideFrom _target; - }; - - _markers = []; - - _battery1 = _battery select 0; - - _batLead1 = leader _battery1; - - _batname = str _battery1; - - //_first = _battery getVariable [("FIRST" + _batname),1]; - - //_artyGp = group _batlead; - - _isTaken = (group _target) getVariable ["CFF_Taken",false]; - if ((_isTaken) and (RydFFE_Monogamy)) exitWith - { - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",false] - } - } - foreach _battery - }; - - (group _target) setVariable ["CFF_Taken",true]; - - _phaseF = [1,2]; - if ((RydFFE_OnePhase) or ((count RydFFE_FO) == 0) and not (RydFFE_2PhWithoutFO)) then {_phaseF = [1]}; - - _targlead = vehicle (leader _target); - - _waitFor = true; - - _amount1 = ceil (_amount/6); - _amount2 = _amount - _amount1; - - { - if (isNil ("_myFO")) exitwith {_waitFor = false}; - if (isNull _myFO) exitwith {_waitFor = false}; - if not (alive _myFO) exitwith {_waitFor = false}; - - if (isNil ("_target")) exitwith {_waitFor = false}; - if (isNull _target) exitwith {_waitFor = false}; - if not (alive _target) exitwith {_waitFor = false}; - - if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; - if (isNull _battery1) exitWith {_waitFor = false}; - if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; - - if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; - if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; - - if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; - - _againF = 0.85; - _accF = RydFFE_Acc; - - _againcheck = _battery1 getVariable [("CFF_Trg" + _batname),objNull]; - if not ((str _againcheck) == (str _target)) then {_againF = 1}; - - _RydAccF = 1; - - //if (isNil ("RydFFE_Amount")) then {_amount = _this select 7} else {_amount = RydFFE_Amount}; - //if (isNil ("RydFFE_Acc")) then {_accF = 2} else {_accF = RydFFE_Acc}; - - //if (_ammoG in ["SPECIAL","SECONDARY"]) then {_amount = ceil (_amount/3)}; - - if ((count _phaseF) == 2) then - { - if (_x == 1) then - { - _amount = _amount1 - } - else - { - _amount = _amount2 - } - }; - - if (_amount == 0) exitwith {_waitFor = false}; - - if not (isNull _myFO) then - { - _assumedPos = _myFO getHideFrom _target; - }; - - if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; - - _targetPosATL = _assumedPos; - _targetPos = ATLtoASL _assumedPos; - - _eta = -1; - - { - { - _vh = vehicle _x; - _vhMags = magazines _vh; - if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then - { - _ammoC = _vhMags select 0; - - { - if (_x in _ammo) exitWith - { - _ammoC = _x - } - } - foreach _vhMags; - - _newEta = _vh getArtilleryETA [_targetPosATL,_ammoC]; - - if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then - { - _eta = _newEta - } - } - } - foreach (units _x) - } - foreach _battery; - - if (_eta == -1) exitWith {_waitFor = false}; - - _X0 = (_targetpos select 0); - _Y0 = (_targetpos select 1); - - sleep 10; - - if (isNil ("_myFO")) exitwith {_waitFor = false}; - if (isNull _myFO) exitwith {_waitFor = false}; - if not (alive _myFO) exitwith {_waitFor = false}; - - if (isNull _target) exitwith {_waitFor = false}; - if not (alive _target) exitwith {_waitFor = false}; - - if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; - if (isNull _battery1) exitWith {_waitFor = false}; - if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; - - if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; - if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; - - if not (isNull _myFO) then - { - _assumedPos = _myFO getHideFrom _target; - }; - - if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; - - _targetPos = ATLtoASL _assumedPos; - - _X1 = (_targetpos select 0); - _Y1 = (_targetpos select 1); - - sleep 10; - - if (isNil ("_myFO")) exitwith {_waitFor = false}; - if (isNull _myFO) exitwith {_waitFor = false}; - if not (alive _myFO) exitwith {_waitFor = false}; - - if (isNull _target) exitwith {_waitFor = false}; - if not (alive _target) exitwith {_waitFor = false}; - - if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; - if (isNull _battery1) exitWith {_waitFor = false}; - if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; - - if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; - if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; - - if not (isNull _myFO) then - { - _assumedPos = _myFO getHideFrom _target; - }; - - if ((_assumedPos distance [0,0,0]) == 0) exitWith {_waitFor = false}; - - _targetPos = ATLtoASL _assumedPos; - - _X2 = (_targetpos select 0); - _Y2 = (_targetpos select 1); - - _onRoad = isOnRoad _targlead; - - _Xav = (_X1+_X2)/2; - _Yav = (_Y1+_Y2)/2; - - _transspeed = ([_X0,_Y0] distance [_Xav,_Yav])/15; - _transdir = (_Xav - _X0) atan2 (_Yav - _Y0); - - _add = 16/(1 + (_transspeed)); - - _Xhd = _transspeed * (sin _transdir) * (_eta + _add); - _Yhd = _transspeed * (cos _transdir) * (_eta + _add); - _impactpos = _targetpos; - _safebase = 100; - - _exPX = (_targetPos select 0) + _Xhd; - _exPY = (_targetPos select 1) + _Yhd; - - _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; - _exTargetPosATL = ASLtoATL _exPos; - - _eta = -1; - - { - { - _vh = vehicle _x; - _vhMags = magazines _vh; - if (not (_vh isEqualTo _x) and {(count _vhMags) > 0}) then - { - _ammoC = _vhMags select 0; - - { - if (_x in _ammo) exitWith - { - _ammoC = _x - } - } - foreach _vhMags; - - _newEta = _vh getArtilleryETA [_exTargetPosATL,_ammoC]; - - if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then - { - _eta = _newEta - } - } - } - foreach (units _x) - } - foreach _battery; - - if (_eta == -1) exitWith {_waitFor = false}; - - _Xhd = _transspeed * (sin _transdir) * (_eta + _add); - _Yhd = _transspeed * (cos _transdir) * (_eta + _add); - - _exPX = (_targetPos select 0) + _Xhd; - _exPY = (_targetPos select 1) + _Yhd; - - _exPos = [_exPX,_exPY,getTerrainHeightASL [_exPX,_exPY]]; - - _exDst = _targetPos distance _exPos; - - if (isNil ("RydFFE_Safe")) then {_safebase = 100} else {_safebase = RydFFE_Safe}; - - _safe = _safebase * _RydAccf * (1 + overcast); - - _safecheck = true; - - if not (_onRoad) then - { - { - if (([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x))) < _safe) exitwith - { - _Xhd = _Xhd/2; - _Yhd = _Yhd/2 - } - } - foreach _friends; - - { - if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; - } - foreach _friends; - - if not (_safecheck) then - { - _Xhd = _Xhd/2; - _Yhd = _Yhd/2; - _safecheck = true; - { - if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; - } - foreach _friends; - if not (_safecheck) then - { - _Xhd = _Xhd/5; - _Yhd = _Yhd/5; - _safecheck = true; - { - if ([(_impactpos select 0) + _Xhd, (_impactpos select 1) + _Yhd] distance (vehicle (leader _x)) < _safe) exitwith {_safecheck = false}; - } - foreach _friends - } - }; - - _impactpos = [(_targetpos select 0) + _Xhd, (_targetpos select 1) + _Yhd]; - } - else - { - _nR = _targlead nearRoads 30; - - _stRS = _nR select 0; - _dMin = _stRS distance _exPos; - - { - _dAct = _x distance _exPos; - if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} - } - foreach _nR; - - _dSum = _assumedPos distance _stRS; - _checkedRS = [_stRS]; - _actRS = _stRS; - - while {_dSum < _exDst} do - { - _RSArr = (roadsConnectedTo _actRS) - _checkedRS; - if ((count _RSArr) == 0) exitWith {}; - _stRS = _RSArr select 0; - _dMin = _stRS distance _exPos; - - { - _dAct = _x distance _exPos; - if (_dAct < _dMin) then {_dMin = _dAct;_stRS = _x} - } - foreach _RSArr; - - _dSum = _dSum + (_stRS distance _actRS); - - _actRS = _stRS; - - _checkedRS set [(count _checkedRS),_stRS]; - }; - - if (_dSum < _exDst) then - { - //if (_transdir < 0) then {_transdir = _transdir + 360}; - _angle = [_targetPos,(getPosASL _stRS),1] call RYD_AngTowards; - _impactPos = [(getPosASL _stRS),_angle,(_exDst - _dSum)] call RYD_PosTowards2D - } - else - { - _rPos = getPosASL _stRS; - _impactPos = [_rPos select 0,_rPos select 1] - }; - - { - if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith - { - _safeCheck = false; - _impactpos = [((_impactpos select 0) + (_targetPos select 0))/2,((_impactpos select 1) + (_targetPos select 1))/2] - } - } - foreach _friends - }; - - if not (_safeCheck) then - { - _safeCheck = true; - - { - if ((_impactpos distance (vehicle (leader _x))) < _safe) exitwith - { - _safeCheck = false - } - } - foreach _friends - }; - - if not (_safecheck) exitwith {(group _target) setVariable ["CFF_Taken",false];_waitFor = false}; - - _distance2 = _impactPos distance (getPosATL (vehicle _batlead1)); - _DweatherF = 1 + overcast; - _gauss09 = (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09) + (random 0.09); - - //_gauss1 = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); - //_gauss04 = (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04) + (random 0.04); - //_gauss2 = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); - //_DdistF = (_distance2/10) * (0.1 + _gauss04); - //_DdamageF = 1 + 0.5 * (damage _batlead1); - //_DskillF = 2 * (skill _batlead1); - //_anotherD = 1 + _gauss1; - //_Dreduct = (1 + _gauss2) + _DskillF; - - //_spawndisp = _dispF * ((_RydAccf * _DdistF * _DdamageF) + (50 * _DweatherF * _anotherD)) / _Dreduct; - //_dispersion = 10000 * (_spawndisp atan2 _distance2) / 57.3; - - //_disp = _dispersion; - //if (isNil ("RydFFE_SpawnM")) then {_disp = _dispersion} else {_disp = _spawndisp}; - - //[_battery,_disp] call BIS_ARTY_F_SetDispersion; - - _RydAccF = 1; - - _gauss1b = (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1) + (random 0.1); - _gauss2b = (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2) + (random 0.2); - _AdistF = (_distance2/10) * (0.1 + _gauss09); - _AweatherF = _DweatherF; - _AdamageF = 1 + 0.1 * (damage (vehicle _batlead1)); - _AskillF = 5 * (_batlead1 skill "aimingAccuracy"); - _Areduct = (1 + _gauss2b) + _AskillF; - _spotterF = 0.2 + (random 0.2); - _anotherA = 1 + _gauss1b; - if not (isNil ("RydFFE_FOAccGain")) then {_spotterF = RydFFE_FOAccGain + (random 0.2)}; - if (((count _phaseF) == 2) and (_x == 1) or ((count _phaseF) == 1)) then {_spotterF = 1}; - - _acc = _spotterF * _againF * _accF * ((_AdistF * _AdamageF) + (50 * _AweatherF * _anotherA)) / _Areduct; - - _finalimpact = [(_impactpos select 0) + (random (2 * _acc)) - _acc,(_impactpos select 1) + (random (2 * _acc)) - _acc]; - - if not (isNull _myFO) then - { - _assumedPos = _myFO getHideFrom _target; - }; - - if (isNull _target) exitwith {_waitFor = false}; - if not (alive _target) exitwith {_waitFor = false}; - - if (({not (isNull _x)} count _batlead) < 1) exitwith {_waitFor = false}; - if (isNull _battery1) exitWith {_waitFor = false}; - if (({(alive _x)} count _batlead) < 1) exitwith {_waitFor = false}; - - if ((abs (speed _target)) > 50) exitWith {_waitFor = false}; - if ((_assumedPos select 2) > 20) exitWith {_waitFor = false}; - - //_dstAct = _impactpos vectorDistance _batlead; - - { - if not (isNull _x) then - { - { - (vehicle _x) setVariable ["RydFFE_ShotFired",false] - } - foreach (units _x) - }; - } - foreach _battery; - - sleep 0.2; - _posX = 0; - _posY = 0; - - _distance = _impactPos distance _finalimpact; - - (_battery select 0) setVariable ["RydFFE_Break",false]; - - if (_Debug) then - { - _posM1 = getposATL (vehicle _batlead1); - _posM1 set [2,0]; - _impactPosM = +_impactPos; - _impactPosM set [2,0]; - _finalimpactM = +_finalimpact; - _finalimpactM set [2,0]; - - _text = getText (configFile >> "CfgVehicles" >> (typeOf (vehicle _batlead1)) >> "displayName"); - _i = "markBat" + str (_battery1); - _i = createMarker [_i,_posM1]; - _i setMarkerColor "ColorBlack"; - _i setMarkerShape "ICON"; - _i setMarkerType "mil_circle"; - _i setMarkerSize [0.4,0.4]; - _i setMarkerText ("Firing battery - " + _text); - - _markers pushBack _i; - - _distance = _impactPosM vectorDistance _finalimpactM; - _distance2 = _impactPosM vectorDistance _posM1; - _i = "mark0" + str (_battery1); - _i = createMarker [_i,_impactPos]; - _i setMarkerColor "ColorBlue"; - _i setMarkerShape "ELLIPSE"; - _i setMarkerSize [_distance, _distance]; - _i setMarkerBrush "Border"; - - _markers pushBack _i; - - _dX = (_impactPosM select 0) - (_posM1 select 0); - _dY = (_impactPosM select 1) - (_posM1 select 1); - _angle = _dX atan2 _dY; - if (_angle >= 180) then {_angle = _angle - 180}; - _dXb = (_distance2/2) * (sin _angle); - _dYb = (_distance2/2) * (cos _angle); - _posX = (_posM1 select 0) + _dXb; - _posY = (_posM1 select 1) + _dYb; - - _i = "mark1" + str (_battery1); - _i = createMarker [_i,[_posX,_posY]]; - _i setMarkerColor "ColorBlack"; - _i setMarkerShape "RECTANGLE"; - _i setMarkerSize [0.5,_distance2/2]; - _i setMarkerBrush "Solid"; - _i setMarkerdir _angle; - - _markers pushBack _i; - - _dX = (_finalimpactM select 0) - (_impactPosM select 0); - _dY = (_finalimpactM select 1) - (_impactPosM select 1); - _angle = _dX atan2 _dY; - if (_angle >= 180) then {_angle = _angle - 180}; - _dXb = (_distance/2) * (sin _angle); - _dYb = (_distance/2) * (cos _angle); - _posX2 = (_impactPosM select 0) + _dXb; - _posY2 = (_impactPosM select 1) + _dYb; - - _i = "mark2" + str (_battery1); - _i = createMarker [_i,[_posX2,_posY2]]; - _i setMarkerColor "ColorBlack"; - _i setMarkerShape "RECTANGLE"; - _i setMarkerSize [0.5,_distance/2]; - _i setMarkerBrush "Solid"; - _i setMarkerdir _angle; - - _markers pushBack _i; - - _i = "mark3" + str (_battery1); - _i = createMarker [_i,_impactPosM]; - _i setMarkerColor "ColorBlack"; - _i setMarkerShape "ICON"; - _i setMarkerType "mil_dot"; - - _markers pushBack _i; - - _i = "mark4" + str (_battery1); - _i = createMarker [_i,_finalimpactM]; - _i setMarkerColor "ColorRed"; - _i setMarkerShape "ICON"; - _i setMarkerType "mil_dot"; - _i setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _eta) + " - " + _ammoG); - - _markers pushBack _i; - - /*_i = "mark5" + str (_battery); - _i = createMarker [_i,_finalimpactM]; - _i setMarkerColor "ColorRedAlpha"; - _i setMarkerShape "ELLIPSE"; - _i setMarkerSize [_spawndisp,_spawndisp];*/ - }; - - [_battery,_distance,_eta,_ammoG,_batlead,_target,_markers] spawn - { - private ["_mark","_battery","_distance","_eta","_Ammo","_target","_alive","_stoper","_TOF","_batlead"]; - - _battery = _this select 0; - _distance = _this select 1; - _eta = _this select 2; - _ammoG = _this select 3; - _batlead = _this select 4; - _target = _this select 5; - _markers = _this select 6; - - _battery1 = _battery select 0; - - _alive = true; - _shot = false; - - waitUntil - { - sleep 0.1; - if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; - if (isNull _battery1) then {_alive = false}; - if (({(alive _x)} count _batlead) < 1) then {_alive = false}; - if (_battery1 getVariable ["RydFFE_Break",false]) then {_alive = false}; - - { - if not (isNull _x) then - { - { - if ((vehicle _x) getVariable ["RydFFE_ShotFired",false]) exitWith {_shot = true} - } - foreach (units _x) - }; - - if (_shot) exitWith {} - } - foreach _battery; - - ((_shot) or not (_alive)) - }; - - { - if not (isNull _x) then - { - { - (vehicle _x) setVariable ["RydFFE_ShotFired",false] - } - foreach (units _x) - }; - } - foreach _battery; - - _stoper = time; - _TOF = 0; - _rEta = _eta; - _mark = ""; - - if ((count _markers) > 0) then - { - _mark = _markers select ((count _markers) -1); - }; - - while {(not (_rEta < 5) and not (_TOF > 200) and (_alive))} do - { - if (({not (isNull _x)} count _batlead) < 1) exitWith {_alive = false}; - if (isNull _battery1) exitWith {_alive = false}; - if (({(alive _x)} count _batlead) < 1) exitWith {_alive = false}; - if (_battery1 getVariable ["RydFFE_Break",false]) exitWith {_alive = false}; - - _TOF = (round (10 * (time - _stoper)))/10; - _rEta = _eta - _TOF; - - if ((count _markers) > 0) then - { - _mark setMarkerText (str (round _distance) + "m" + " - ETA: " + str (round _rEta) + " - TOF: " + (str _TOF) + " - " + _ammoG); - }; - - sleep 0.1 - }; - - if not (_alive) exitWith - { - (group _target) setvariable ["CFF_Taken",false]; - - { - deleteMarker _x; - } - foreach _markers; - }; - - _battery1 setVariable ["RydFFE_SPLASH",true]; - - if ((count _markers) > 0) then - { - _mark setMarkerText (str (round _distance) + "m" + " - SPLASH!" + " - " + _ammoG); - }; - }; - - _eta = [_battery,_finalimpact,_ammo,_amount] call RYD_CFF_Fire; - - _UL = _batlead1; - - _alive = (_eta > 0); - - if not (_alive) then {(_battery select 0) setVariable ["RydFFE_Break",true]}; - - waituntil - { - sleep 1; - - _available = true; - if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; - if (isNull _battery1) then {_alive = false}; - if (({(alive _x)} count _batlead) < 1) then {_alive = false}; - - { - if not (isNull _x) then - { - { - if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} - } - foreach (units _x) - }; - - if not (_available) exitWith {} - } - foreach _battery; - - ((_available) or not (_alive)) - }; - - if not (_alive) exitWith {_waitFor = false}; - - if (((count _phaseF) == 2) and (_x == 1)) then - { - _alive = true; - _splash = false; - - waitUntil - { - sleep 1; - - if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; - if (isNull _battery1) then {_alive = false}; - if (({(alive _x)} count _batlead) < 1) then {_alive = false}; - if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; - - ((_splash) or not (_alive)) - }; - - if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; - - sleep 10; - - { - deleteMarker _x; - } - foreach _markers - }; - - if not (_alive) exitWith {_waitFor = false}; - } - foreach _phaseF; - - _battery1 setVariable [("CFF_Trg" + _batname),_target]; - - _alive = true; - _splash = false; - - if (_waitFor) then - { - waitUntil - { - sleep 1; - - if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; - if (isNull _battery1) then {_alive = false}; - if (({(alive _x)} count _batlead) < 1) then {_alive = false}; - if not (isNull _battery1) then {_splash = _battery1 getVariable ["RydFFE_SPLASH",false]}; - - ((_splash) or not (_alive)) - }; - - if not (isNull _battery1) then {_battery1 setVariable ["RydFFE_SPLASH",false]}; - - sleep 10 - }; - - { - deleteMarker _x; - } - foreach _markers; - - (group _target) setVariable ["CFF_Taken",false]; - - _alive = true; - - waitUntil - { - sleep 1; - - _available = true; - if (({not (isNull _x)} count _batlead) < 1) then {_alive = false}; - //if (isNull _battery1) then {_alive = false}; - if (({(alive _x)} count _batlead) < 1) then {_alive = false}; - - { - if not (isNull _x) then - { - { - if not ((vehicle _x) getVariable ["RydFFE_GunFree",true]) exitWith {_available = false} - } - foreach (units _x) - }; - - if not (_available) exitWith {} - } - foreach _battery; - - ((_available) or not (_alive)) - }; - - //if not (_alive) exitWith {}; - - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",false] - } - } - foreach _battery - }; - -RYD_CFF = - {//[RydFFE_ArtG,RydFFE_KnEnemies,(RydFFE_EnHArmor + RydFFE_EnMArmor + RydFFE_EnLArmor),RydFFE_Friends,RydFFE_Debug] call RYD_CFF; - private ["_artG","_knEnemies","_enArmor","_friends","_Debug","_CFFMissions","_tgt","_ammo","_bArr","_possible","_amount","_amnt"]; - - _artG = _this select 0; - _knEnemies = _this select 1; - _enArmor = _this select 2; - _friends = _this select 3; - _Debug = _this select 4; - _amount = _this select 5; - - _CFFMissions = ceil (random (count _artG)); - - for "_i" from 1 to _CFFMissions do - { - _tgt = [_knEnemies] call RYD_CFF_TGT; - - if not (isNull _tgt) then - { - _ammo = "HE"; - _amnt = _amount; - if ((random 100) > 85) then {_ammo = "SPECIAL";_amnt = (ceil (_amount/3))}; - //if (_tgt in _enArmor) then {_ammo = "HE";_amnt = 6}; - - _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_ArtyMission; - - _possible = _bArr select 0; - if (_possible) then - { - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",true] - } - } - foreach (_bArr select 1); - [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_CFF_FFE - } - else - { - switch (true) do - { - case (_ammo in ["SPECIAL","SECONDARY"]) : {_ammo = "HE";_amnt = _amount}; - case (_ammo in ["HE"]) : {_ammo = "SECONDARY";_amnt = _amount}; - }; - - _bArr = [(getPosATL _tgt),_artG,_ammo,_amnt,objNull] call RYD_ArtyMission; - - _possible = _bArr select 0; - if (_possible) then - { - { - if not (isNull _x) then - { - _x setVariable ["RydFFE_BatteryBusy",true] - } - } - foreach (_bArr select 1); - [_bArr select 1,_tgt,_bArr select 2,_bArr select 3,_friends,_Debug,_ammo,_amnt min (_bArr select 4)] spawn RYD_CFF_FFE - } - } - }; - - sleep (5 + (random 5)) - } - }; - -RYD_CFF_Fire = - { - private ["_battery","_pos","_ammo","_amount","_guns","_vh","_mags","_amount0","_eta","_alive","_available","_perGun","_rest","_aGuns","_perGun1","_shots","_toFire","_rest0","_bad","_ammoC","_ws","_gun"]; - - _battery = _this select 0; - _pos = _this select 1; - _ammo = _this select 2; - _amount = _this select 3; - - _eta = -1; - - _guns = []; - - { - if not (isNull _x) then - { - { - _vh = vehicle _x; - if not (_vh in _guns) then - { - _shots = 0; - - { - if ((_x select 0) in _ammo) then - { - _shots = _shots + (_x select 1) - } - } - foreach (magazinesAmmo _vh); - - _vh setVariable ["RydFFE_ShotsToFire",0]; - _vh setVariable ["RydFFE_MyShots",_shots]; - - if (_shots > 0) then - { - _guns set [(count _guns),_vh] - } - } - } - foreach (units _x) - } - } - foreach _battery; - - _aGuns = count _guns; - - if (_aGuns < 1) exitWith {-1}; - if (_amount < 1) exitWith {-1}; - - _perGun = floor (_amount/_aGuns); - _rest = _amount - (_perGun * _aGuns); - - { - _shots = _x getVariable ["RydFFE_MyShots",0]; - if not (_shots > _perGun) then - { - _x setVariable ["RydFFE_ShotsToFire",_shots]; - _amount = _amount - _shots; - _rest = _rest + (_perGun - _shots); - _x setVariable ["RydFFE_MyShots",0] - } - else - { - _x setVariable ["RydFFE_ShotsToFire",_perGun]; - _x setVariable ["RydFFE_MyShots",_shots - _perGun] - }; - } - foreach _guns; - - _bad = false; - - while {(_rest > 0)} do - { - _rest0 = _rest; - - { - if (_rest < 1) exitWith {}; - _shots = _x getVariable ["RydFFE_MyShots",0]; - - if (_shots > 0) then - { - _toFire = _x getVariable ["RydFFE_ShotsToFire",0]; - - _rest = _rest - 1; - - _x setVariable ["RydFFE_ShotsToFire",_toFire + 1]; - _x setVariable ["RydFFE_MyShots",_shots - 1] - } - } - foreach _guns; - - if (not (_rest0 > _rest) and (_rest > 0)) exitWith {_bad = true} - }; - - if (_bad) exitWith {-1}; - - { - if not (isNull _x) then - { - _vh = vehicle _x; - - if ((_vh getVariable ["RydFFE_ShotsToFire",0]) > 0) then - { - _mags = getArtilleryAmmo [_vh]; - - _ammoC = (magazines _vh) select 0; - - { - if (_x in _ammo) exitWith - { - _ammoC = _x - } - } - foreach (magazines _vh); - - if (_ammoC in _mags) then - { - _amount = _amount - 1; - - _newEta = _vh getArtilleryETA [_pos,_ammoC]; - - if (not (isNil "_newEta") and {((_newEta < _eta) or (_eta < 0))}) then - { - _eta = _newEta - }; - - [_vh,_pos,_ammoC] spawn - { - _vh = _this select 0; - _pos = _this select 1; - _ammo = _this select 2; - - if (_pos inRangeOfArtillery [[_vh],_ammo]) then - { - if (_ammo in (getArtilleryAmmo [_vh])) then - { - _vh setVariable ["RydFFE_GunFree",false]; - - if not ((currentMagazine _vh) in [_ammo]) then - { - _vh loadMagazine [[0],currentWeapon _vh,_ammo]; - - _ct = time; - - waitUntil - { - sleep 0.1; - _ws = weaponState [_vh,[0]]; - _ws = _ws select 3; - ((_ws in [_ammo]) or ((time - _ct) > 30)) - }; - - sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "magazineReloadTime")) + 0.1) - }; - - if (_pos inRangeOfArtillery [[_vh],_ammo]) then - { - if (_ammo in (getArtilleryAmmo [_vh])) then - { - if (((toLower (typeOf _vh)) in ["uss_iowa_turret_c","uss_iowa_turret_b","uss_iowa_turret_a"]) or {RydFFE_IowaMode}) then - { - { - _gun = vehicle _x; - if not ((toLower (typeOf _gun)) isEqualTo "uss_iowa_battleship") then - { - _gun doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] - } - } - foreach (units (group _vh)) - } - else - { - _vh doArtilleryFire [_pos, _ammo,(_vh getVariable ["RydFFE_ShotsToFire",1])] - }; - - _ct = time; - - waitUntil - { - sleep 0.1; - (not ((_vh getVariable ["RydFFE_ShotFired2",0]) < (_vh getVariable ["RydFFE_ShotsToFire",1])) or ((time - _ct) > 15)) - }; - - _vh setVariable ["RydFFE_ShotFired",true]; - _vh setVariable ["RydFFE_ShotFired2",0]; - }; - }; - - sleep ((getNumber (configFile >> "cfgWeapons" >> (currentWeapon _vh) >> "reloadTime")) + 0.5); - - _vh setVariable ["RydFFE_GunFree",true] - } - } - } - } - } - } - } - foreach _guns; - - /*{ - if not (isNull _x) then - { - { - (vehicle _x) setVariable ["RydFFE_GunFree",true] - } - foreach (units _x) - } - } - foreach _battery;*/ - - _eta - }; - -RydFFE_ShellsInRadius = - { - private ["_center","_radius","_shells","_inRange","_pos1","_shell","_pos2"]; - - _center = _this select 0; - _radius = _this select 1; - - _pos1 = [_center select 0,_center select 1,0]; - - _shells = missionNameSpace getVariable ["RydFFE_FiredShells",[]]; - - _inRange = []; - - { - _shell = _x; - if not (isNil "_shell") then - { - if not (isNull _x) then - { - _pos2 = getPosASL _x; - _pos2 = [_pos2 select 0,_pos2 select 1,0]; - - if ((_pos1 distance _pos2) < _radius) then - { - _inRange set [(count _inRange),_x] - } - } - } - } - foreach _shells; - - _inRange - }; - -RydFFE_AutoConfig = - { - private ["_allArty","_vh","_typeVh","_mags","_prim","_rare","_sec","_smoke","_illum","_maxHit","_ammo","_ammoC","_actHit","_subM","_mags0","_illumChosen","_smokeChosen","_rareChosen","_secChosen", - "_hit","_lc","_sim","_subM","_arr"]; - - _allArty = _this select 0; - - { - _vh = _x; - - if not (_vh getVariable ["RydFFE_CheckedOut",false]) then - { - _vh setVariable ["RydFFE_CheckedOut",true]; - _typeVh = toLower (typeOf _vh); - - if not (_typeVh in _allArty) then - { - _mags = getArtilleryAmmo [_vh]; - - if ((count _mags) > 0) then - { - _prim = ""; - _rare = ""; - _sec = ""; - _smoke = ""; - _illum = ""; - - _maxHit = 10; - - { - _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); - _ammoC = configfile >> "CfgAmmo" >> _ammo; - - _actHit = getNumber (_ammoC >> "indirectHitRange"); - _subM = toLower (getText (_ammoC >> "submunitionAmmo")); - - if (_actHit <= 10) then - { - if not (_subM isEqualTo "") then - { - _ammoC = configfile >> "CfgAmmo" >> _subM; - _actHit = getNumber (_ammoC >> "indirectHitRange") - } - }; - - if ((_actHit > _maxHit) and {_actHit < 100}) then - { - _maxHit = _actHit; - _prim = _x - } - } - foreach _mags; - - _mags = _mags - [_prim]; - _mags0 = +_mags; - _illumChosen = false; - _smokeChosen = false; - _rareChosen = false; - _secChosen = false; - - { - _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); - _ammoC = configfile >> "CfgAmmo" >> _ammo; - - _hit = getNumber (_ammoC >> "indirectHit"); - _lc = _ammoC >> "lightColor"; - _sim = toLower (getText (_ammoC >> "simulation")); - _subM = toLower (getText (_ammoC >> "submunitionAmmo")); - - if (_hit <= 10) then - { - if not (_subM isEqualTo "") then - { - _ammoC = configfile >> "CfgAmmo" >> _subM; - _hit = getNumber (_ammoC >> "indirectHit") - } - }; - - switch (true) do - { - case ((isArray _lc) and {not (_illumChosen)}) : - { - _illum = _x; - _mags = _mags - [_x]; - _illumChosen = true - }; - - case ((_hit <= 10) and {(_subM isEqualTo "smokeshellarty") and {not (_smokeChosen)}}) : - { - _smoke = _x; - _mags = _mags - [_x]; - _smokeChosen = true - }; - - case ((_sim isEqualTo "shotsubmunitions") and {not (_rareChosen)}) : - { - _rare = _x; - _mags = _mags - [_x]; - _rareChosen = true - }; - - case ((_hit > 10) and {not ((_secChosen) or {(_rare == _x)})}) : - { - _sec = _x; - _mags = _mags - [_x]; - _secChosen = true - } - } - } - foreach _mags0; - - if (_sec isEqualTo "") then - { - _maxHit = 10; - - { - _ammo = getText (configfile >> "CfgMagazines" >> _x >> "ammo"); - _ammoC = configfile >> "CfgAmmo" >> _ammo; - _subAmmo = _ammoC >> "subMunitionAmmo"; - - if not (_subAmmo isEqualTo "") then - { - _ammoC = configfile >> "CfgAmmo" >> _subAmmo - }; - - _actHit = getNumber (_ammoC >> "indirectHit"); - - if (_actHit > _maxHit) then - { - _maxHit = _actHit; - _sec = _x - } - } - foreach _mags; - }; - - _arr = [_prim,_rare,_sec,_smoke,_illum]; - - if (({_x isEqualTo ""} count _arr) < 5) then - { - RydFFE_Other pushBack [[_typeVh],_arr]; - _allArty pushBack _typeVh - } - } - } - } - } - foreach vehicles; - - RydFFE_AllArty = _allArty; - - _allArty - }; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 2a492e3..189576b 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -1,9 +1,9 @@ -class VcomFunctions +class VCOM { tag = "VCM"; - class VCMFnc + class Functions { - file = "Vcom\Functions"; + file = "Vcom\Functions\VCM_Functions"; //[] call VCM_fnc_SquadExc class SquadExc {}; //[] call VCM_fnc_KitChk @@ -76,5 +76,24 @@ class VcomFunctions class KnowAbout {}; }; - +}; + + +class RYD +{ + // Fire For Effect: The God of War + class FFE_Functions + { + file = "Vcom\Functions\FFE_Functions"; + class AngTowards {}; + class ArtyMission {}; + class ArtyPrep {}; + class AutoConfig {}; + class CFF {}; + class CFF_FFE {}; + class CFF_Fire {}; + class CFF_TGT {}; + class PosTowards2D {}; + class ShellsInRadius {}; + }; }; \ No newline at end of file From 2d5c6230eb69bf69eb843c162050059f6332c120 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 10 Nov 2018 11:38:33 +0100 Subject: [PATCH 06/83] Resolved script errors, FFE Functional Removed stray ")" x 2 --- Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf b/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf index eef9c73..79d0721 100644 --- a/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf +++ b/Vcom/Functions/FFE_Functions/fn_CFF_FFE.sqf @@ -613,7 +613,7 @@ _amount2 = _amount - _amount1; while {(not (_rEta < 5) and not (_TOF > 200) and (_alive))} do { if ( - ({not (isNull _x)} count _batlead) < 1) || + ({not (isNull _x)} count _batlead) < 1 || {isNull _battery1} || {({(alive _x)} count _batlead) < 1} || {_battery1 getVariable ["RydFFE_Break",false]} @@ -662,7 +662,7 @@ _amount2 = _amount - _amount1; _available = true; if ( - {not (isNull _x)} count _batlead) < 1 || + {not (isNull _x)} count _batlead < 1 || {isNull _battery1} || {({(alive _x)} count _batlead) < 1} ) then {_alive = false}; From 65c89102999d5e0f7cf98d1a75d993f626e47295 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 10 Nov 2018 12:54:26 +0100 Subject: [PATCH 07/83] Improved VCM_fnc_AiHit Why: * Before AI would ragdoll when taking any amount of damage, including barely getting scratched. * Units would also bounce up when ragdolled while prone. * setUnitPos would overwrite forced stance settings. This change addresses the need by: * Checking how much damage was taken before ragdolling * Units will perform combat rolls/go low when hit while prone * Check if stance is already forced before running setUnitPos. Tweaked: * Units will not ragdoll when within 20 meters of shooter. May solve issue #38 --- Vcom/Functions/fn_AIHIT.sqf | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/Vcom/Functions/fn_AIHIT.sqf b/Vcom/Functions/fn_AIHIT.sqf index 0a10acd..71408e0 100644 --- a/Vcom/Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/fn_AIHIT.sqf @@ -1,12 +1,35 @@ //Function that executes when AI are hit. -private _Unit = _this select 0; -if !(isNull objectParent _Unit) exitWith {}; +params ["_unit", "_source", "_damage", "_instigator"]; +if !(isNull objectParent _unit) exitWith {}; //Lay down -_Unit setUnitPos "DOWN";_Unit spawn {sleep 30; _this setUnitPos "AUTO";}; +if (unitPos _unit == "AUTO") then +{ + _unit setUnitPos "DOWN"; + _unit spawn {sleep 30; _this setUnitPos "AUTO";}; +}; -if (VCM_RAGDOLL && {VCM_RAGDOLLCHC > (random 100)}) then +if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {lifestate _unit != "INCAPACITATED"} && {VCM_RAGDOLLCHC > (random 100)}) then { - _unit setUnconscious true; - _unit spawn {sleep 2;_this setUnconscious false;}; + if (stance _unit != "PRONE") then + { + //Ragdoll unit + _unit setUnconscious true; + _unit spawn {sleep 2;_this setUnconscious false;}; + } else { + switch (floor random 3) do { + case 1: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl";}; //Roll left + case 2: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr";}; //Roll right + default + { + _unit playMoveNow "AadjPpneMstpSrasWrflDdown"; //Go as low as possible + _unit spawn + { + sleep 4; + //Return to normal + if (alive _this && {animationState _this == "aadjppnemstpsraswrflddown"}) then {_this playMoveNow "AadjPpneMstpSrasWrflDDown_AmovPpneMstpSrasWrflDnon"}; + }; + }; + }; + }; }; From 2b2fd495d018b6da5f9ce805b9019f7e7acc938c Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 10 Nov 2018 13:00:51 +0100 Subject: [PATCH 08/83] Resolved conflicts fn_AIHIT.sqf caused a conflict. --- Vcom/Functions/VCM_Functions/fn_AIHIT.sqf | 35 +++++++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf index 0a10acd..71408e0 100644 --- a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf @@ -1,12 +1,35 @@ //Function that executes when AI are hit. -private _Unit = _this select 0; -if !(isNull objectParent _Unit) exitWith {}; +params ["_unit", "_source", "_damage", "_instigator"]; +if !(isNull objectParent _unit) exitWith {}; //Lay down -_Unit setUnitPos "DOWN";_Unit spawn {sleep 30; _this setUnitPos "AUTO";}; +if (unitPos _unit == "AUTO") then +{ + _unit setUnitPos "DOWN"; + _unit spawn {sleep 30; _this setUnitPos "AUTO";}; +}; -if (VCM_RAGDOLL && {VCM_RAGDOLLCHC > (random 100)}) then +if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {lifestate _unit != "INCAPACITATED"} && {VCM_RAGDOLLCHC > (random 100)}) then { - _unit setUnconscious true; - _unit spawn {sleep 2;_this setUnconscious false;}; + if (stance _unit != "PRONE") then + { + //Ragdoll unit + _unit setUnconscious true; + _unit spawn {sleep 2;_this setUnconscious false;}; + } else { + switch (floor random 3) do { + case 1: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl";}; //Roll left + case 2: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr";}; //Roll right + default + { + _unit playMoveNow "AadjPpneMstpSrasWrflDdown"; //Go as low as possible + _unit spawn + { + sleep 4; + //Return to normal + if (alive _this && {animationState _this == "aadjppnemstpsraswrflddown"}) then {_this playMoveNow "AadjPpneMstpSrasWrflDDown_AmovPpneMstpSrasWrflDnon"}; + }; + }; + }; + }; }; From 502486b9f5d01c6a2688c16f360ab81ebbf5fb4f Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 10 Nov 2018 13:00:51 +0100 Subject: [PATCH 09/83] Revert "Resolved conflicts" This reverts commit 2b2fd495d018b6da5f9ce805b9019f7e7acc938c. --- Vcom/Functions/VCM_Functions/fn_AIHIT.sqf | 35 ++++------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf index 71408e0..0a10acd 100644 --- a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf @@ -1,35 +1,12 @@ //Function that executes when AI are hit. -params ["_unit", "_source", "_damage", "_instigator"]; -if !(isNull objectParent _unit) exitWith {}; +private _Unit = _this select 0; +if !(isNull objectParent _Unit) exitWith {}; //Lay down -if (unitPos _unit == "AUTO") then -{ - _unit setUnitPos "DOWN"; - _unit spawn {sleep 30; _this setUnitPos "AUTO";}; -}; +_Unit setUnitPos "DOWN";_Unit spawn {sleep 30; _this setUnitPos "AUTO";}; -if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {lifestate _unit != "INCAPACITATED"} && {VCM_RAGDOLLCHC > (random 100)}) then +if (VCM_RAGDOLL && {VCM_RAGDOLLCHC > (random 100)}) then { - if (stance _unit != "PRONE") then - { - //Ragdoll unit - _unit setUnconscious true; - _unit spawn {sleep 2;_this setUnconscious false;}; - } else { - switch (floor random 3) do { - case 1: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl";}; //Roll left - case 2: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr";}; //Roll right - default - { - _unit playMoveNow "AadjPpneMstpSrasWrflDdown"; //Go as low as possible - _unit spawn - { - sleep 4; - //Return to normal - if (alive _this && {animationState _this == "aadjppnemstpsraswrflddown"}) then {_this playMoveNow "AadjPpneMstpSrasWrflDDown_AmovPpneMstpSrasWrflDnon"}; - }; - }; - }; - }; + _unit setUnconscious true; + _unit spawn {sleep 2;_this setUnconscious false;}; }; From b0bb8e5f4151890f4f3255afaf28876a8e88e5a2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 11 Nov 2018 01:01:56 +0100 Subject: [PATCH 10/83] Resolved AI Firing on friendlies wrote || where there should've been && --- Vcom/RYD_FFE/FFE.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf index 63a02f9..6add2b3 100644 --- a/Vcom/RYD_FFE/FFE.sqf +++ b/Vcom/RYD_FFE/FFE.sqf @@ -106,7 +106,7 @@ while {RydFFE_Active} do { _gp = _x; - if ((side _gp) == _side || {not (_gp in RydFFE_NoControl)}) then + if ((side _gp) == _side && {not (_gp in RydFFE_NoControl)}) then { { if ((toLower (typeOf (vehicle _x))) in _allArty) exitWith From 7ccf74b70efd36d34c9caed7cec6976d2831a053 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 11 Nov 2018 02:42:09 +0100 Subject: [PATCH 11/83] Further improved VCM_fnc_AIHIT Added more animations depending on equipped weapon. Unit suppression value set to 1 on hit --- Vcom/Functions/fn_AIHIT.sqf | 66 +++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/Vcom/Functions/fn_AIHIT.sqf b/Vcom/Functions/fn_AIHIT.sqf index 71408e0..3af3391 100644 --- a/Vcom/Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/fn_AIHIT.sqf @@ -11,23 +11,69 @@ if (unitPos _unit == "AUTO") then if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {lifestate _unit != "INCAPACITATED"} && {VCM_RAGDOLLCHC > (random 100)}) then { + + _unit setSuppression 1; + if (stance _unit != "PRONE") then { //Ragdoll unit _unit setUnconscious true; _unit spawn {sleep 2;_this setUnconscious false;}; } else { - switch (floor random 3) do { - case 1: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl";}; //Roll left - case 2: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr";}; //Roll right - default + //Apply animations instead of ragdoll when prone + + //Find current weapon type + private _currentWeapon = currentWeapon _unit; + private _currentWeaponType = 0; + if (_currentWeapon == primaryWeapon _unit) then {_currentWeaponType = 1}; + if (_currentWeapon == handgunWeapon _unit) then {_currentWeaponType = 2}; + if (_currentWeapon == Binocular _unit) then {_currentWeaponType = 3}; + + switch (_currentWeaponType) do + { + //Rifle animations + case 1: + { + switch (floor random 3) do { + case 1: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl";}; //Roll left + case 2: {_unit playMoveNow "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr";}; //Roll right + default + { + _unit playMoveNow "amovppnemstpsraswrfldnon_aadjppnemstpsraswrflddown"; //Go as low as possible + _unit spawn + { + sleep 4 + random 2; + //Return to normal + if (alive _this && {animationState _this isEqualTo "aadjppnemstpsraswrflddown"}) then {_this playMoveNow "aadjppnemstpsraswrflddown_amovppnemstpsraswrfldnon"}; + }; + }; + }; + }; + //Handgun animations + case 2: + { + switch (floor random 3) do { + case 1: {_unit playMoveNow "amovppnemstpsraswpstdnon_amovppnemevaslowwpstdl";}; //Roll left + case 2: {_unit playMoveNow "amovppnemstpsraswpstdnon_amovppnemevaslowwpstdr";}; //Roll right + default + { + _unit playMoveNow "amovppnemstpsraswpstdnon_aadjppnemstpsraswpstddown"; //Go as low as possible + _unit spawn + { + sleep 4 + random 2; + //Return to normal + if (alive _this && {animationState _this isEqualTo "aadjppnemstpsraswpstddown"}) then {_this playMoveNow "aadjppnemstpsraswpstddown_amovppnemstpsraswpstdnon"}; + }; + }; + }; + }; + //Binocular animations + case 3: { - _unit playMoveNow "AadjPpneMstpSrasWrflDdown"; //Go as low as possible - _unit spawn - { - sleep 4; - //Return to normal - if (alive _this && {animationState _this == "aadjppnemstpsraswrflddown"}) then {_this playMoveNow "AadjPpneMstpSrasWrflDDown_AmovPpneMstpSrasWrflDnon"}; + switch (floor random 2) do { + case 0: {_unit playMoveNow "amovppnemstpsoptwbindnon_amovppnemevasoptwbindl";}; //Roll left + case 1: {_unit playMoveNow "amovppnemstpsoptwbindnon_amovppnemevasoptwbindr";}; //Roll right + default {}; }; }; }; From d047c1de2bd1bddde55472f320db873f0e05ce9d Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 11 Nov 2018 03:10:58 +0100 Subject: [PATCH 12/83] Added missing CfgFunctions entry FFE_Shellview was missing --- Vcom/cfgFunctions.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 189576b..c4ebe84 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -96,4 +96,9 @@ class RYD class PosTowards2D {}; class ShellsInRadius {}; }; + class FFE_Shellview + { + file = "Vcom\Functions\FFE_Shellview"; + class Shellview {}; + }; }; \ No newline at end of file From 4b970d0ceaea05951e5aa0964fb6213906084f9f Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:24:41 -0700 Subject: [PATCH 13/83] Update Vcom/Functions/fn_AIHIT.sqf --- Vcom/Functions/fn_AIHIT.sqf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Vcom/Functions/fn_AIHIT.sqf b/Vcom/Functions/fn_AIHIT.sqf index 3af3391..5cb419e 100644 --- a/Vcom/Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/fn_AIHIT.sqf @@ -3,18 +3,16 @@ params ["_unit", "_source", "_damage", "_instigator"]; if !(isNull objectParent _unit) exitWith {}; //Lay down -if (unitPos _unit == "AUTO") then +if (unitPos _unit isEqualTo "AUTO") then { _unit setUnitPos "DOWN"; _unit spawn {sleep 30; _this setUnitPos "AUTO";}; }; -if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {lifestate _unit != "INCAPACITATED"} && {VCM_RAGDOLLCHC > (random 100)}) then +if (VCM_RAGDOLL && {_damage > 0.1} && {!(lifestate _unit isEqualTo "INCAPACITATED")} && {VCM_RAGDOLLCHC > (random 100)}) then { - - _unit setSuppression 1; - if (stance _unit != "PRONE") then + if !(stance _unit isEqualTo "PRONE") then { //Ragdoll unit _unit setUnconscious true; @@ -31,6 +29,7 @@ if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {li switch (_currentWeaponType) do { + //Rifle animations case 1: { @@ -49,6 +48,7 @@ if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {li }; }; }; + //Handgun animations case 2: { @@ -67,6 +67,7 @@ if (VCM_RAGDOLL && {_damage > 0.1} && {_unit distance2D _instigator > 20} && {li }; }; }; + //Binocular animations case 3: { From 92715841f32294975ecafe25bcf7781845a844db Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:26:41 -0700 Subject: [PATCH 14/83] Update Vcom/VcomInit.sqf --- Vcom/VcomInit.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 4cca8f8..c86ba29 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -50,6 +50,7 @@ Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; +VCOM_MINEARRAY = []; //Below is loop to check for new AI spawning in to be added to the list @@ -82,6 +83,6 @@ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABL }; } foreach allGroups; }; - uisleep 10; + sleep 10; }; }; \ No newline at end of file From 9a43499288f1ffa4bcd5c6f18731739095ac0de6 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:27:11 -0700 Subject: [PATCH 15/83] Update Vcom/VcomInit.sqf --- Vcom/VcomInit.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index c86ba29..b62e54a 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -47,11 +47,11 @@ if (isClass(configFile >> "CfgPatches" >> "cba_main")) then {CBAACT = true;} els Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; +VCOM_MINEARRAY = []; + //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; -VCOM_MINEARRAY = []; - //Below is loop to check for new AI spawning in to be added to the list [] spawn From 98ecb7964cb0dac8120659fc081b24428600bc04 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:32:38 -0700 Subject: [PATCH 16/83] Mine Changes --- CODE_OF_CONDUCT.md | 76 +++++++++++++++ README.md | 93 +++++++++++++++++++ .../VCM_Functions/fn_MineMonitor.sqf | 44 +++++++++ Vcom/cfgFunctions.hpp | 2 + 4 files changed, 215 insertions(+) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 README.md create mode 100644 Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f07954e --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at https://discord.gg/baDEfrS. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/README.md b/README.md new file mode 100644 index 0000000..33dc1b4 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# Vcom AI 3.0 + +## AI Modification: Faster, Smarter, and Deadlier AI. + +Vcom AI 3.0 is an AI overhaul modification (Script or Mod) that aims to change the feel of combat in a PvE environment. + + + +What does Vcom AI 3.0 offer? + +## Optimizations + +For starters, Vcom AI 3.0 offers a noticeable increase of performance over its older counter-part, Vcom AI 2.81. + +Functions on a group based FSM system, instead of an individual AI system. Allowing for better FPS, control, and cohesion with AI. + +Removed fluff and unnecessary code from Vcom AI 2.81, making the mod/script much more focused. + + +## Customization + +Use the [Userconfig file](https://github.com/genesis92x/VcomAI-3.0/blob/master/userconfig/VCOM_AI/AISettingsV3.hpp) to modify Vcom AI to your liking, or if CBA is running you can modify the [settings in-game and on the fly](https://i.imgur.com/IAsQuIF.png). + + +## Advanced AI Direction and Threats + +* AI will clear garrisoned buildings + +* AI will automatically generate waypoints for more interesting and varied combat (AI will not do this if they have certain pre-placed waypoints or more than 1 move waypoint) + +* AI move dynamically from cover to cover while following waypoints + +* AI will call for on-map artillery for support using Rydygier's Fire For Effect script + +* AI will call for reinforcements proportional to the enemy threat + +* AI will garrison structures temporarily in combat, if able + +* AI will look for nearby static weapons to man + +* AI will automatically deploy/pack static weapons + +* AI will use satchels to drop buildings, or setup traps for enemies + +* AI will use mines to on roads, in buildings, or wherever, to stop enemy movement + +* AI will change formations depending on the environment + +* AI will attempt to heal themselves or others when out of combat + +* AI will attempt to rearm themselves from dead bodies, vehicles, and etc when low + +* AI will steal empty or unlocked vehicles + +* AI have a chance to ragdoll when shot, causing them to fall over briefly + +* AI have an enhanced ability to hear and respond to gunfire from a distance + +* AI will respond differently from a weapon that is suppressed or not + +* AI on a hold waypoint will garrison a structure indefinitely, or until provided another order + +* AI, with NVGs, will be able to see your IR laser and respond accordingly. Be careful where you point that thing! + +* AI can have side based/classname based skill settings. + + +## Ease of use + +Vcom AI is easy to use. Install it, throw some units down, and go. It supports AI being spawned in dynamically, so there is no worry about needing to execute the code on every freshly spawned AI. + + +## Donations + +Hey, working on this can be difficult and I do it in my spare time. +[If you want to show me a little love for what I do, I won't say no.](http://paypal.me/SmithDominic) + +## Links + +[BIForums](https://forums.bohemia.net/forums/topic/216611-release-vcom-ai-3-dangerous-ai/) + +[Discord](https://discord.gg/baDEfrS) + +[Steam](https://steamcommunity.com/sharedfiles/filedetails/?id=721359761) + +[Vcom AI 2.0](https://forums.bohemia.net/forums/topic/166374-vcom-ai-v20-ai-overhaul/) + +[Subreddit](https://www.reddit.com/r/VComAI/comments/5mclhk/vcom_ai_281_update/) (Essentially dead) + +## License + +
This work is licensed under the Public License Share Alike + diff --git a/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf new file mode 100644 index 0000000..7370949 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf @@ -0,0 +1,44 @@ +//This function will monitor all placed Vcom mines. Better than each mine having it's own spawn. +//This list is all local. +while {true} do +{ + private _RemoveLst = []; + { + private _Mine = _x select 0; + if (alive _Mine) then + { + private _Side = _x select 1; + private _EL = []; + private _TargetSide = ""; + { + _TargetSide = side _x; + if ([_Side, _TargetSide] call BIS_fnc_sideIsEnemy) then {_EL pushback _x;}; + } forEach allUnits; + + private _CE = [_EL,_Mine,true,"2"] call VCM_fnc_ClstObj; + + if (_CE distance _Mine < 2.5) then + { + [_Mine, true] remoteExecCall ["enableSimulationGlobal",2]; + sleep 0.25; + _Mine setdamage 1; + }; + } + else + { + _RemoveLst pushback _x; + }; + + + + + + + } foreach VCOM_MINEARRAY; + + { + private _A = _x; + VCOM_MINEARRAY deleteAt (VCOM_MINEARRAY findIf {_A isEqualTo _x;}); + } foreach _RemoveLst; + sleep 1.25; +}; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 189576b..cdbf696 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -74,6 +74,8 @@ class VCOM class IRCHECK {}; //[] call VCM_fnc_KnowAbout class KnowAbout {}; + //[] spawn VCM_fnc_MineMonitor {}; + class MineMonitor {}; }; }; From 4654113857320b13c45de52ba3a6cd05a0e45eab Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:35:57 -0700 Subject: [PATCH 17/83] Update Vcom/VcomInit.sqf --- Vcom/VcomInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index b62e54a..6c1b3e9 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -48,7 +48,7 @@ Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCOM_MINEARRAY = []; - +[] spawn VCM_fnc_MineMonitor; //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; From 7c00ad33889bf0cf5e06ef7303d128f630c333e0 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:39:04 -0700 Subject: [PATCH 18/83] MineMonitor This fixes extreme script lag caused by hundreds of mines placed over the map. --- .../VCM_Functions/fn_MineMonitor.sqf | 44 +++++++++++++++++++ Vcom/VcomInit.sqf | 2 +- Vcom/cfgFunctions.hpp | 2 + 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf diff --git a/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf new file mode 100644 index 0000000..7370949 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf @@ -0,0 +1,44 @@ +//This function will monitor all placed Vcom mines. Better than each mine having it's own spawn. +//This list is all local. +while {true} do +{ + private _RemoveLst = []; + { + private _Mine = _x select 0; + if (alive _Mine) then + { + private _Side = _x select 1; + private _EL = []; + private _TargetSide = ""; + { + _TargetSide = side _x; + if ([_Side, _TargetSide] call BIS_fnc_sideIsEnemy) then {_EL pushback _x;}; + } forEach allUnits; + + private _CE = [_EL,_Mine,true,"2"] call VCM_fnc_ClstObj; + + if (_CE distance _Mine < 2.5) then + { + [_Mine, true] remoteExecCall ["enableSimulationGlobal",2]; + sleep 0.25; + _Mine setdamage 1; + }; + } + else + { + _RemoveLst pushback _x; + }; + + + + + + + } foreach VCOM_MINEARRAY; + + { + private _A = _x; + VCOM_MINEARRAY deleteAt (VCOM_MINEARRAY findIf {_A isEqualTo _x;}); + } foreach _RemoveLst; + sleep 1.25; +}; \ No newline at end of file diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index b62e54a..cbafc39 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -48,7 +48,7 @@ Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCOM_MINEARRAY = []; - +[] spawn VCM_fnc_MineMonitor {}; //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index c4ebe84..82b01b0 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -74,6 +74,8 @@ class VCOM class IRCHECK {}; //[] call VCM_fnc_KnowAbout class KnowAbout {}; + //[] spawn VCM_fnc_MineMonitor; + class MineMonitor {}; }; }; From 05164168a661c5ca62d4b95f9494f9f63faec821 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 19:41:33 -0700 Subject: [PATCH 19/83] Mine Changes! --- Vcom/Functions/VCM_Functions/fn_MinePlant.sqf | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf index cef27d8..5f0cc74 100644 --- a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf @@ -69,10 +69,16 @@ _UnitSide = (side _Unit); if (_mine isEqualTo "") exitWith {}; +VCOM_MINEARRAY pushBack [_Mine,_UnitSide]; +[_Mine, false] remoteExecCall ["enableSimulationGlobal",2]; + +/* [_mine,_UnitSide] spawn { params ["_Mine","_UnitSide"]; + + private _NotSafe = true; [_Mine, false] remoteExecCall ["enableSimulationGlobal",2]; waitUntil @@ -81,10 +87,10 @@ if (_mine isEqualTo "") exitWith {}; private _ClosestEnemy = [0,0,0]; _ClosestEnemy = [_Array1,_Mine,true,"2"] call VCM_fnc_ClstObj; if (_ClosestEnemy distance _Mine < 2.5) then {_NotSafe = false;}; - uiSleep 0.1; + sleep 0.1; (!(alive _mine) || {!(_NotSafe)}) }; [_Mine, true] remoteExecCall ["enableSimulationGlobal",2]; - uiSleep 0.25; + sleep 0.25; _Mine setdamage 1; }; \ No newline at end of file From 8b426e1ccdf841f785ee6132347045d0cd3058c2 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 21:11:01 -0700 Subject: [PATCH 20/83] Improvement to Squad Disengagement Behavior --- Vcom/FSMS/SQUADBEH.fsm | 18 +++++++++--------- Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index b8afd8b..6a08302 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -3,7 +3,7 @@ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; -item2[] = {"Exit_FSM",1,4346,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; +item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; @@ -24,7 +24,7 @@ item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000 item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; item21[] = {"Continue2Return",8,218,350.000000,275.000000,450.000000,325.000000,0.000000,"Continue2Return"}; item22[] = {"Combat",4,218,675.000000,225.000000,775.000000,275.000000,100.000000,"Combat"}; -item23[] = {"Combat_Brain",2,250,875.000000,275.000000,975.000000,325.000000,0.000000,"Combat Brain"}; +item23[] = {"Combat_Brain",2,250,870.650879,303.704590,970.650879,353.704590,0.000000,"Combat Brain"}; item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110.000000,"Combat BEGIN"}; item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; @@ -34,7 +34,7 @@ item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; -item33[] = {"CheckIfStatic",4,218,950.000000,175.000000,1050.000000,225.000000,92.000000,"CheckIfStatic"}; +item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; @@ -45,7 +45,7 @@ item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.00 item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; -item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; +item44[] = {"Combat_END",4,4314,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; link1[] = {0,3}; link2[] = {1,2}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,-319.491241,78.526337,1330.826172,231.005432,447,782,1}; -window[] = {0,-1,-1,-1,-1,980,26,1327,26,1,465}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,389.726135,1161.329590,878.247070,-124.837097,680,884,1}; +window[] = {2,-1,-1,-1,-1,1511,2144,3445,557,3,698}; *//*%FSM*/ class FSM { @@ -532,7 +532,7 @@ class FSM priority = 90.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)} && {_leader distance (_leader findNearestEnemy _leader) > 400}" \n + condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)} && {_leader distance (_leader call VCM_fnc_ClstEmy) > 400}" \n ""/*%FSM*/; action=/*%FSM*/"// return behaviour and speed to normal" \n "_Beh = ""SAFE"";" \n @@ -671,7 +671,7 @@ class FSM condition=/*%FSM*/"(count _StaticList > 0) && {_BackbkC4 + 120 < time}"/*%FSM*/; action=/*%FSM*/"//[_x,_CurrentBackPack,_VCOM_HASUAV]" \n "" \n - "if (VCM_Debug) then {systemchat ""STATIC WEAPON CHECK"";};" \n + "if (VCM_Debug) then {diag_log ""Static Weapon Check""};" \n "" \n "private [""_t"", ""_wait""];" \n "_t = time;" \n @@ -741,7 +741,7 @@ class FSM priority = 91.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC7 + 30 < time) && {((_NearestEnemy distance2D _leader) < 800)} && {_Group call VCM_fnc_EmptyStatic};"/*%FSM*/; + condition=/*%FSM*/"(_BackbkC7 + 30 < time) && {((_NearestEnemy distance2D _leader) < 800)} && {_Group call VCM_fnc_EmptyStatic};"/*%FSM*/; action=/*%FSM*/"_Group call VCM_fnc_ArmStatics;_BackbkC7 = time;" \n "" \n "if (VCM_Debug) then {systemchat ""ARM STATICS"";};"/*%FSM*/; diff --git a/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf b/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf index 82e9e98..bf8a119 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf @@ -1,7 +1,7 @@ //Function for getting AI in a squad to arm any nearby statics private _Leader = (leader _this); -private _Weaps = nearestObjects [_Leader, ["StaticWeapon"], 250]; +private _Weaps = nearestObjects [_Leader, ["StaticWeapon"], 150]; private _UnitsA = units _this; if (count _Weaps < 0) exitWith {}; private _FA = []; @@ -46,7 +46,7 @@ if (count _FA < 0) exitWith {}; private _StaticGreen = true; private _Statictime = VCM_STATICARMT; - while {_StaticGreen && {alive _unit} && {alive _Weap} && {!(isNull (gunner _Weap))} && {_Unit distance2D (leader (group _Unit)) < 500}} do + while {_StaticGreen && {alive _unit} && {alive _Weap} && {!(isNull (gunner _Weap))} && {_Unit distance2D (leader (group _Unit)) < 500} && {_Unit behaviour isEqualTo "COMBAT"}} do { sleep 5; private _Enemy = _Unit findNearestEnemy _Unit; From fa44e826ae36e0dd202e65a3c9b95eb16a2b64e6 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sat, 10 Nov 2018 21:37:16 -0700 Subject: [PATCH 21/83] Update Vcom/VcomInit.sqf --- Vcom/VcomInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index cbafc39..6c1b3e9 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -48,7 +48,7 @@ Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCOM_MINEARRAY = []; -[] spawn VCM_fnc_MineMonitor {}; +[] spawn VCM_fnc_MineMonitor; //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; From 1dd6e062c18fd930be0a67b656b4b94991b51641 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sun, 11 Nov 2018 04:27:19 -0700 Subject: [PATCH 22/83] Update Vcom/FSMS/SQUADBEH.fsm --- Vcom/FSMS/SQUADBEH.fsm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index 6a08302..4230979 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -45,7 +45,7 @@ item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.00 item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; -item44[] = {"Combat_END",4,4314,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; +item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; link1[] = {0,3}; link2[] = {1,2}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,389.726135,1161.329590,878.247070,-124.837097,680,884,1}; -window[] = {2,-1,-1,-1,-1,1511,2144,3445,557,3,698}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,403.502502,966.001648,671.977112,-59.271748,680,884,1}; +window[] = {2,-1,-1,-1,-1,1058,2024,3325,104,3,698}; *//*%FSM*/ class FSM { From cf17f3f22d896d6e7a7b806bf01bb14a41c7e7a6 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 11 Nov 2018 15:22:30 +0100 Subject: [PATCH 23/83] Added description to ALL functions, minor bugfixes Also renamed all local variables to have lowercase first letter, and more descriptive names where appropiate. --- Vcom/FSMS/SQUADBEH.fsm | 1880 ++++++++--------- Vcom/Functions/VCM_Functions/fn_AIHIT.sqf | 23 + Vcom/Functions/VCM_Functions/fn_ActRearm.sqf | 25 +- .../Functions/VCM_Functions/fn_ArmStatics.sqf | 98 +- Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf | 72 +- .../Functions/VCM_Functions/fn_ArtyManage.sqf | 32 +- Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf | 40 +- Vcom/Functions/VCM_Functions/fn_CheckArty.sqf | 37 +- Vcom/Functions/VCM_Functions/fn_Classname.sqf | 13 +- Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf | 31 +- Vcom/Functions/VCM_Functions/fn_ClstObj.sqf | 49 +- Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf | 67 +- .../VCM_Functions/fn_EmptyStatic.sqf | 30 +- .../Functions/VCM_Functions/fn_EnemyArray.sqf | 25 +- Vcom/Functions/VCM_Functions/fn_FindCover.sqf | 153 +- Vcom/Functions/VCM_Functions/fn_FlankMove.sqf | 132 +- Vcom/Functions/VCM_Functions/fn_ForceMove.sqf | 50 +- .../VCM_Functions/fn_FriendlyArray.sqf | 18 +- Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf | 43 +- Vcom/Functions/VCM_Functions/fn_Garrison.sqf | 62 +- .../VCM_Functions/fn_GarrisonLight.sqf | 54 +- Vcom/Functions/VCM_Functions/fn_HasMine.sqf | 45 +- .../VCM_Functions/fn_HearingAids.sqf | 72 +- Vcom/Functions/VCM_Functions/fn_Heights.sqf | 83 +- Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf | 65 +- Vcom/Functions/VCM_Functions/fn_KitChk.sqf | 22 +- Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf | 26 +- .../VCM_Functions/fn_MineMonitor.sqf | 15 +- Vcom/Functions/VCM_Functions/fn_MinePlant.sqf | 102 +- .../Functions/VCM_Functions/fn_PackStatic.sqf | 48 +- Vcom/Functions/VCM_Functions/fn_RMedics.sqf | 21 +- Vcom/Functions/VCM_Functions/fn_RStatics.sqf | 55 +- Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf | 62 +- .../VCM_Functions/fn_SatchelPlant.sqf | 112 +- Vcom/Functions/VCM_Functions/fn_SquadExc.sqf | 17 +- Vcom/Functions/VCM_Functions/fn_WyptChk.sqf | 28 +- 36 files changed, 2102 insertions(+), 1605 deletions(-) diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index 4230979..a56573f 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -1,941 +1,941 @@ -/*%FSM*/ -/*%FSM*/ -/* -item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; -item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; -item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; -item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; -item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; -item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; -item6[] = {"Exit_FSM_1",1,250,-250.000000,475.000000,-175.000000,525.000000,0.000000,"Exit FSM"}; -item7[] = {"Simulation_Pause",4,218,250.000000,475.000000,350.000000,525.000000,990.000000,"Simulation Pause"}; -item8[] = {"Simulation_Pause",2,250,325.000000,525.000000,425.000000,575.000000,0.000000,"Simulation Pause"}; -item9[] = {"Simulation_Enabl",4,218,200.000000,500.000000,300.000000,550.000000,980.000000,"Simulation Enable"}; -item10[] = {"Wait",4,218,325.000000,600.000000,425.000000,650.000000,0.000000,"Wait"}; -item11[] = {"Frequent_Checks",4,218,-100.000000,300.000000,0.000000,350.000000,970.000000,"Frequent Checks"}; -item12[] = {"RearmCheck",4,218,-200.000000,300.000000,-100.000000,350.000000,960.000000,"RearmCheck"}; -item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000,0.000000,"Continue2LeaderCycle"}; -item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; -item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; -item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; -item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; -item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; -item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; -item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; -item21[] = {"Continue2Return",8,218,350.000000,275.000000,450.000000,325.000000,0.000000,"Continue2Return"}; -item22[] = {"Combat",4,218,675.000000,225.000000,775.000000,275.000000,100.000000,"Combat"}; -item23[] = {"Combat_Brain",2,250,870.650879,303.704590,970.650879,353.704590,0.000000,"Combat Brain"}; -item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110.000000,"Combat BEGIN"}; -item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; -item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; -item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; -item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; -item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; -item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; -item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; -item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; -item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; -item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; -item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; -item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; -item37[] = {"MinePlant",4,218,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; -item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; -item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; -item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; -item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; -item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; -item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; -item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; -link0[] = {0,1}; -link1[] = {0,3}; -link2[] = {1,2}; -link3[] = {3,4}; -link4[] = {4,5}; -link5[] = {4,7}; -link6[] = {4,11}; -link7[] = {4,12}; -link8[] = {4,13}; -link9[] = {4,31}; -link10[] = {4,34}; -link11[] = {5,6}; -link12[] = {7,8}; -link13[] = {8,9}; -link14[] = {8,10}; -link15[] = {9,4}; -link16[] = {10,8}; -link17[] = {11,17}; -link18[] = {12,15}; -link19[] = {13,20}; -link20[] = {14,16}; -link21[] = {15,18}; -link22[] = {16,19}; -link23[] = {17,18}; -link24[] = {18,4}; -link25[] = {19,4}; -link26[] = {20,14}; -link27[] = {20,21}; -link28[] = {20,22}; -link29[] = {20,24}; -link30[] = {20,25}; -link31[] = {20,40}; -link32[] = {20,44}; -link33[] = {21,16}; -link34[] = {22,23}; -link35[] = {23,25}; -link36[] = {23,26}; -link37[] = {23,28}; -link38[] = {23,30}; -link39[] = {23,33}; -link40[] = {23,36}; -link41[] = {23,37}; -link42[] = {23,38}; -link43[] = {23,39}; -link44[] = {23,40}; -link45[] = {23,42}; -link46[] = {23,43}; -link47[] = {24,23}; -link48[] = {25,16}; -link49[] = {26,27}; -link50[] = {27,29}; -link51[] = {28,27}; -link52[] = {29,16}; -link53[] = {30,27}; -link54[] = {31,32}; -link55[] = {32,18}; -link56[] = {33,27}; -link57[] = {34,35}; -link58[] = {35,18}; -link59[] = {36,27}; -link60[] = {37,27}; -link61[] = {38,27}; -link62[] = {39,27}; -link63[] = {40,41}; -link64[] = {42,27}; -link65[] = {43,27}; -link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,403.502502,966.001648,671.977112,-59.271748,680,884,1}; -window[] = {2,-1,-1,-1,-1,1058,2024,3325,104,3,698}; -*//*%FSM*/ -class FSM -{ - fsmName = "SQUADBEH"; - class States - { - /*%FSM*/ - class Begin_State - { - name = "Begin_State"; - itemno = 0; - init = /*%FSM*/"private _Group = _this;" \n - "private _leader = leader _group;" \n - "" \n - "{" \n - " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n - " {" \n - " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n - " };" \n - "} foreach (units _Group);" \n - "" \n - "" \n - "" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Cond - { - itemno = 1; - priority = 50.000000; - to="Exit_FSM"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_Group getvariable [""Vcm_Disable"",false] || {!(side leader _group in VCM_SIDEENABLED)}"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Continue - { - itemno = 3; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/"private _BackbkC = -60;" \n - "private _BackbkC2 = -60;" \n - "private _BackbkC3 = -300;" \n - "private _BackbkC4 = -120;" \n - "private _BackbkC5 = -120;" \n - "private _BackbkC6 = -120;" \n - "private _BackbkCC4 = -120;" \n - "private _BackbkC7 = -30;" \n - "private _BackbkC8 = -120;" \n - "private _CurLGar = false;" \n - "private _VCOM_GARRISONED = false;" \n - "private _Beh = (behaviour _leader);" \n - "private _Cover2Cover = -60;" \n - "private _WaypointGen = -910;" \n - "private _StaticList = [];" \n - "private _SatchelList = [];" \n - "private _MineList = [];" \n - "private _StartingBehavior = behaviour _leader;" \n - "private _CurUnits = (units _Group);" \n - "" \n - "" \n - "_Group call VCM_fnc_ArtyManage;" \n - "_Group call VCM_AIDIFSET;" \n - "" \n - "{" \n - " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n - " {" \n - " _x disableAI ""SUPPRESSION"";" \n - " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n - " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n - " };" \n - "} foreach (units _Group);" \n - "" \n - "if (VCM_Debug) then {diag_log (format [""%1: VCOM INITILZIED SCRIPTS"",_Group])};"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Exit_FSM - { - name = "Exit_FSM"; - itemno = 2; - init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;" \n - "" \n - "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - }; - }; - /*%FSM*/ - /*%FSM*/ - class Start_Point - { - name = "Start_Point"; - itemno = 4; - init = /*%FSM*/"private _leader = leader _group;" \n - "" \n - "//Check to see if new AI have joined the group" \n - "private _NewUnit = (units _Group) findIf {!(_x in _CurUnits)};" \n - "if !(_NewUnit isEqualTo -1) then" \n - "{" \n - " _Group call VCM_AIDIFSET;" \n - " _Group call VCM_fnc_ArtyManage;" \n - " " \n - " {" \n - " if (!(_x in _CurUnits) && {!(isPlayer _x)} && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n - " {" \n - " _x disableAI ""SUPPRESSION"";" \n - " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n - " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n - " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n - " };" \n - " } foreach (units _Group);" \n - "" \n - " _CurUnits = (units _Group);" \n - "};" \n - "" \n - "" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Simulation_Pause - { - itemno = 7; - priority = 990.000000; - to="Simulation_Pause"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!(simulationEnabled _leader)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Frequent_Checks - { - itemno = 11; - priority = 970.000000; - to="Full_Check"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC + 30) < time"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class RearmCheck - { - itemno = 12; - priority = 960.000000; - to="RearmCheck"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC2 + 60) < time"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Five_Minute_Chec - { - itemno = 31; - priority = 950.000000; - to="Five_Minute_Chec"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC3 + 300) < time"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class TwoMinuteChecks - { - itemno = 34; - priority = 940.000000; - to="Two_Minute_Check"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkCC4 + 120) < time"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Exit_Cond - { - itemno = 5; - priority = 700.000000; - to="Exit_FSM_1"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Continue2LeaderC - { - itemno = 13; - priority = 0.000000; - to="Leader_Cycle_Beg"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Exit_FSM_1 - { - name = "Exit_FSM_1"; - itemno = 6; - init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;" \n - "" \n - "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - }; - }; - /*%FSM*/ - /*%FSM*/ - class Simulation_Pause - { - name = "Simulation_Pause"; - itemno = 8; - init = /*%FSM*/"private [""_t""];" \n - "_t = time;" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Simulation_Enabl - { - itemno = 9; - priority = 980.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"simulationEnabled (leader _group)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Wait - { - itemno = 10; - priority = 0.000000; - to="Simulation_Pause"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 10"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class RearmCheck - { - name = "RearmCheck"; - itemno = 15; - init = /*%FSM*/"_Group call VCM_fnc_RearmSelf;" \n - "_Group call VCM_fnc_ArtyManage;" \n - "_BackbkC2 = time;" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Continue2StartPo - { - itemno = 18; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Return - { - name = "Return"; - itemno = 16; - init = /*%FSM*/""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Continue2StartPo - { - itemno = 19; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + _Wait"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Full_Check - { - name = "Full_Check"; - itemno = 17; - init = /*%FSM*/"private _ReturnResponse = _Group call VCM_fnc_KitChk;" \n - "_ReturnResponse params [""_MedList"",""_L1""];" \n - "_L1 params [""_StaticList"",""_SatchelList"",""_MineList""];" \n - "_BackbkC = time;" \n - "" \n - "if (VCM_FRMCHANGE && {!(_group getVariable [""VCM_DisableForm"",false])}) then" \n - "{" \n - " _leader call VCM_fnc_FrmChnge;" \n - "}; "/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Continue2StartPo - { - itemno = 18; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Leader_Cycle_Beg - { - name = "Leader_Cycle_Beg"; - itemno = 20; - init = /*%FSM*/"private _t = time;" \n - "private _Wait = 5;" \n - "" \n - "" \n - "private _index = currentWaypoint _Group;" \n - "private _WaypointIs = waypointType [_Group,_index];" \n - "" \n - "if (!(_WaypointIs isEqualTo ""HOLD"")) then" \n - "{" \n - " _VCOM_GARRISONED = false;" \n - "};" \n - "" \n - "" \n - "//See if we can take any vehicles." \n - "if (VCM_StealVeh) then" \n - "{" \n - "{" \n - " if (_x iskindof ""LandVehicle"" && {crew _x isEqualTo []} && {_x distance _Leader < VCM_AIDISTANCEVEHPATH} && {locked _x != 2}) then" \n - " {" \n - " _Group addvehicle _x;" \n - " };" \n - "} foreach vehicles;" \n - "};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Exit_Cond - { - itemno = 40; - priority = 700.000000; - to="Exit_FSM_2"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Combat_BEGIN - { - itemno = 24; - priority = 110.000000; - to="Combat_Brain"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_Beh isEqualTo ""COMBAT"")} && {!(_VCOM_GARRISONED)}"/*%FSM*/; - action=/*%FSM*/"//[_Leader,50] call VCM_fnc_FindCover;" \n - "_Cover2Cover = time;" \n - "_Beh = ""COMBAT"";" \n - "if (VCM_FullSpeed) then {_Group setSpeedMode ""FULL"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Combat - { - itemno = 22; - priority = 100.000000; - to="Combat_Brain"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)}"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Combat_END - { - itemno = 44; - priority = 90.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)} && {_leader distance (_leader call VCM_fnc_ClstEmy) > 400}" \n - ""/*%FSM*/; - action=/*%FSM*/"// return behaviour and speed to normal" \n - "_Beh = ""SAFE"";" \n - "_leader setBehaviour _StartingBehavior;" \n - "(group _leader) setSpeedMode ""NORMAL"";" \n - "" \n - "// delete waypoints" \n - "_leader spawn" \n - "{" \n - " while {(count (waypoints (group _this))) > 0} do" \n - " { deleteWaypoint ((waypoints (group _this)) select 0); };" \n - "};" \n - "" \n - "if (VCM_Debug) then {systemchat ""COMBAT END"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Hold_WP - { - itemno = 14; - priority = 48.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_WaypointIs isEqualTo ""HOLD"" && {!(_VCOM_GARRISONED)}" \n - "" \n - "//(waypointScript [_group,_index]) isEqualTo ""Garrison"";" \n - ""/*%FSM*/; - action=/*%FSM*/"if (!_VCOM_GARRISONED) then {" \n - " _group spawn VCM_fnc_Garrison;" \n - " _VCOM_GARRISONED = true;" \n - "};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Return - { - itemno = 25; - priority = 0.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Continue2Return - { - itemno = 21; - priority = 0.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Combat_Brain - { - name = "Combat_Brain"; - itemno = 23; - init = /*%FSM*/"private _t = time;" \n - "private _Wait = 3;" \n - "" \n - "private _NearestEnemy = _leader findNearestEnemy _leader;" \n - "if (isNull _NearestEnemy) then" \n - "{" \n - " _NearestEnemy = _leader call VCM_fnc_ClstEmy; " \n - "};" \n - "" \n - "private _ArtyT = 0;" \n - "" \n - "switch ((side _Group)) do {" \n - " case west: {_ArtyT = VCM_ARTYWT;};" \n - " case east: {_ArtyT = VCM_ARTYET;}; " \n - " case resistance: {_ArtyT = VCM_ARTYRT;}; " \n - "};" \n - "" \n - "private _ClearCnc = (round (random 100));" \n - "" \n - "//systemchat str _StaticList;" \n - "//systemchat str _SatchelList;" \n - "//systemchat str _MineList;" \n - "//systemchat format [""%1"",count _MineList];" \n - "//systemchat format [""%1"",((_BackbkC6 + 120) - time)];"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Exit_Cond - { - itemno = 40; - priority = 700.000000; - to="Exit_FSM_2"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Flank_Orders - { - itemno = 28; - priority = 105.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_WaypointGen + 900 < time && {VCM_ADVANCEDMOVEMENT}"/*%FSM*/; - action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;_WaypointGen = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""WAYPOINT GENERATION"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class COVER2COVER - { - itemno = 42; - priority = 104.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_Cover2Cover + 60 < time && {!_CurLGar}"/*%FSM*/; - action=/*%FSM*/"_Cover2Cover = time;" \n - "[_Leader,100] call VCM_fnc_ForceMove;" \n - "" \n - "if (VCM_Debug) then {systemchat ""MOVE TO COVER"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class CheckIfStatic - { - itemno = 33; - priority = 92.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(count _StaticList > 0) && {_BackbkC4 + 120 < time}"/*%FSM*/; - action=/*%FSM*/"//[_x,_CurrentBackPack,_VCOM_HASUAV]" \n - "" \n - "if (VCM_Debug) then {diag_log ""Static Weapon Check""};" \n - "" \n - "private [""_t"", ""_wait""];" \n - "_t = time;" \n - "_wait = 3;" \n - "" \n - "{" \n - "private _Unit = _x select 0;" \n - "private _Foot = isNull objectParent _Unit;" \n - "if (_Foot) then" \n - "{ " \n - "private _BackPack = _x select 1;" \n - "private _HASUAV = _x select 2;" \n - "" \n - "private _NearestEnemy = _leader findNearestEnemy _leader;" \n - "if (isNull _NearestEnemy) then" \n - "{" \n - " _NearestEnemy = _leader call VCM_fnc_ClstEmy; " \n - "};" \n - "" \n - "//If the unit is in a building, or can see the enemy, we don't want them deploying mortars." \n - "private _CurrentBackPack = backpack _Unit;" \n - "private _Vcom_Indoor = false;" \n - "private _Position = getposATL _Unit;" \n - "private _Array = lineIntersectsObjs [_Position,[_Position select 0,_Position select 1,(_Position select 2) + 10], objnull, objnull, true, 4];" \n - "{" \n - " if (_x isKindof ""Building"") exitWith {_Vcom_Indoor = true;};" \n - "} foreach _Array;" \n - "" \n - "if !(_Vcom_Indoor) then" \n - "{" \n - " private _AssembledG = getText (configfile >> ""CfgVehicles"" >> _CurrentBackPack >> ""assembleInfo"" >> ""assembleTo"");" \n - " if !(_AssembledG isEqualTo """") then" \n - " {" \n - " private _StaticCreated = _AssembledG createvehicle [0,0,0];" \n - " _StaticCreated setposATL (getposATL _Unit);" \n - "" \n - " [_Unit,_StaticCreated,_NearestEnemy] spawn " \n - " {" \n - " params [""_Unit"",""_StaticCreated"",""_NearestEnemy""];" \n - "" \n - " [_Unit,""AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon""] remoteExec [""Vcm_PMN"",0];" \n - " sleep 3.5;" \n - " _Unit assignAsGunner _StaticCreated;" \n - " [_Unit] orderGetIn true;" \n - " _Unit moveInGunner _StaticCreated;" \n - " removeBackpackGlobal _Unit;" \n - "" \n - " private _dirTo = [position _StaticCreated,position _NearestEnemy] call BIS_fnc_dirTo;" \n - " _StaticCreated setDir _dirTo;" \n - " (Vehicle _Unit) setDir _dirTo;" \n - " };" \n - "" \n - " _StaticList deleteat _foreachindex;" \n - " [_Unit,_CurrentBackPack,_StaticCreated] spawn VCM_fnc_PackStatic;" \n - " };" \n - "" \n - "};" \n - "};" \n - "} foreach _StaticList;" \n - "_BackbkC4 = time;"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class ArmStatics - { - itemno = 38; - priority = 91.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC7 + 30 < time) && {((_NearestEnemy distance2D _leader) < 800)} && {_Group call VCM_fnc_EmptyStatic};"/*%FSM*/; - action=/*%FSM*/"_Group call VCM_fnc_ArmStatics;_BackbkC7 = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""ARM STATICS"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class GarrisonBuilding - { - itemno = 30; - priority = 88.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC3 + 300) < time && {(round (random 100)) > 20} && {!_CurLGar}" \n - ""/*%FSM*/; - action=/*%FSM*/"_this call VCM_fnc_GarrisonLight;" \n - "_BackbkC3 = time;" \n - "private _t = time;" \n - "private _Wait = 120;" \n - "_CurLGar = true;" \n - "" \n - "if (VCM_Debug) then {systemchat ""GARRISON BUILDING"";};" \n - "//systemchat ""GARRISON LIGHT"";"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class MinePlant - { - itemno = 37; - priority = 86.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(count _MineList > 0) && {_BackbkC6 + 30 < time}"/*%FSM*/; - action=/*%FSM*/"//[_x,(_Vcom_MineObject select 0)]" \n - "{" \n - "private _Foot = isNull objectParent (_x select 0);" \n - "if (_Foot) then" \n - "{ " \n - " [(_x select 0),(_x select 1)] spawn VCM_fnc_MinePlant;" \n - "};" \n - "} foreach _MineList;" \n - "_BackbkC6 = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""MINE PLACE"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class SatchelPlant - { - itemno = 36; - priority = 85.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(count _SatchelList > 0) && {_BackbkC5 + 120 < time}"/*%FSM*/; - action=/*%FSM*/"//[_x,(_SatchelArray select 0)]" \n - "{" \n - "private _Foot = isNull objectParent (_x select 0);" \n - "if (_Foot) then" \n - "{ " \n - " [(_x select 0),(_x select 1)] spawn VCM_fnc_SatchelPlant;" \n - "};" \n - "} foreach _SatchelList;" \n - "_BackbkC5 = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""SATCHEL PLACE"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Arty_Check - { - itemno = 26; - priority = 84.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"VCM_ARTYENABLE && {(_ArtyT + VCM_ARTYDELAY) < time} && {!(_NearestEnemy isequalto [0,0,0])} && {count (units (group _NearestEnemy)) > 2}"/*%FSM*/; - action=/*%FSM*/"[_Group,(group _NearestEnemy)] call VCM_fnc_ArtyCall;" \n - "switch ((side _Group)) do {" \n - " case west: {VCM_ARTYWT = time;};" \n - " case east: {VCM_ARTYET = time;}; " \n - " case resistance: {VCM_ARTYRT = time;}; " \n - "};" \n - "" \n - "if (VCM_Debug) then {systemchat ""ATTEMPT TO CALL ARTILLERY"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Clear_Building - { - itemno = 43; - priority = 50.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_BackbkC8 + 15 < time && {!_CurLGar} && {_ClearCnc < 51} && {leader _Group distance2D _NearestEnemy < 100}"/*%FSM*/; - action=/*%FSM*/"[_Group,_NearestEnemy] call VCM_fnc_ClearBuilding;" \n - "private _t = time;" \n - "private _Wait = 10;" \n - "_BackbkC8 = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""CLEAR BUILDING"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class True - { - itemno = 39; - priority = 0.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/"if (VCM_Debug) then {systemchat ""CONTINUE"";};"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Return - { - itemno = 25; - priority = 0.000000; - to="Return"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Five_Minute_Chec - { - name = "Five_Minute_Chec"; - itemno = 32; - init = /*%FSM*/"_BackbkC3 = time;" \n - "_CurLGar = false;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Continue2StartPo - { - itemno = 18; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Two_Minute_Check - { - name = "Two_Minute_Check"; - itemno = 35; - init = /*%FSM*/"_BackbkCC4 = time;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Continue2StartPo - { - itemno = 18; - priority = 0.000000; - to="Start_Point"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Exit_FSM_2 - { - name = "Exit_FSM_2"; - itemno = 41; - init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n - "VcmAI_ActiveList deleteAt _N;" \n - "" \n - "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - }; - }; - /*%FSM*/ - }; - initState="Begin_State"; - finalStates[] = - { - "Exit_FSM", - "Exit_FSM_1", - "Exit_FSM_2", - }; -}; +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; +item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; +item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; +item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; +item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; +item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; +item6[] = {"Exit_FSM_1",1,250,-250.000000,475.000000,-175.000000,525.000000,0.000000,"Exit FSM"}; +item7[] = {"Simulation_Pause",4,218,250.000000,475.000000,350.000000,525.000000,990.000000,"Simulation Pause"}; +item8[] = {"Simulation_Pause",2,250,325.000000,525.000000,425.000000,575.000000,0.000000,"Simulation Pause"}; +item9[] = {"Simulation_Enabl",4,218,200.000000,500.000000,300.000000,550.000000,980.000000,"Simulation Enable"}; +item10[] = {"Wait",4,218,325.000000,600.000000,425.000000,650.000000,0.000000,"Wait"}; +item11[] = {"Frequent_Checks",4,218,-100.000000,300.000000,0.000000,350.000000,970.000000,"Frequent Checks"}; +item12[] = {"RearmCheck",4,218,-200.000000,300.000000,-100.000000,350.000000,960.000000,"RearmCheck"}; +item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000,0.000000,"Continue2LeaderCycle"}; +item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; +item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; +item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; +item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; +item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; +item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; +item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; +item21[] = {"Continue2Return",8,218,350.000000,275.000000,450.000000,325.000000,0.000000,"Continue2Return"}; +item22[] = {"Combat",4,218,675.000000,225.000000,775.000000,275.000000,100.000000,"Combat"}; +item23[] = {"Combat_Brain",2,250,870.650879,303.704590,970.650879,353.704590,0.000000,"Combat Brain"}; +item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110.000000,"Combat BEGIN"}; +item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; +item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; +item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; +item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; +item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; +item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; +item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; +item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; +item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; +item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; +item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; +item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; +item37[] = {"MinePlant",4,4314,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; +item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; +item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; +item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; +item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; +item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; +item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; +item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; +link0[] = {0,1}; +link1[] = {0,3}; +link2[] = {1,2}; +link3[] = {3,4}; +link4[] = {4,5}; +link5[] = {4,7}; +link6[] = {4,11}; +link7[] = {4,12}; +link8[] = {4,13}; +link9[] = {4,31}; +link10[] = {4,34}; +link11[] = {5,6}; +link12[] = {7,8}; +link13[] = {8,9}; +link14[] = {8,10}; +link15[] = {9,4}; +link16[] = {10,8}; +link17[] = {11,17}; +link18[] = {12,15}; +link19[] = {13,20}; +link20[] = {14,16}; +link21[] = {15,18}; +link22[] = {16,19}; +link23[] = {17,18}; +link24[] = {18,4}; +link25[] = {19,4}; +link26[] = {20,14}; +link27[] = {20,21}; +link28[] = {20,22}; +link29[] = {20,24}; +link30[] = {20,25}; +link31[] = {20,40}; +link32[] = {20,44}; +link33[] = {21,16}; +link34[] = {22,23}; +link35[] = {23,25}; +link36[] = {23,26}; +link37[] = {23,28}; +link38[] = {23,30}; +link39[] = {23,33}; +link40[] = {23,36}; +link41[] = {23,37}; +link42[] = {23,38}; +link43[] = {23,39}; +link44[] = {23,40}; +link45[] = {23,42}; +link46[] = {23,43}; +link47[] = {24,23}; +link48[] = {25,16}; +link49[] = {26,27}; +link50[] = {27,29}; +link51[] = {28,27}; +link52[] = {29,16}; +link53[] = {30,27}; +link54[] = {31,32}; +link55[] = {32,18}; +link56[] = {33,27}; +link57[] = {34,35}; +link58[] = {35,18}; +link59[] = {36,27}; +link60[] = {37,27}; +link61[] = {38,27}; +link62[] = {39,27}; +link63[] = {40,41}; +link64[] = {42,27}; +link65[] = {43,27}; +link66[] = {44,27}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,403.502502,966.001648,671.977112,-59.271748,680,884,1}; +window[] = {2,-1,-1,-1,-1,1006,52,1353,52,3,698}; +*//*%FSM*/ +class FSM +{ + fsmName = "SQUADBEH"; + class States + { + /*%FSM*/ + class Begin_State + { + name = "Begin_State"; + itemno = 0; + init = /*%FSM*/"private _Group = _this;" \n + "private _leader = leader _group;" \n + "" \n + "{" \n + " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " {" \n + " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n + " };" \n + "} foreach (units _Group);" \n + "" \n + "" \n + "" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Cond + { + itemno = 1; + priority = 50.000000; + to="Exit_FSM"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_Group getvariable [""Vcm_Disable"",false] || {!(side leader _group in VCM_SIDEENABLED)}"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Continue + { + itemno = 3; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/"private _BackbkC = -60;" \n + "private _BackbkC2 = -60;" \n + "private _BackbkC3 = -300;" \n + "private _BackbkC4 = -120;" \n + "private _BackbkC5 = -120;" \n + "private _BackbkC6 = -120;" \n + "private _BackbkCC4 = -120;" \n + "private _BackbkC7 = -30;" \n + "private _BackbkC8 = -120;" \n + "private _CurLGar = false;" \n + "private _VCOM_GARRISONED = false;" \n + "private _Beh = (behaviour _leader);" \n + "private _Cover2Cover = -60;" \n + "private _WaypointGen = -910;" \n + "private _StaticList = [];" \n + "private _SatchelList = [];" \n + "private _MineList = [];" \n + "private _StartingBehavior = behaviour _leader;" \n + "private _CurUnits = (units _Group);" \n + "" \n + "" \n + "_Group call VCM_fnc_ArtyManage;" \n + "_Group call VCM_AIDIFSET;" \n + "" \n + "{" \n + " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " {" \n + " _x disableAI ""SUPPRESSION"";" \n + " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n + " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n + " };" \n + "} foreach (units _Group);" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: VCOM INITILZIED SCRIPTS"",_Group])};"/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Exit_FSM + { + name = "Exit_FSM"; + itemno = 2; + init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + /*%FSM*/ + class Start_Point + { + name = "Start_Point"; + itemno = 4; + init = /*%FSM*/"private _leader = leader _group;" \n + "" \n + "//Check to see if new AI have joined the group" \n + "private _NewUnit = (units _Group) findIf {!(_x in _CurUnits)};" \n + "if !(_NewUnit isEqualTo -1) then" \n + "{" \n + " _Group call VCM_AIDIFSET;" \n + " _Group call VCM_fnc_ArtyManage;" \n + " " \n + " {" \n + " if (!(_x in _CurUnits) && {!(isPlayer _x)} && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " {" \n + " _x disableAI ""SUPPRESSION"";" \n + " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n + " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n + " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n + " };" \n + " } foreach (units _Group);" \n + "" \n + " _CurUnits = (units _Group);" \n + "};" \n + "" \n + "" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Simulation_Pause + { + itemno = 7; + priority = 990.000000; + to="Simulation_Pause"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(simulationEnabled _leader)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Frequent_Checks + { + itemno = 11; + priority = 970.000000; + to="Full_Check"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkC + 30) < time"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class RearmCheck + { + itemno = 12; + priority = 960.000000; + to="RearmCheck"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkC2 + 60) < time"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Five_Minute_Chec + { + itemno = 31; + priority = 950.000000; + to="Five_Minute_Chec"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkC3 + 300) < time"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class TwoMinuteChecks + { + itemno = 34; + priority = 940.000000; + to="Two_Minute_Check"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkCC4 + 120) < time"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Exit_Cond + { + itemno = 5; + priority = 700.000000; + to="Exit_FSM_1"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Continue2LeaderC + { + itemno = 13; + priority = 0.000000; + to="Leader_Cycle_Beg"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Exit_FSM_1 + { + name = "Exit_FSM_1"; + itemno = 6; + init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + /*%FSM*/ + class Simulation_Pause + { + name = "Simulation_Pause"; + itemno = 8; + init = /*%FSM*/"private [""_t""];" \n + "_t = time;" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Simulation_Enabl + { + itemno = 9; + priority = 980.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"simulationEnabled (leader _group)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 10; + priority = 0.000000; + to="Simulation_Pause"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 10"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class RearmCheck + { + name = "RearmCheck"; + itemno = 15; + init = /*%FSM*/"_Group call VCM_fnc_RearmSelf;" \n + "_Group call VCM_fnc_ArtyManage;" \n + "_BackbkC2 = time;" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Continue2StartPo + { + itemno = 18; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Return + { + name = "Return"; + itemno = 16; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Continue2StartPo + { + itemno = 19; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + _Wait"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Full_Check + { + name = "Full_Check"; + itemno = 17; + init = /*%FSM*/"private _ReturnResponse = _Group call VCM_fnc_KitChk;" \n + "_ReturnResponse params [""_MedList"",""_L1""];" \n + "_L1 params [""_StaticList"",""_SatchelList"",""_MineList""];" \n + "_BackbkC = time;" \n + "" \n + "if (VCM_FRMCHANGE && {!(_group getVariable [""VCM_DisableForm"",false])}) then" \n + "{" \n + " _leader call VCM_fnc_FrmChnge;" \n + "}; "/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Continue2StartPo + { + itemno = 18; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Leader_Cycle_Beg + { + name = "Leader_Cycle_Beg"; + itemno = 20; + init = /*%FSM*/"private _t = time;" \n + "private _Wait = 5;" \n + "" \n + "" \n + "private _index = currentWaypoint _Group;" \n + "private _WaypointIs = waypointType [_Group,_index];" \n + "" \n + "if (!(_WaypointIs isEqualTo ""HOLD"")) then" \n + "{" \n + " _VCOM_GARRISONED = false;" \n + "};" \n + "" \n + "" \n + "//See if we can take any vehicles." \n + "if (VCM_StealVeh) then" \n + "{" \n + "{" \n + " if (_x iskindof ""LandVehicle"" && {crew _x isEqualTo []} && {_x distance _Leader < VCM_AIDISTANCEVEHPATH} && {locked _x != 2}) then" \n + " {" \n + " _Group addvehicle _x;" \n + " };" \n + "} foreach vehicles;" \n + "};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Exit_Cond + { + itemno = 40; + priority = 700.000000; + to="Exit_FSM_2"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Combat_BEGIN + { + itemno = 24; + priority = 110.000000; + to="Combat_Brain"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_Beh isEqualTo ""COMBAT"")} && {!(_VCOM_GARRISONED)}"/*%FSM*/; + action=/*%FSM*/"//[_Leader,50] call VCM_fnc_FindCover;" \n + "_Cover2Cover = time;" \n + "_Beh = ""COMBAT"";" \n + "if (VCM_FullSpeed) then {_Group setSpeedMode ""FULL"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Combat + { + itemno = 22; + priority = 100.000000; + to="Combat_Brain"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)}"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Combat_END + { + itemno = 44; + priority = 90.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((behaviour _leader) isEqualTo ""COMBAT"") && {!(_VCOM_GARRISONED)} && {_leader distance (_leader call VCM_fnc_ClstEmy) > 400}" \n + ""/*%FSM*/; + action=/*%FSM*/"// return behaviour and speed to normal" \n + "_Beh = ""SAFE"";" \n + "_leader setBehaviour _StartingBehavior;" \n + "(group _leader) setSpeedMode ""NORMAL"";" \n + "" \n + "// delete waypoints" \n + "_leader spawn" \n + "{" \n + " while {(count (waypoints (group _this))) > 0} do" \n + " { deleteWaypoint ((waypoints (group _this)) select 0); };" \n + "};" \n + "" \n + "if (VCM_Debug) then {systemchat ""COMBAT END"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Hold_WP + { + itemno = 14; + priority = 48.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_WaypointIs isEqualTo ""HOLD"" && {!(_VCOM_GARRISONED)}" \n + "" \n + "//(waypointScript [_group,_index]) isEqualTo ""Garrison"";" \n + ""/*%FSM*/; + action=/*%FSM*/"if (!_VCOM_GARRISONED) then {" \n + " _group spawn VCM_fnc_Garrison;" \n + " _VCOM_GARRISONED = true;" \n + "};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Return + { + itemno = 25; + priority = 0.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Continue2Return + { + itemno = 21; + priority = 0.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Combat_Brain + { + name = "Combat_Brain"; + itemno = 23; + init = /*%FSM*/"private _t = time;" \n + "private _Wait = 3;" \n + "" \n + "private _NearestEnemy = _leader findNearestEnemy _leader;" \n + "if (isNull _NearestEnemy) then" \n + "{" \n + " _NearestEnemy = _leader call VCM_fnc_ClstEmy; " \n + "};" \n + "" \n + "private _ArtyT = 0;" \n + "" \n + "switch ((side _Group)) do {" \n + " case west: {_ArtyT = VCM_ARTYWT;};" \n + " case east: {_ArtyT = VCM_ARTYET;}; " \n + " case resistance: {_ArtyT = VCM_ARTYRT;}; " \n + "};" \n + "" \n + "private _ClearCnc = (round (random 100));" \n + "" \n + "//systemchat str _StaticList;" \n + "//systemchat str _SatchelList;" \n + "//systemchat str _MineList;" \n + "//systemchat format [""%1"",count _MineList];" \n + "//systemchat format [""%1"",((_BackbkC6 + 120) - time)];"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Exit_Cond + { + itemno = 40; + priority = 700.000000; + to="Exit_FSM_2"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Flank_Orders + { + itemno = 28; + priority = 105.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_WaypointGen + 900 < time && {VCM_ADVANCEDMOVEMENT}"/*%FSM*/; + action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;_WaypointGen = time;" \n + "" \n + "if (VCM_Debug) then {systemchat ""WAYPOINT GENERATION"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class COVER2COVER + { + itemno = 42; + priority = 104.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_Cover2Cover + 60 < time && {!_CurLGar}"/*%FSM*/; + action=/*%FSM*/"_Cover2Cover = time;" \n + "[_Leader,100] call VCM_fnc_ForceMove;" \n + "" \n + "if (VCM_Debug) then {systemchat ""MOVE TO COVER"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class CheckIfStatic + { + itemno = 33; + priority = 92.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(count _StaticList > 0) && {_BackbkC4 + 120 < time}"/*%FSM*/; + action=/*%FSM*/"//[_x,_CurrentBackPack,_VCOM_HASUAV]" \n + "" \n + "if (VCM_Debug) then {diag_log ""Static Weapon Check""};" \n + "" \n + "private [""_t"", ""_wait""];" \n + "_t = time;" \n + "_wait = 3;" \n + "" \n + "{" \n + "private _Unit = _x select 0;" \n + "private _Foot = isNull objectParent _Unit;" \n + "if (_Foot) then" \n + "{ " \n + "private _BackPack = _x select 1;" \n + "private _HASUAV = _x select 2;" \n + "" \n + "private _NearestEnemy = _leader findNearestEnemy _leader;" \n + "if (isNull _NearestEnemy) then" \n + "{" \n + " _NearestEnemy = _leader call VCM_fnc_ClstEmy; " \n + "};" \n + "" \n + "//If the unit is in a building, or can see the enemy, we don't want them deploying mortars." \n + "private _CurrentBackPack = backpack _Unit;" \n + "private _Vcom_Indoor = false;" \n + "private _Position = getposATL _Unit;" \n + "private _Array = lineIntersectsObjs [_Position,[_Position select 0,_Position select 1,(_Position select 2) + 10], objnull, objnull, true, 4];" \n + "{" \n + " if (_x isKindof ""Building"") exitWith {_Vcom_Indoor = true;};" \n + "} foreach _Array;" \n + "" \n + "if !(_Vcom_Indoor) then" \n + "{" \n + " private _AssembledG = getText (configfile >> ""CfgVehicles"" >> _CurrentBackPack >> ""assembleInfo"" >> ""assembleTo"");" \n + " if !(_AssembledG isEqualTo """") then" \n + " {" \n + " private _StaticCreated = _AssembledG createvehicle [0,0,0];" \n + " _StaticCreated setposATL (getposATL _Unit);" \n + "" \n + " [_Unit,_StaticCreated,_NearestEnemy] spawn " \n + " {" \n + " params [""_Unit"",""_StaticCreated"",""_NearestEnemy""];" \n + "" \n + " [_Unit,""AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon""] remoteExec [""Vcm_PMN"",0];" \n + " sleep 3.5;" \n + " _Unit assignAsGunner _StaticCreated;" \n + " [_Unit] orderGetIn true;" \n + " _Unit moveInGunner _StaticCreated;" \n + " removeBackpackGlobal _Unit;" \n + "" \n + " private _dirTo = [position _StaticCreated,position _NearestEnemy] call BIS_fnc_dirTo;" \n + " _StaticCreated setDir _dirTo;" \n + " (Vehicle _Unit) setDir _dirTo;" \n + " };" \n + "" \n + " _StaticList deleteat _foreachindex;" \n + " [_Unit,_CurrentBackPack,_StaticCreated] spawn VCM_fnc_PackStatic;" \n + " };" \n + "" \n + "};" \n + "};" \n + "} foreach _StaticList;" \n + "_BackbkC4 = time;"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class ArmStatics + { + itemno = 38; + priority = 91.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkC7 + 30 < time) && {((_NearestEnemy distance2D _leader) < 800)} && {[_Group] call VCM_fnc_EmptyStatic};"/*%FSM*/; + action=/*%FSM*/"_Group call VCM_fnc_ArmStatics;_BackbkC7 = time;" \n + "" \n + "if (VCM_Debug) then {systemchat ""ARM STATICS"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class GarrisonBuilding + { + itemno = 30; + priority = 88.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(_BackbkC3 + 300) < time && {(round (random 100)) > 20} && {!_CurLGar}" \n + ""/*%FSM*/; + action=/*%FSM*/"_this call VCM_fnc_GarrisonLight;" \n + "_BackbkC3 = time;" \n + "private _t = time;" \n + "private _Wait = 120;" \n + "_CurLGar = true;" \n + "" \n + "if (VCM_Debug) then {systemchat ""GARRISON BUILDING"";};" \n + "//systemchat ""GARRISON LIGHT"";"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class MinePlant + { + itemno = 37; + priority = 86.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(count _MineList > 0) && {_BackbkC6 + 30 < time}"/*%FSM*/; + action=/*%FSM*/"//[_x,(_Vcom_MineObject select 0)]" \n + "{" \n + "private _Foot = isNull objectParent (_x select 0);" \n + "if (_Foot) then" \n + " { " \n + " [(_x select 0),(_x select 1)] spawn VCM_fnc_MinePlant;" \n + " };" \n + "} foreach _MineList;" \n + "_BackbkC6 = time;" \n + "" \n + "if (VCM_Debug) then {systemchat ""MINE PLACE"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class SatchelPlant + { + itemno = 36; + priority = 85.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(count _SatchelList > 0) && {_BackbkC5 + 120 < time}"/*%FSM*/; + action=/*%FSM*/"//[_x,(_SatchelArray select 0)]" \n + "{" \n + "private _Foot = isNull objectParent (_x select 0);" \n + "if (_Foot) then" \n + "{ " \n + " [(_x select 0),(_x select 1)] spawn VCM_fnc_SatchelPlant;" \n + "};" \n + "} foreach _SatchelList;" \n + "_BackbkC5 = time;" \n + "" \n + "if (VCM_Debug) then {systemchat ""SATCHEL PLACE"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Arty_Check + { + itemno = 26; + priority = 84.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"VCM_ARTYENABLE && {(_ArtyT + VCM_ARTYDELAY) < time} && {!(_NearestEnemy isequalto [0,0,0])} && {count (units (group _NearestEnemy)) > 2}"/*%FSM*/; + action=/*%FSM*/"[_Group,(group _NearestEnemy)] call VCM_fnc_ArtyCall;" \n + "switch ((side _Group)) do {" \n + " case west: {VCM_ARTYWT = time;};" \n + " case east: {VCM_ARTYET = time;}; " \n + " case resistance: {VCM_ARTYRT = time;}; " \n + "};" \n + "" \n + "if (VCM_Debug) then {systemchat ""ATTEMPT TO CALL ARTILLERY"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Clear_Building + { + itemno = 43; + priority = 50.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_BackbkC8 + 15 < time && {!_CurLGar} && {_ClearCnc < 51} && {leader _Group distance2D _NearestEnemy < 100}"/*%FSM*/; + action=/*%FSM*/"[_Group,_NearestEnemy] call VCM_fnc_ClearBuilding;" \n + "private _t = time;" \n + "private _Wait = 10;" \n + "_BackbkC8 = time;" \n + "" \n + "if (VCM_Debug) then {systemchat ""CLEAR BUILDING"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class True + { + itemno = 39; + priority = 0.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/"if (VCM_Debug) then {systemchat ""CONTINUE"";};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Return + { + itemno = 25; + priority = 0.000000; + to="Return"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Five_Minute_Chec + { + name = "Five_Minute_Chec"; + itemno = 32; + init = /*%FSM*/"_BackbkC3 = time;" \n + "_CurLGar = false;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Continue2StartPo + { + itemno = 18; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Two_Minute_Check + { + name = "Two_Minute_Check"; + itemno = 35; + init = /*%FSM*/"_BackbkCC4 = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Continue2StartPo + { + itemno = 18; + priority = 0.000000; + to="Start_Point"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Exit_FSM_2 + { + name = "Exit_FSM_2"; + itemno = 41; + init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n + "VcmAI_ActiveList deleteAt _N;" \n + "" \n + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + }; + initState="Begin_State"; + finalStates[] = + { + "Exit_FSM", + "Exit_FSM_1", + "Exit_FSM_2", + }; +}; /*%FSM*/ \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf index 5cb419e..603f3b9 100644 --- a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf @@ -1,4 +1,27 @@ //Function that executes when AI are hit. +/* + Author: Genesis, improved by Freddo + + Description: + Plays appropiate hit reactions on unit + + Parameter(s): + 0: OBJECT - Object affected + 1 (Optional): OBJECT - Object that caused damage + 2: NUMBER - Level of damage caused + 3: OBJECT - Object that pulled the trigger + + Returns: + NOTHING + + Example1: + this addEventHandler ["Hit", { + _this call VCM_fnc_AIHIT; + }]; + + NOTE: + Meant to be called from a "HIT" eventhandler +*/ params ["_unit", "_source", "_damage", "_instigator"]; if !(isNull objectParent _unit) exitWith {}; diff --git a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf index 28fcd6b..81344f4 100644 --- a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf @@ -1,10 +1,25 @@ -//This function is to ensure the AI reaches their ammo objective!!! -params ["_RAU","_RL"]; +/* + Author: Genesis -while {(_RAU distance _RL) > 5 && {(_RAU distance _RL) < 200}} do + Description: + Ensures AI reaches their rearm objective. + + Parameter(s): + 0: OBJECT - the unit to rearm + 1: ARRAY - location to rearm at. + + Returns: + NOTHING + + Example: + [unit1, getPos deadUnit] call VCM_fnc_ActRearm; +*/ +params ["_unitToRearm","_rearmLocation"]; + +while {(_unitToRearm distance _rearmLocation) > 5 && {(_unitToRearm distance _rearmLocation) < 200}} do { - _RAU domove (getpos _RL); + _unitToRearm domove (getpos _rearmLocation); sleep 4; }; - _RAU action ["rearm", _RL]; \ No newline at end of file + _unitToRearm action ["rearm", _rearmLocation]; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf b/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf index bf8a119..bb5fa3c 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArmStatics.sqf @@ -1,72 +1,86 @@ -//Function for getting AI in a squad to arm any nearby statics +/* + Author: Genesis -private _Leader = (leader _this); -private _Weaps = nearestObjects [_Leader, ["StaticWeapon"], 150]; -private _UnitsA = units _this; -if (count _Weaps < 0) exitWith {}; -private _FA = []; -{ -private _Unit = [_UnitsA,_x,true,"W1"] call VCM_fnc_ClstObj; + Description: + Makes group arm nearby static weapons. + + Parameter(s): + 0: GROUP - Affected group -//VCM_fnc_ClstObj returns [0,0,0] if nothing found -if (_Unit isEqualTo [0,0,0]) exitWith {}; + Returns: + NOTHING + + Example1: groupAlpha call VCM_fnc_ArmStatics; +*/ + +private _leader = (leader _this); +private _weaps = nearestObjects [_leader, ["StaticWeapon"], 150]; +private _unitArray = (units _this); +if (count _weaps < 0) exitWith {}; +private _assignedPairs = []; //Static weapon - Gunner pair -private _Foot = isNull objectParent _Unit; -if (_Foot) then { - if (_Unit distance2D _x < 100) then + private _unit = [_unitArray,_x,true,"W1"] call VCM_fnc_ClstObj; + + //VCM_fnc_ClstObj returns [0,0,0] if nothing found + if (_unit isEqualTo [0,0,0]) exitWith {}; + + private _foot = isNull objectParent _unit; + if (_foot) then { - _FA pushback [_Unit,_x]; - private _Del = (_UnitsA findIf {_x isEqualTo _Unit}); - _UnitsA deleteAt _Del; + if (_unit distance2D _x < 100) then + { + _assignedPairs pushback [_unit,_x]; + _unitArray deleteAt (_unitArray findIf {_x isEqualTo _unit}); + }; }; -}; -} foreach _Weaps; +} foreach _weaps; + +if (count _assignedPairs isEqualTo 0) exitWith {}; -if (count _FA < 0) exitWith {}; { _x spawn { - params ["_Unit","_Weap"]; - private _AssignedGunner = assignedGunner _Weap; - if (isNull _AssignedGunner) then + params ["_unit","_weap"]; + private _assignedGunner = assignedGunner _weap; + if (isNull _assignedGunner) then { - _Unit doMove (getposATL _Weap); - _Unit assignAsGunner _Weap; - [_Unit] orderGetIn true; + _unit doMove (getposATL _weap); + _unit assignAsGunner _weap; + [_unit] orderGetIn true; _Waiting = 0; - while {(alive _Unit) && {_Unit distance _Weap > 4}} do + while {(alive _unit) && {_unit distance _weap > 4}} do { sleep 1; }; - _Unit moveInGunner _Weap; - [_Unit,_Weap] spawn + _unit moveInGunner _weap; + [_unit,_weap] spawn { - params ["_Unit","_Weap"]; - private _StaticGreen = true; - private _Statictime = VCM_STATICARMT; + params ["_unit","_weap"]; + private _staticGreen = true; + private _statictime = VCM_STATICARMT; - while {_StaticGreen && {alive _unit} && {alive _Weap} && {!(isNull (gunner _Weap))} && {_Unit distance2D (leader (group _Unit)) < 500} && {_Unit behaviour isEqualTo "COMBAT"}} do + while {_staticGreen && {alive _unit} && {alive _weap} && {!(isNull (gunner _weap))} && {_unit distance2D (leader (group _unit)) < 500} && {behaviour _unit isEqualTo "COMBAT"}} do { sleep 5; - private _Enemy = _Unit findNearestEnemy _Unit; - if (!(isNull _Enemy)) then + private _enemy = _unit findNearestEnemy _unit; + if (!(isNull _enemy)) then { - private _cansee = [_Unit, "VIEW"] checkVisibility [eyePos _Unit, eyePos _Enemy]; - if (_cansee > 0) then {_Statictime = _Statictime + 3;} else {_Statictime = _Statictime - 5;}; + private _cansee = [_unit, "VIEW"] checkVisibility [eyePos _unit, eyePos _enemy]; + if (_cansee > 0) then {_statictime = _statictime + 3;} else {_statictime = _statictime - 5;}; } else { - _Statictime = _Statictime - 5; + _statictime = _statictime - 5; }; - if (_Statictime < 1) then {_StaticGreen = false;}; + if (_statictime < 1) then {_staticGreen = false;}; }; - unassignVehicle _Unit; - _Unit leaveVehicle _Weap; - doGetOut _Unit; + unassignVehicle _unit; + _unit leaveVehicle _weap; + doGetOut _unit; }; }; }; -} foreach _FA; \ No newline at end of file +} foreach _assignedPairs; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf index ff92d10..69c872f 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf @@ -1,64 +1,80 @@ -//Function for AI calling in artillery support. -params ["_CallGroup","_EnemyG"]; -private _CallSide = (side _CallGroup); +/* + Author: Genesis + + Description: + Function for AI calling in artillery support. + + Parameter(s): + 0: GROUP - Group calling for support + 1: GROUP - Enemy group to be targetted + + Returns: + NOTHING + + Note: + Deprecated in favour of Rydigiers "Fire for Effect: The God Of War" +*/ + +params ["_callGroup","_enemyG"]; +private _CallSide = (side _callGroup); //First let's remove any AI not actively in artillery pieces. Just in case something changed for them. { - private _Veh = _x; - private _class = typeOf _Veh; + private _veh = _x; + private _class = typeOf _veh; if !(isNil ("_class")) then { - private _ArtyChk = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); - if !(_ArtyChk isEqualTo 1) then + private _artyChk = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); + if !(_artyChk isEqualTo 1) then { - VCM_ARTYLST deleteAt (VCM_ARTYLST findif {_Veh isEqualTo _x}); + VCM_ARTYLST deleteAt (VCM_ARTYLST findif {_veh isEqualTo _x}); }; }; } foreach VCM_ARTYLST; //Next let's only select AI units who are on our side or friendly. -private _ArtyArray = []; +private _artyArray = []; { if ([(side _x),_CallSide] call BIS_fnc_sideIsFriendly) then { - _ArtyArray pushback _x; + _artyArray pushback _x; }; } foreach VCM_ARTYLST; -if (_ArtyArray isEqualTo []) exitWith {}; +if (_artyArray isEqualTo []) exitWith {}; //Now with our completed array, lets find positions that can support. -private _ClstGrp = [_ArtyArray,(leader _CallGroup),true,"Arty1"] call VCM_fnc_ClstObj; -if (isNil "_ClstGrp") exitWith {}; +private _clstGrp = [_artyArray,(leader _callGroup),true,"Arty1"] call VCM_fnc_ClstObj; +if (isNil "_clstGrp") exitWith {}; -private _AGrpUnits = units (group _ClstGrp); -private _AVehGrpUnits = []; -{_AVehGrpUnits pushback (vehicle _x)} foreach _AGrpUnits; +private _aGrpUnits = units (group _clstGrp); +private _aVehGrpUnits = []; +{_aVehGrpUnits pushback (vehicle _x)} foreach _aGrpUnits; -private _AmmoArray = getArtilleryAmmo _AVehGrpUnits; -if (isNil "_AmmoArray") exitWith {}; +private _ammoArray = getArtilleryAmmo _aVehGrpUnits; +if (isNil "_ammoArray") exitWith {}; -private _RandomAmmoArray = selectRandom _AmmoArray; -if (isNil "_RandomAmmoArray") exitWith {}; +private _randomAmmoArray = selectRandom _ammoArray; +if (isNil "_randomAmmoArray") exitWith {}; -private _LeaderE = leader _EnemyG; -private _ContinueFiring = (getPos _LeaderE) inRangeOfArtillery [_AVehGrpUnits,_RandomAmmoArray]; +private _leaderE = leader _enemyG; +private _continueFiring = (getPos _leaderE) inRangeOfArtillery [_aVehGrpUnits,_randomAmmoArray]; -if !(_ContinueFiring) exitWith {}; +if !(_continueFiring) exitWith {}; -private _EnemyGroup = _EnemyG; -private _RoundsToFire = round (count (units _EnemyGroup)/4); +private _enemyGroup = _enemyG; +private _RoundsToFire = round (count (units _enemyGroup)/4); if (_RoundsToFire < 2) then {_RoundsToFire = 2}; { private _dist = random (15 + (random VCM_ARTYSPREAD)); private _dir = random 360; - private _pos = getpos _LeaderE; + private _pos = getpos _leaderE; private _positions = [(_pos select 0) + (sin _dir) * _dist, (_pos select 1) + (cos _dir) * _dist, 0]; - _x doArtilleryFire [_positions,_RandomAmmoArray,_RoundsToFire]; + _x doArtilleryFire [_positions,_randomAmmoArray,_RoundsToFire]; -} foreach _AVehGrpUnits; \ No newline at end of file +} foreach _aVehGrpUnits; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf index 1beb883..8a74e83 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf @@ -1,19 +1,31 @@ -//Function for adding/removing units from the artillery list -//VCM_ARTYLST -//Group is passed +/* + Author: Genesis + + Description: + Scans group for artillery pieces, found artillery is added to VCM_ARTYLST. + + Parameter(s): + 0: GROUP - group to scan for artillery pieces + + Returns: + NOTHING + + Note: + Deprecated in favour of Rydigiers "Fire for Effect: The God Of War" +*/ { - private _Veh = (vehicle _x); - private _Num = VCM_ARTYLST findIf {_x isEqualTo _Veh}; - if (_Num isEqualTo -1) then + private _veh = (vehicle _x); + private _num = VCM_ARTYLST findIf {_x isEqualTo _veh}; + if (_num isEqualTo -1) then { - private _class = typeOf _Veh; + private _class = typeOf _veh; if !(isNil ("_class")) then { - private _ArtyChk = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); - if (_ArtyChk isEqualTo 1) then + private _artyChk = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); + if (_artyChk isEqualTo 1) then { - VCM_ARTYLST pushback _Veh; + VCM_ARTYLST pushback _veh; }; }; }; diff --git a/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf b/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf index a11607d..86232bf 100644 --- a/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf +++ b/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf @@ -1,20 +1,36 @@ -//Function for finding the closest WorldPos position (Left, Ride, Front, Rear) to an entity. And then finding a suitable position near that entity. -params ["_Ent","_Unit"]; -private _Div = 1; -if (_Ent isKindOf "landvehicle" || _Ent isKindOf "air") then {_Div = 2;}; +/* + Author: Genesis + + Description: + Function for finding the closest WorldPos position (Left, Ride, Front, Rear) to an entity. And then finding a suitable position near that entity. + + Parameter(s): + 0: OBJECT - Entity + 1: OBJECT - Unit + + Returns: + ARRAY - Position + + Note: + DEPRECATED +*/ + +params ["_ent","_unit"]; +private _div = 1; +if (_ent isKindOf "landvehicle" || _ent isKindOf "air") then {_div = 2;}; //First we need to get all the positions around the object, and mark each as front,rear,left,right. -private _EntBX = boundingBoxReal _Ent; -private _p1 = _EntBX select 0; -private _p2 = _EntBX select 1; +private _entBX = boundingBoxReal _ent; +private _p1 = _entBX select 0; +private _p2 = _entBX select 1; private _maxWidth = abs ((_p2 select 0) - (_p1 select 0)); private _maxLength = abs ((_p2 select 1) - (_p1 select 1)); -private _Left = _Ent modelToWorld [-((_maxWidth)/_Div),0,0]; -private _Right = _Ent modelToWorld [(_maxWidth/_Div),0,0]; -private _Front = _Ent modelToWorld [0,(_maxLength/_Div),0]; -private _Behind = _Ent modelToWorld [0,(-(_maxLength)/_Div),0]; -private _ClstPos = [[_Left,_Right,_Front,_Behind],_Unit,true,"NrstPos"] call DGN_fnc_ClosestObj; +private _left = _ent modelToWorld [-((_maxWidth)/_div),0,0]; +private _right = _ent modelToWorld [(_maxWidth/_div),0,0]; +private _front = _ent modelToWorld [0,(_maxLength/_div),0]; +private _behind = _ent modelToWorld [0,(-(_maxLength)/_div),0]; +private _ClstPos = [[_left,_right,_front,_behind],_unit,true,"NrstPos"] call DGN_fnc_ClosestObj; _ClstPos \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf b/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf index 10a22d7..6672e18 100644 --- a/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf +++ b/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf @@ -1,31 +1,44 @@ -//Function for defining AI who are in artillery pieces -//Pull the vehicle the unit is in. +/* + Author: Genesis -_Vehicle = (vehicle _this); -if (_Vehicle in Vcm_ArtilleryArray) exitWith {}; + Description: + Function for defining AI who are in artillery pieces. + + Parameter(s): + 0: OBJECT - Unit to check if it is in an artillery piece. + + Returns: + NOTHING + + Note: + Deprecated in favour of Rydigiers "Fire for Effect: The God Of War" +*/ + +_veh = (vehicle _this); +if (_veh in Vcm_ArtilleryArray) exitWith {}; //Get the vehicles class name. -private _class = typeOf _Vehicle; +private _class = typeOf _veh; if (isNil ("_class")) exitWith {}; //Figure out if it is defined as artillery -private _ArtyScan = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); +private _artyScan = getNumber(configfile/"CfgVehicles"/_class/"artilleryScanner"); //Exit the script if it is not defined as artillery -if (isNil "_ArtyScan") exitWith +if (isNil "_artyScan") exitWith { //Check if unit somehow is in the Vcm_ArtilleryArray and remove them. This can happen to units who were inside artillery pieces but ejected or moved out due to a divine intervention. - if (_Vehicle in Vcm_ArtilleryArray) then + if (_veh in Vcm_ArtilleryArray) then { - private _T = Vcm_ArtilleryArray findIf {_Vehicle isEqualTo _x}; - Vcm_ArtilleryArray deleteAt _T; + private _t = Vcm_ArtilleryArray findIf {_veh isEqualTo _x}; + Vcm_ArtilleryArray deleteAt _t; }; }; -if (_ArtyScan isEqualTo 1) then +if (_artyScan isEqualTo 1) then { - Vcm_ArtilleryArray pushBack _Vehicle; + Vcm_ArtilleryArray pushBack _veh; }; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_Classname.sqf b/Vcom/Functions/VCM_Functions/fn_Classname.sqf index ad37f6e..12cad12 100644 --- a/Vcom/Functions/VCM_Functions/fn_Classname.sqf +++ b/Vcom/Functions/VCM_Functions/fn_Classname.sqf @@ -1,4 +1,15 @@ -//Simple tweak of BIS' two functions built for Vehicle purposes by VCOM// +/* + Author: BIS, modified by Genesis + + Description: + Check if string is vehicle class + + Parameter(s): + 0: STRING - String to check + + Returns: + STRING +*/ params ["_name"]; private _return = "NotAClass"; diff --git a/Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf b/Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf index a1eb16d..81abef0 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstEmy.sqf @@ -1,13 +1,26 @@ -//Function for finding the closest enemy to the passed unit -//_this -private _UnitSide = (side _this); -private _A1 = []; + +/* + Author: Genesis, tweaked by Freddo + + Description: + Finds closest known enemy to unit + + Parameter(s): + 0: OBJECT - Unit to search from + + Returns: + OBJECT + if none found, ARRAY +*/ + +private _unitSide = (side _this); +private _a1 = []; { - private _TargetSide = side _x; - if ([_UnitSide, _TargetSide] call BIS_fnc_sideIsEnemy && {!(vehicle _X isKindOf "Air")} && {_this knowsAbout _x > 1}) then {_A1 pushback _x;}; + private _targetSide = side _x; + if ([_unitSide, _targetSide] call BIS_fnc_sideIsEnemy && {!(vehicle _X isKindOf "Air")} && {_this knowsAbout _x > 1}) then {_a1 pushback _x;}; } forEach allUnits; -private _Rtrn = [_A1,_this,true,"1"] call VCM_fnc_ClstObj; -if (isNil "_Rtrn") then {_Rtrn = [0,0,0]}; +private _rtrn = [_a1,_this,true,"1"] call VCM_fnc_ClstObj; +if (isNil "_rtrn") then {_rtrn = [0,0,0]}; -_Rtrn \ No newline at end of file +_rtrn \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf b/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf index 1e96bef..7b2f65c 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf @@ -1,13 +1,26 @@ -//Find closest object from an array of other objects +/* + Author: Genesis + + Description: + Finds closest object from an array of objects + + Parameter(s): + 0: ARRAY - Array to search for closest object + 1: OBJECT - Object to search away from + 2: (Optional): BOOLEAN - Defines order to sort array. True: Ascending, false, descending + 3: (Optional): ??? + + Returns: + OBJECT +*/ + params ["_list","_object","_order","_script"]; +if (isNil "_order") then {_order = true}; if (isNil "_script") then {_script = "Nil";}; -//systemchat format ["%1",_object]; -//_order = true, means closest first -//[_list,_object,_order,"SCRIPT1"] call dis_closestobj; private _position = [0,0,0]; -if (isNil "_object" || {isNil "_list"}) exitWith {_ClosestObject = [0,0,0];_ClosestObject}; +if (isNil "_object" || {isNil "_list"}) exitWith {_closestObject = [0,0,0];_closestObject}; switch (TypeName _object) do { @@ -17,28 +30,28 @@ switch (TypeName _object) do case "GROUP": {_position = (getPosATL (leader _object));}; }; -private _DistanceArray = []; +private _distanceArray = []; if (typeName _list isEqualTo "SCALAR") then {systemChat format ["_script: %1",_script];}; -private _NewObjectDistance = 0; +private _newObjectDistance = 0; { if !(isNil "_x") then { - _CompareObjectPos = [0,0,0]; + _compareObjectPos = [0,0,0]; switch (TypeName _x) do { - case "OBJECT": {_CompareObjectPos = getPosATL _x;}; - case "STRING": {_CompareObjectPos = getMarkerPos _x;}; - case "ARRAY": {_CompareObjectPos = _x;}; - case "GROUP": {_CompareObjectPos = (getPosATL (leader _x));}; + case "OBJECT": {_compareObjectPos = getPosATL _x;}; + case "STRING": {_compareObjectPos = getMarkerPos _x;}; + case "ARRAY": {_compareObjectPos = _x;}; + case "GROUP": {_compareObjectPos = (getPosATL (leader _x));}; }; - _NewObjectDistance = _CompareObjectPos distance2D _position; - _DistanceArray pushback [_NewObjectDistance,_x]; + _newObjectDistance = _compareObjectPos distance2D _position; + _distanceArray pushback [_newObjectDistance,_x]; }; } forEach _list; -_DistanceArray sort _order; +_distanceArray sort _order; -private _ClosestObject = ((_DistanceArray select 0) select 1); +private _closestObject = ((_distanceArray select 0) select 1); -if (isNil "_ClosestObject") then {_ClosestObject = [0,0,0];}; -_ClosestObject \ No newline at end of file +if (isNil "_closestObject") then {_closestObject = [0,0,0];}; +_closestObject \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf index c5fc504..836def8 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf @@ -1,58 +1,71 @@ -//Function for squads being able to warn their closest teammates about combat. -params ["_Unit","_Killer"]; +/* + Author: Genesis -private _UnitGroup = (group _Unit); + Description: + Function for squads being able to warn their closest teammates about combat. + + Parameter(s): + 0: OBJECT - Unit whose group will call for help + 1: OBJECT - Unit who killed above unit + + Returns: + NOTHING +*/ + +params ["_unit","_killer"]; + +private _unitGroup = (group _unit); //If the squad is a TOUGH SQUAD, we just exit here. -if (_UnitGroup getVariable ["VCM_TOUGHSQUAD",false] || _UnitGroup getVariable ["Vcm_Disable",false] || _UnitGroup getVariable ["VCM_NOFLANK",false]) exitWith {}; +if (_unitGroup getVariable ["VCM_TOUGHSQUAD",false] || _unitGroup getVariable ["Vcm_Disable",false] || _unitGroup getVariable ["VCM_NOFLANK",false]) exitWith {}; //If the squad is already calling for help, don't do anything further. -if (_UnitGroup getVariable ["VCM_RQSTHELP",false]) exitWith {}; -_UnitGroup setVariable ["VCM_RQSTHELP",true]; +if (_unitGroup getVariable ["VCM_RQSTHELP",false]) exitWith {}; +_unitGroup setVariable ["VCM_RQSTHELP",true]; -_UnitGroup spawn {sleep 300;_this setVariable ["VCM_RQSTHELP",false];}; +_unitGroup spawn {sleep 300;_this setVariable ["VCM_RQSTHELP",false];}; -private _TrgtPos = getpos _Killer; +private _trgtPos = getpos _killer; //If this gets attached to a player, then exit before doing anything -if (isPlayer _Unit) exitWith {}; +if (isPlayer _unit) exitWith {}; //Check to see if this unit should be moving to support others or not //Check to see if this unit is garrisoned. If so, don't do anything //Check to see if unit has radio. If the unit does not have a radio, then it will not move to support -private _CheckStatus = assignedItems _Unit; +private _checkStatus = assignedItems _unit; -if (isNil "_CheckStatus" || {(_Unit getVariable ["Vcm_Disable",false])} || {!("ItemRadio" in _CheckStatus)}) exitWith {}; +if (isNil "_checkStatus" || {(_unit getVariable ["Vcm_Disable",false])} || {!("ItemRadio" in _checkStatus)}) exitWith {}; -private _ArrayOrg = _Unit call VCM_fnc_FriendlyArray; -_ArrayOrg = _ArrayOrg - VCM_ARTYLST; +private _arrayOrg = _unit call VCM_fnc_FriendlyArray; +_arrayOrg = _arrayOrg - VCM_ARTYLST; //Remove players -{if (isPlayer _x) then {_ArrayOrg deleteAt _foreachIndex;};} foreach _ArrayOrg; +{if (isPlayer _x) then {_arrayOrg deleteAt _foreachIndex;};} foreach _arrayOrg; -private _Array2 = _Killer call VCM_fnc_FriendlyArray; -_Array2 = _Array2 - VCM_ARTYLST; +private _array2 = _killer call VCM_fnc_FriendlyArray; +_array2 = _array2 - VCM_ARTYLST; { - if (_x distance _Killer > 501) then {_Array2 = _Array2 - [_x];}; -} foreach _Array2; + if (_x distance _killer > 501) then {_array2 = _array2 - [_x];}; +} foreach _array2; sleep VCM_WARNDELAY; -private _EnemyCount = count _Array2; +private _EnemyCount = count _array2; private _RespondCount = 0; -private _aliveCount = {alive _x} count (units _UnitGroup); +private _aliveCount = {alive _x} count (units _unitGroup); if (_aliveCount > 0) then { { if (_RespondCount < _EnemyCount) then { - private _CheckStatus2 = assignedItems _x; + private _checkStatus2 = assignedItems _x; - if (!(isNil "_CheckStatus2") && {!(_x getVariable ["Vcm_Disable",false])} && {!(_x getVariable ["VCM_NOFLANK",false])} && {!(_x getVariable ["VCM_NORESCUE",false])} && {!(_x getVariable ["VCM_MOVE2SUP",false])} && {"ItemRadio" in _CheckStatus2}) then + if (!(isNil "_checkStatus2") && {!(_x getVariable ["Vcm_Disable",false])} && {!(_x getVariable ["VCM_NOFLANK",false])} && {!(_x getVariable ["VCM_NORESCUE",false])} && {!(_x getVariable ["VCM_MOVE2SUP",false])} && {"ItemRadio" in _checkStatus2}) then { @@ -65,7 +78,7 @@ if (_aliveCount > 0) then { - if ((_x distance2D _Unit) <= VCM_WARNDIST) then + if ((_x distance2D _unit) <= VCM_WARNDIST) then { _x setbehaviour "AWARE"; @@ -75,7 +88,7 @@ if (_aliveCount > 0) then _RespondCount = _RespondCount + count (crew (vehicle _x)); private _Driver = (driver (vehicle _x)); //systemchat format ["_RespondCountDRIVER %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; - _waypoint2 = (group _Driver) addwaypoint[_TrgtPos,15,150]; + _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; _waypoint2 setwaypointtype "MOVE"; _waypoint2 setWaypointSpeed "NORMAL"; _waypoint2 setWaypointBehaviour "AWARE"; @@ -84,12 +97,12 @@ if (_aliveCount > 0) then { _RespondCount = _RespondCount + (count (units (group _x))); //systemchat format ["_RespondCount %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; - _waypoint2 = (group _x) addwaypoint[_TrgtPos,15,150]; + _waypoint2 = (group _x) addwaypoint[_trgtPos,15,150]; _waypoint2 setwaypointtype "MOVE"; _waypoint2 setWaypointSpeed "NORMAL"; _waypoint2 setWaypointBehaviour "AWARE"; private _Driver = Driver (vehicle _x); - _waypoint2 = (group _Driver) addwaypoint[_TrgtPos,15,150]; + _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; _waypoint2 setwaypointtype "MOVE"; _waypoint2 setWaypointSpeed "NORMAL"; _waypoint2 setWaypointBehaviour "AWARE"; @@ -114,5 +127,5 @@ if (_aliveCount > 0) then }; }; - } foreach _ArrayOrg; + } foreach _arrayOrg; }; diff --git a/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf b/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf index 7b28b53..b2e4a66 100644 --- a/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf +++ b/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf @@ -1,13 +1,27 @@ -//Function for finding all empty static weapons nearby. -private _Returned = false; +/* + Author: Genesis + + Description: + Check if there are statics nearby + + Parameter(s): + 0: GROUP - Group to search from + 1 (Optional): NUMBER - Search distance + + Returns: + BOOLEAN +*/ +params ["_grp","_searchDist"]; +if (isNil "_searchDist") then {_searchDist = 100}; +private _returned = false; { - private _Weap = nearestObject [(getpos _x),"StaticWeapon"]; - if (!(isNull _Weap) || {!((_Weap distance2D _x) > 100)}) exitWith + private _weap = nearestObject [(getpos _x),"StaticWeapon"]; + if (!(isNull _weap) || {!((_weap distance2D _x) > _searchDist)}) exitWith { - _Returned = true; - _Returned + _returned = true; + _returned } -} foreach (units _this); +} foreach (units _grp); -_Returned \ No newline at end of file +_returned \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf b/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf index e9f765d..bc338e0 100644 --- a/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf +++ b/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf @@ -1,11 +1,22 @@ -//This function quickly find the list of all enemy units for a specific side. +/* + Author: Genesis -private _UnitSide = side (group _this); -private _TargetSide = ""; -private _Array1 = []; + Description: + Return array containing all enemies of unit. + + Parameter(s): + 0: OBJECT - Units enemy to this unit will be added to return array. + + Returns: + ARRAY +*/ + +private _unitSide = side (group _this); +private _targetSide = ""; +private _array1 = []; { - _TargetSide = side _x; - if ([_UnitSide, _TargetSide] call BIS_fnc_sideIsEnemy) then {_Array1 pushback _x;}; + _targetSide = side _x; + if ([_unitSide, _targetSide] call BIS_fnc_sideIsEnemy) then {_array1 pushback _x;}; } forEach allUnits; -_Array1 \ No newline at end of file +_array1 \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_FindCover.sqf b/Vcom/Functions/VCM_Functions/fn_FindCover.sqf index 86a2229..d84d7b9 100644 --- a/Vcom/Functions/VCM_Functions/fn_FindCover.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FindCover.sqf @@ -1,61 +1,76 @@ -//Find cover function! -//Needs the following params -// [_leader,_MoveDist] -params ["_leader","_MoveDist"]; - -private _Group = (group _leader); -private _NearestEnemy = _leader findNearestEnemy _leader; -if (isNull _NearestEnemy) then + +/* + Author: Genesis + + Description: + Makes group find cover + + Parameter(s): + 0: OBJECT - Group leader + 1: NUMBER - Move distance + + Returns: + NOTHING + + Note: + It has been decided to use Vanilla cover system rather than a custom implementation. +*/ + +params ["_leader","_moveDist"]; + +private _grp = (group _leader); +private _nearestEnemy = _leader findNearestEnemy _leader; +if (isNull _nearestEnemy) then { - _NearestEnemy = _leader call VCM_fnc_ClstEmy; + _nearestEnemy = _leader call VCM_fnc_ClstEmy; }; -private _TypeListFinal = []; +private _typeListFinal = []; -private _WeakListFinal = []; -private _ClosestCover = []; -private _TypeListFinal = []; -private _Units = (units _Group) select {alive _x}; +private _weakListFinal = []; +private _closestCover = []; +private _typeListFinal = []; +private _units = (units _grp) select {alive _x}; -private _curwp = currentWaypoint _Group; -private _wPos = waypointPosition [_Group,_curwp]; -private _Dir = _Wpos; -if (_WPos isEqualTo [0,0,0]) then +private _curwp = currentWaypoint _grp; +private _wPos = waypointPosition [_grp,_curwp]; +private _dir = _wPos; +if (_wPos isEqualTo [0,0,0]) then { _wPos = (getpos _leader); - _Dir = _NearestEnemy; + _dir = _nearestEnemy; }; -private _MovePosition = [_leader,_MoveDist,([_leader, _Dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; +private _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; if (VCM_Debug) then { private _arrow = "Sign_Arrow_Green_F" createVehicle [0,0,0]; - _arrow setposATL _MovePosition; + _arrow setposATL _movePosition; _arrow spawn { - _Counter = 0; - _Position = getpos _this; - _NewPos2 = _Position select 2; - while {_Counter < 60} do + _counter = 0; + _position = getpos _this; + _newPos2 = _position select 2; + while {_counter < 60} do { - _NewPos2 = _NewPos2 + 0.1; - _this setpos [_Position select 0,_Position select 1,_NewPos2]; - _Counter = _Counter + 1; + _newPos2 = _newPos2 + 0.1; + _this setpos [_position select 0,_position select 1,_newPos2]; + _counter = _counter + 1; sleep 0.5; }; deletevehicle _this; }; }; -private _TypeList = nearestObjects [_MovePosition, [], (_MoveDist/2)]; -private _Roads = _MovePosition nearRoads _MoveDist; +private _typeList = nearestObjects [_movePosition, [], (_moveDist/2)]; +private _roads = _movePosition nearRoads _moveDist; { private _Type = typeOf _x; if !(_type in ["#crater","#crateronvehicle","#soundonvehicle","#particlesource","#lightpoint","#slop","#mark","HoneyBee","Mosquito","HouseFly","FxWindPollen1","ButterFly_random","Snake_random_F","Rabbit_F","FxWindGrass2","FxWindLeaf1","FxWindGrass1","FxWindLeaf3","FxWindLeaf2"]) then { if (!(_x isKindOf "Man") && {!(_x isKindOf "Bird")} && {!(_x isKindOf "BulletCore")} && {!(_x isKindOf "Grenade")} && {!(_x isKindOf "WeaponHolder")}) then { - private _BoundingArray = boundingBoxReal _x; - private _p1 = _BoundingArray select 0; - private _p2 = _BoundingArray select 1; + private _boundingArray = boundingBoxReal _x; + private _p1 = _boundingArray select 0; + private _p2 = _boundingArray select 1; private _maxWidth = abs ((_p2 select 0) - (_p1 select 0)); private _maxLength = abs ((_p2 select 1) - (_p1 select 1)); private _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); @@ -63,26 +78,26 @@ private _Roads = _MovePosition nearRoads _MoveDist; { if (_type isEqualTo "") then { - _WeakListFinal pushback _x + _weakListFinal pushback _x } else { - _TypeListFinal pushback _x; + _typeListFinal pushback _x; }; }; }; }; true; -} count ((_TypeList) - (_Roads)); +} count ((_typeList) - (_roads)); -if (_TypeListFinal isEqualTo [] && _WeakListFinal isEqualTo []) exitWith +if (_typeListFinal isEqualTo [] && _weakListFinal isEqualTo []) exitWith { //NO COVER { - private _P = [[[_MovePosition, 50]],["water"]] call BIS_fnc_randomPos; + private _P = [[[_movePosition, 50]],["water"]] call BIS_fnc_randomPos; _x forcespeed -1; _x doMove _P; - } foreach _Units; + } foreach _units; }; //Now tell the AI to seek cover. @@ -90,74 +105,74 @@ if (_TypeListFinal isEqualTo [] && _WeakListFinal isEqualTo []) exitWith private _Foot = isNull objectParent _x; if (_Foot) then { - [_x,_TypeListFinal,_WeakListFinal,_NearestEnemy,_MoveDist,_MovePosition] spawn + [_x,_typeListFinal,_weakListFinal,_nearestEnemy,_moveDist,_movePosition] spawn { - params ["_Unit","_CoverL","_ConcealL","_NearestEnemy","_MoveDist","_MovePosition"]; - private _PosCON = (getPosWorld _Unit); - if (count _ConcealL > 0) then {_PosCON = selectRandom _ConcealL;}; //[_ConcealL,_Unit,true,"NrstPos"] call VCM_fnc_ClstObj; - if (count _CoverL > 0) then {_PosCON = selectRandom _CoverL }; //_PosCON = [_CoverL,_Unit,true,"NrstPos"] call VCM_fnc_ClstObj; + params ["_unit","_coverL","_concealL","_nearestEnemy","_moveDist","_movePosition"]; + private _posCON = (getPosWorld _unit); + if (count _concealL > 0) then {_posCON = selectRandom _concealL;}; //[_concealL,_unit,true,"NrstPos"] call VCM_fnc_ClstObj; + if (count _coverL > 0) then {_posCON = selectRandom _coverL }; //_posCON = [_coverL,_unit,true,"NrstPos"] call VCM_fnc_ClstObj; //Return fire for a few seconds, then move - private _FNearestEnemy = _Unit findNearestEnemy _Unit; - if (isNull _FNearestEnemy) then + private _fNearestEnemy = _unit findNearestEnemy _unit; + if (isNull _fNearestEnemy) then { - _FNearestEnemy = _Unit call VCM_fnc_ClstEmy; + _fNearestEnemy = _unit call VCM_fnc_ClstEmy; }; - _Unit doSuppressiveFire _FNearestEnemy; + _unit doSuppressiveFire _fNearestEnemy; sleep (5 + (random 10)); - private _FPos = [_NearestEnemy, (_PosCON distance _NearestEnemy) + 2, ([_NearestEnemy, _PosCON] call BIS_fnc_dirTo)] call BIS_fnc_relPos; + private _FPos = [_nearestEnemy, (_posCON distance _nearestEnemy) + 2, ([_nearestEnemy, _posCON] call BIS_fnc_dirTo)] call BIS_fnc_relPos; private _DistW = 2; - if (_PosCON iskindof "AllVehicles") then {_DistW = 5;}; + if (_posCON iskindof "AllVehicles") then {_DistW = 5;}; if (VCM_Debug) then { private _arrow = "VR_3DSelector_01_exit_F" createVehicle [0,0,0]; _arrow setposATL _FPos; _arrow spawn { - _Counter = 0; - _Position = getpos _this; - _NewPos2 = _Position select 2; - while {_Counter < 60} do + _counter = 0; + _position = getpos _this; + _newPos2 = _position select 2; + while {_counter < 60} do { - _NewPos2 = _NewPos2 + 0.1; - _this setpos [_Position select 0,_Position select 1,_NewPos2]; - _Counter = _Counter + 1; + _newPos2 = _newPos2 + 0.1; + _this setpos [_position select 0,_position select 1,_newPos2]; + _counter = _counter + 1; sleep 0.5; }; deletevehicle _this; }; }; - _Unit setUnitPos "MIDDLE"; - _Unit doWatch ObjNull; + _unit setUnitPos "MIDDLE"; + _unit doWatch ObjNull; _unit disableAI "TARGET"; _unit disableAI "WEAPONAIM"; - (group _Unit) setCombatMode "BLUE"; - _Unit forcespeed 5; + (group _unit) setCombatMode "BLUE"; + _unit forcespeed 5; sleep 0.2; - _Unit doMove _FPos; + _unit doMove _FPos; sleep 1; - //_Unit setDestination [_FPos,"LEADER PLANNED", true]; + //_unit setDestination [_FPos,"LEADER PLANNED", true]; //We need the AI to STAY in the ordered position until ordered to move again. private _Cont = true; private _Fail = false; private _Cnt = 0; while {_Cont} do { - if (_Unit distance2D _FPos < _DistW) then {_Cont = false;}; - if (!(alive _Unit) || _Cnt > 80) then {_Cont = false;_Fail = true;}; + if (_unit distance2D _FPos < _DistW) then {_Cont = false;}; + if (!(alive _unit) || _Cnt > 80) then {_Cont = false;_Fail = true;}; _Cnt = _Cnt + 0.1; sleep 0.1; }; - if !(_Fail) then {_Unit forcespeed 0;}; + if !(_Fail) then {_unit forcespeed 0;}; _unit enableAI "TARGET"; _unit enableAI "WEAPONAIM"; - _Unit setUnitPos "AUTO"; - (group _Unit) setCombatMode "RED"; + _unit setUnitPos "AUTO"; + (group _unit) setCombatMode "RED"; }; }; -} foreach _Units; +} foreach _units; diff --git a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf index 82d2fd2..8b13307 100644 --- a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf @@ -1,96 +1,108 @@ -//Function for generating waypoints. -params ["_Leader"]; +/* + Author: Genesis -private _Group = group _Leader; -if (_Group getVariable ["VCM_NOFLANK",false]) exitWith {}; + Description: + Generates flanking waypoints. + + Parameter(s): + 0: OBJECT - Group leader who will generate waypoints + + Returns: + NOTHING +*/ + +params ["_leader"]; + +private _grp = group _leader; +if (_grp getVariable ["VCM_NOFLANK",false]) exitWith {}; //Lets define types of attack we can do. -private _WayPointType = selectRandom ["Assault","High","Low","Retreat","Flank","FlankL"]; +private _wayPointType = selectRandom ["Assault","High","Low","Retreat","Flank","FlankL"]; -private _NearestEnemy = _leader findNearestEnemy _leader; -if (isNull _NearestEnemy) then +private _nearestEnemy = _leader findNearestEnemy _leader; +if (isNull _nearestEnemy) then { - _NearestEnemy = _leader call VCM_fnc_ClstEmy; + _nearestEnemy = _leader call VCM_fnc_ClstEmy; }; -if (isNil "_NearestEnemy" || _NearestEnemy isEqualTo [0,0,0]) exitWith {}; -if ((vehicle _NearestEnemy) isKindOf "Air") exitWith {}; +if (isNil "_nearestEnemy" || _nearestEnemy isEqualTo [0,0,0]) exitWith {}; +if ((vehicle _nearestEnemy) isKindOf "Air") exitWith {}; -_Group setBehaviour "COMBAT"; +_grp setBehaviour "COMBAT"; //If they don't know about the enemy position, then just exit the function -private _Knows = _Group knowsAbout _NearestEnemy; -if (_Knows < 2) exitwith +private _knows = _grp knowsAbout _nearestEnemy; +if (_knows < 2) exitwith { sleep 10; - [_Leader] spawn VCM_fnc_FlankMove; + [_leader] spawn VCM_fnc_FlankMove; }; -if ((count (waypoints _Group)) >= 3) exitWith {}; +if ((count (waypoints _grp)) >= 3) exitWith {}; //If first waypoint is DESTROY, DO NOT change waypoints. -private _index = currentWaypoint _Group; -private _WType = waypointType [_Group,_index]; -if (_WType isEqualTo "DESTROY" || _WType isEqualTo "SAD" || _WType isEqualTo "SCRIPTED") exitWith {}; +private _index = currentWaypoint _grp; +private _wType = waypointType [_grp,_index]; +if (_wType isEqualTo "DESTROY" || _wType isEqualTo "SAD" || _wType isEqualTo "SCRIPTED") exitWith {}; -while {(count (waypoints _Group)) > 1} do +while {(count (waypoints _grp)) > 1} do { - deleteWaypoint ((waypoints _Group) select 0); + deleteWaypoint ((waypoints _grp) select 0); sleep 0.25; }; -switch (_WayPointType) do { +switch (_wayPointType) do { case "Assault": { - private _waypoint0 = _group addwaypoint [(getpos _NearestEnemy),0]; + private _waypoint0 = _grp addwaypoint [(getpos _nearestEnemy),0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - private _waypoint0 = _group addwaypoint [(getpos _NearestEnemy),0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + private _waypoint0 = _grp addwaypoint [(getpos _nearestEnemy),0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; }; case "High": { - private _HighP = ([_Leader,500,50,false] call VCM_fnc_Heights) select 0 select 1; - private _FinalP = [[[_HighP, 50]],["water"]] call BIS_fnc_randomPos; - _FinalP set [2,0]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + private _highP = ([_leader,500,50,false] call VCM_fnc_Heights) select 0 select 1; + private _finalP = [[[_highP, 50]],["water"]] call BIS_fnc_randomPos; + _finalP set [2,0]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; }; case "Low": { - private _HighP = ([_Leader,500,50,true] call VCM_fnc_Heights) select 0 select 1; - private _FinalP = [[[_HighP, 50]],["water"]] call BIS_fnc_randomPos; - _FinalP set [2,0]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + private _highP = ([_leader,500,50,true] call VCM_fnc_Heights) select 0 select 1; + private _finalP = [[[_highP, 50]],["water"]] call BIS_fnc_randomPos; + _finalP set [2,0]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; }; case "Retreat": { - private _MovePosition = [_NearestEnemy,(_NearestEnemy distance2D _leader),([_NearestEnemy, _leader] call BIS_fnc_dirTo)] call BIS_fnc_relPos; - private _FinalP = [[[_MovePosition, 50]],["water"]] call BIS_fnc_randomPos; - _FinalP set [2,0]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + private _MovePosition = [_nearestEnemy,(_nearestEnemy distance2D _leader),([_nearestEnemy, _leader] call BIS_fnc_dirTo)] call BIS_fnc_relPos; + private _finalP = [[[_MovePosition, 50]],["water"]] call BIS_fnc_randomPos; + _finalP set [2,0]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - private _waypoint0 = _group addwaypoint [_FinalP,0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; _waypoint0 setWaypointSpeed "FULL"; }; case "Flank": { - private _myEnemyPos = getpos _NearestEnemy; + private _myEnemyPos = getpos _nearestEnemy; private _rnd = random 100; private _dist = (_rnd + 100); private _dir = random 360; @@ -100,25 +112,25 @@ _waypoint0 setWaypointSpeed "FULL"; private _RandomArray = _myPlaces call BIS_fnc_selectrandom; private _RandomLocation = _RandomArray select 0; _RandomLocation set [2,0]; - private _FinalP = [[[_RandomLocation, 50]],["water"]] call BIS_fnc_randomPos; - _FinalP set [2,0]; - _waypoint0 = _group addwaypoint [_FinalP,0]; + private _finalP = [[[_RandomLocation, 50]],["water"]] call BIS_fnc_randomPos; + _finalP set [2,0]; + _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - _waypoint0 = _group addwaypoint [_myEnemyPos,0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + _waypoint0 = _grp addwaypoint [_myEnemyPos,0]; _waypoint0 setWaypointSpeed "FULL"; }; case "FlankL": { - private _myEnemyPos = getpos _NearestEnemy; + private _myEnemyPos = getpos _nearestEnemy; private _rnd = random 100; private _dist = (_rnd + 100); private _dir = random 360; - private _LeaderPos = getpos _Leader; + private _leaderPos = getpos _leader; private _positions = [(_myEnemyPos select 0) + (sin _dir) * _dist, (_myEnemyPos select 1) + (cos _dir) * _dist, 0]; - private _positionsL = [(_LeaderPos select 0) + (sin _dir) * _dist, (_LeaderPos select 1) + (cos _dir) * _dist, 0]; + private _positionsL = [(_leaderPos select 0) + (sin _dir) * _dist, (_leaderPos select 1) + (cos _dir) * _dist, 0]; private _myPlaces = selectBestPlaces [_myEnemyPos, 250,"((6*hills + 2*forest + 4*houses + 2*meadow) - sea + (2*trees)) - (1000*deadbody)", 100, 5]; - private _myPlacesL = selectBestPlaces [_LeaderPos, 250,"((6*hills + 2*forest + 4*houses + 2*meadow) - sea + (2*trees)) - (1000*deadbody)", 100, 5]; + private _myPlacesL = selectBestPlaces [_leaderPos, 250,"((6*hills + 2*forest + 4*houses + 2*meadow) - sea + (2*trees)) - (1000*deadbody)", 100, 5]; if (_myPlaces isEqualTo []) then {_myPlaces = [_positions];}; if (_myPlacesL isEqualTo []) then {_myPlaces = [_positionsL];}; private _RandomArray = _myPlaces call BIS_fnc_selectrandom; @@ -127,16 +139,16 @@ _waypoint0 setWaypointSpeed "FULL"; private _RandomLocationL = _RandomArray2 select 0; _RandomLocation set [2,0]; _RandomLocationL set [2,0]; - private _FinalP = [[[_RandomLocationL, 50]],["water"]] call BIS_fnc_randomPos; - private _FinalP2 = [[[_RandomLocation, 50]],["water"]] call BIS_fnc_randomPos; - _FinalP set [2,0]; - _FinalP2 set [2,0]; - _waypoint0 = _group addwaypoint [_FinalP,0]; + private _finalP = [[[_RandomLocationL, 50]],["water"]] call BIS_fnc_randomPos; + private _finalP2 = [[[_RandomLocation, 50]],["water"]] call BIS_fnc_randomPos; + _finalP set [2,0]; + _finalP2 set [2,0]; + _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setWaypointSpeed "FULL"; - _waypoint0 = _group addwaypoint [_FinalP2,0]; + _waypoint0 = _grp addwaypoint [_finalP2,0]; _waypoint0 setWaypointSpeed "FULL"; - _group setCurrentWaypoint [_group,(_waypoint0 select 1)]; - _waypoint0 = _group addwaypoint [_myEnemyPos,0]; + _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; + _waypoint0 = _grp addwaypoint [_myEnemyPos,0]; _waypoint0 setWaypointSpeed "FULL"; }; }; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index e93f393..9b9e528 100644 --- a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -1,34 +1,48 @@ -//If we use the vanilla cover finding, we don't have to calcuate forced cover positions for the AI to move to. However, we can "force" them to move in the general direction of their active waypoint. -params ["_leader","_MoveDist"]; -private _Group = (group _leader); -private _Units = (units _Group) select {alive _x}; -private _NearestEnemy = _leader findNearestEnemy _leader; -if (isNull _NearestEnemy) then +/* + Author: Genesis + + Description: + Forces AI to move towards enemies, failing that move towards waypoint. + + Parameter(s): + 0: OBJECT - Group leader to get moving + 1 (Optional): NUMBER - Distance to move + + Returns: + NOTHING +*/ + +params ["_leader","_moveDist"]; +if (isNil "_moveDist") then {private _moveDist = 100}; +private _grp = (group _leader); +private _units = (units _grp) select {alive _x}; +private _nearestEnemy = _leader findNearestEnemy _leader; +if (isNull _nearestEnemy) then { - _NearestEnemy = _leader call VCM_fnc_ClstEmy; + _nearestEnemy = _leader call VCM_fnc_ClstEmy; }; -private _curwp = currentWaypoint _Group; -private _wPos = waypointPosition [_Group,_curwp]; -private _Dir = _Wpos; -if (_WPos isEqualTo [0,0,0]) then +private _curwp = currentWaypoint _grp; +private _wPos = waypointPosition [_grp,_curwp]; +private _dir = _wPos; +if (_wPos isEqualTo [0,0,0]) then { _wPos = (getpos _leader); - _Dir = _NearestEnemy; + _dir = _nearestEnemy; }; -private _MovePosition = [_leader,_MoveDist,([_leader, _Dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; +private _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; { if (isNull objectParent _x) then { - [_x,_MovePosition] spawn + [_x,_movePosition] spawn { - params ["_Unit","_MovePos"]; + params ["_unit","_movePos"]; sleep (1 + (random 10)); - dostop _Unit; - _Unit domove _MovePos; + dostop _unit; + _unit domove _movePos; }; }; -} foreach _Units; +} foreach _units; diff --git a/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf b/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf index db9586e..aa6582e 100644 --- a/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf @@ -1,7 +1,19 @@ -private ["_UnitSide"]; -_UnitSide = side (group _this); +/* + Author: Genesis -_Array1 = []; + Description: + Returns an array containing all of units friendlies. + + Parameter(s): + 0: OBJECT - object whose side to check for friendlies + + Returns: + ARRAY +*/ + +private _UnitSide = side (group _this); + +private _Array1 = []; { private _TargetSide = side _x; if (!([_UnitSide, _TargetSide] call BIS_fnc_sideIsEnemy) && {!(_x in (units (group _this)))}) then {_Array1 pushback _x;}; diff --git a/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf b/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf index 1f1c9bb..9efcf95 100644 --- a/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf @@ -1,23 +1,36 @@ -private ["_Unit", "_nearestCity", "_locationPos", "_nearestVillage", "_locationPos2", "_nearestHill", "_locationPos4", "_nearestLocal", "_locationPos3"]; +/* + Author: Genesis + + Description: + Changes group formation dependent on surroundings. + + Parameter(s): + 0: OBJECT - Unit whose group to change formation + + Returns: + BOOL +*/ + +private ["_unit", "_nearestCity", "_locationPos", "_nearestVillage", "_locationPos2", "_nearestHill", "_locationPos4", "_nearestLocal", "_locationPos3"]; //Pull the unit -_Unit = _this; +_unit = _this; //Grab the group of the unit -_group = group _Unit; +_group = group _unit; //Grab the nearest "City" from the unit -_nearestCity = nearestLocation [getPosASL _Unit, "nameCity"]; +_nearestCity = nearestLocation [getPosASL _unit, "nameCity"]; //Lets grab the location position _locationPos = locationPosition _nearestCity; //If the unit is less than 500 meters from the location exit with the following code -if ((_locationPos distance _Unit) < 500) exitWith +if ((_locationPos distance _unit) < 500) exitWith { //Check if the unit is in a vehicle or not - if ((vehicle _Unit) != _Unit) then + if ((vehicle _unit) != _unit) then { _group setFormation "COLUMN"; } @@ -33,12 +46,12 @@ if ((_locationPos distance _Unit) < 500) exitWith }; //The rest of the commands follow the same logic. Commenting where necessary. -_nearestVillage = nearestLocation [getPosASL _Unit, "NameVillage"]; +_nearestVillage = nearestLocation [getPosASL _unit, "NameVillage"]; _locationPos2 = locationPosition _nearestVillage; -if ((_locationPos2 distance _Unit) < 500) exitWith +if ((_locationPos2 distance _unit) < 500) exitWith { - if ((vehicle _Unit) != _Unit) then + if ((vehicle _unit) != _unit) then { _group setFormation "COLUMN"; } @@ -53,12 +66,12 @@ if ((_locationPos2 distance _Unit) < 500) exitWith }; -_nearestHill = nearestLocation [getPosASL _Unit, "Hill"]; +_nearestHill = nearestLocation [getPosASL _unit, "Hill"]; _locationPos4 = locationPosition _nearestHill; -if ((_locationPos4 distance _Unit) < 500) exitWith +if ((_locationPos4 distance _unit) < 500) exitWith { - if ((vehicle _Unit) != _Unit) then + if ((vehicle _unit) != _unit) then { _group setFormation "LINE"; } @@ -73,12 +86,12 @@ if ((_locationPos4 distance _Unit) < 500) exitWith }; -_nearestLocal = nearestLocation [getPosASL _Unit, "NameLocal"]; +_nearestLocal = nearestLocation [getPosASL _unit, "NameLocal"]; _locationPos3 = locationPosition _nearestLocal; -if ((_locationPos3 distance _Unit) < 300) exitWith +if ((_locationPos3 distance _unit) < 300) exitWith { - if ((vehicle _Unit) != _Unit) then + if ((vehicle _unit) != _unit) then { _group setFormation "COLUMN"; } diff --git a/Vcom/Functions/VCM_Functions/fn_Garrison.sqf b/Vcom/Functions/VCM_Functions/fn_Garrison.sqf index 96ad11f..852cdab 100644 --- a/Vcom/Functions/VCM_Functions/fn_Garrison.sqf +++ b/Vcom/Functions/VCM_Functions/fn_Garrison.sqf @@ -1,56 +1,68 @@ -//Function for getting AI to garrison buildings and then move around inside them. -//Variable passed is GROUP + +/* + Author: Genesis, tweaked by Freddo + + Description: + Function for getting AI to garrison buildings and then move around inside them. + + Parameter(s): + 0: GROUP + + Returns: + NOTHING +*/ + //Lets find the closest building -private _Unit = (leader _this); +private _unit = (leader _this); private _nBuildingLst = nearestObjects [waypointPosition [_this, 1], ["House", "Building"], 50]; private _nBuilding = [0,0,0]; -private _BuildingPositions = []; +private _buildingPositions = []; { - _BuildingPositions = [_x] call BIS_fnc_buildingPositions; - if ((count _BuildingPositions) > 2) exitWith {_nBuilding = _x;}; + _buildingPositions = [_x] call BIS_fnc_buildingPositions; + if ((count _buildingPositions) > 2) exitWith {_nBuilding = _x;}; } forEach _nBuildingLst; //waitUntil unit is within 50m of building closest to waypoint -waitUntil {isNull _Unit || _nBuilding distance2D _Unit < 50 || !alive _Unit}; +waitUntil {isNull _unit || {!alive _unit} || {_nBuilding distance2D _unit < 50}}; //If the array is not more than 0 - then exit. //Find the units in the group! -_GroupUnits = units _this; +_groupUnits = units _this; _this setVariable ["VCOM_GARRISONED",true,false]; -private _WaypointIs = "HOLD"; -while {_WaypointIs isEqualTo "HOLD"} do +private _waypointIs = "HOLD"; +while {_waypointIs isEqualTo "HOLD"} do { private _index = currentWaypoint _this; - private _WaypointIs = waypointType [_this,_index]; - private _TempA = _BuildingPositions; - if (count _TempA > 0) then + private _waypointIs = waypointType [_this,_index]; + private _tempA = _buildingPositions; + if (count _tempA > 0) then { { - private _Foot = isNull objectParent _x; - if (_Foot) then + private _foot = isNull objectParent _x; + if (_foot) then { - private _BuildingLocation = selectRandom _TempA; - if !(isNil "_BuildingLocation") then + private _buildingLocation = selectRandom _tempA; + if !(isNil "_buildingLocation") then { - _x doMove _BuildingLocation; + _x doMove _buildingLocation; _x setUnitPos "UP"; - [_x,_BuildingLocation] spawn + [_x,_buildingLocation] spawn { - params ["_unit","_BuildingLocation"]; - if (isNil "_BuildingLocation") exitWith {}; - waitUntil {!alive _unit || {_unit distance _BuildingLocation < 1.3}}; + params ["_unit","_buildingLocation"]; + if (isNil "_buildingLocation") exitWith {}; + waitUntil {!alive _unit || {_unit distance _buildingLocation < 1.3}}; _unit disableAI "PATH"; }; - private _RMV = _TempA findIf {_BuildingLocation isEqualTo _x}; - _TempA deleteAt _RMV; + private _RMV = _tempA findIf {_buildingLocation isEqualTo _x}; + _tempA deleteAt _RMV; }; }; - } forEach _GroupUnits; + } forEach _groupUnits; }; diff --git a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf index c45cfac..ecba959 100644 --- a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf +++ b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf @@ -1,34 +1,46 @@ -//Function for telling all AI to temporarily garrison a structure. The AI will leave it shortly after. -private _Unit = (leader _this); -private _nBuildingLst = nearestObjects [_Unit, ["House", "Building"], 50]; -private _BuildingPositions = []; +/* + Author: Genesis + + Description: + Function for telling a group to temporarily garrison a structure. The group will leave it shortly after. + + Parameter(s): + 0: GROUP + + Returns: + NOTHING +*/ + +private _unit = (leader _this); +private _nBuildingLst = nearestObjects [_unit, ["House", "Building"], 50]; +private _buildingPositions = []; { - if (count ([_x] call BIS_fnc_buildingPositions) > 3) then {_BuildingPositions pushback _x;}; + if (count ([_x] call BIS_fnc_buildingPositions) > 3) then {_buildingPositions pushback _x;}; } foreach _nBuildingLst; //Exit if no compatible buildings found -if (_BuildingPositions isEqualTo []) exitWith {}; +if (_buildingPositions isEqualTo []) exitWith {}; -private _TempA = [selectRandom _BuildingPositions] call BIS_fnc_buildingPositions; -private _GroupUnits = units _this; -if (count _TempA > 0) then +private _tempA = [selectRandom _buildingPositions] call BIS_fnc_buildingPositions; +private _groupUnits = units _this; +if (count _tempA > 0) then { { - private _Foot = isNull objectParent _x; - if (_Foot) then + private _foot = isNull objectParent _x; + if (_foot) then { - private _BuildingLocation = selectRandom _TempA; - _x doMove _BuildingLocation; - [_x,_BuildingLocation] spawn + private _buildingLocation = selectRandom _tempA; + _x doMove _buildingLocation; + [_x,_buildingLocation] spawn { - params ["_unit","_BuildingLocation"]; - if (isNil "_BuildingLocation") exitWith {}; - while {(alive _unit) && {_unit distance _BuildingLocation < 1.3}} do + params ["_unit","_buildingLocation"]; + if (isNil "_buildingLocation") exitWith {}; + while {(alive _unit) && {_unit distance _buildingLocation < 1.3}} do { sleep 3; - _unit doMove _BuildingLocation; + _unit doMove _buildingLocation; }; _unit disableAI "PATH"; sleep 120; @@ -37,8 +49,8 @@ if (count _TempA > 0) then _unit enableAI "PATH"; }; }; - private _RMV = _TempA findIf {_BuildingLocation isEqualTo _x}; - _TempA deleteAt _RMV; + private _rmv = _tempA findIf {_buildingLocation isEqualTo _x}; + _tempA deleteAt _rmv; }; - } foreach _GroupUnits; + } foreach _groupUnits; }; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_HasMine.sqf b/Vcom/Functions/VCM_Functions/fn_HasMine.sqf index 91efaf1..6f85996 100644 --- a/Vcom/Functions/VCM_Functions/fn_HasMine.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HasMine.sqf @@ -1,32 +1,45 @@ -//This function will determine if the unit has a mine, satchel, or another explosive that could be used to blow shit up. -private _VCOM_HasMine = false; -private _magazinesAmmo = magazinesAmmo _this; -if (isNil "_magazinesAmmo") exitWith {_PushArray = [false,[],false,[]];_PushArray}; -private _VCOM_HASSATCHEL = false; -private _ActualObj = []; -private _SatchelArray = []; +/* + Author: Genesis + + Description: + This function will determine if the unit has a mine, satchel, or another explosive that could be used to blow shit up. + + Parameter(s): + 0: OBJECT - Unit + + Returns: + ARRAY - format [_hasSatchel, _actualObj, _hasMine, _satchelArray]; +*/ + +private _hasMine = false; +private _magsAmmo = magazinesAmmo _this; +private "_pushArray"; +if (isNil "_magsAmmo") exitWith {_pushArray = [false,[],false,[]];_pushArray}; +private _hasSatchel = false; +private _actualObj = []; +private _satchelArray = []; { - private _Magazine = _x select 0; - private _value = (configfile >> "CfgMagazines" >> _Magazine >> "nameSound") call BIS_fnc_getCfgData; + private _mag = _x select 0; + private _value = (configfile >> "CfgMagazines" >> _mag >> "nameSound") call BIS_fnc_getCfgData; if (_value isEqualTo "satchelcharge") then { - _SatchelArray pushback [((configfile >> "CfgMagazines" >> _Magazine >> "ammo") call BIS_fnc_getCfgData),_Magazine]; - _VCOM_HASSATCHEL = true; + _satchelArray pushback [((configfile >> "CfgMagazines" >> _mag >> "ammo") call BIS_fnc_getCfgData),_mag]; + _hasSatchel = true; }; if (_value isEqualTo "mine") then { - _VCOM_HasMine = true; - _ActualObj pushback [((configfile >> "CfgMagazines" >> _Magazine >> "ammo") call BIS_fnc_getCfgData),_Magazine]; + _hasMine = true; + _actualObj pushback [((configfile >> "CfgMagazines" >> _mag >> "ammo") call BIS_fnc_getCfgData),_mag]; }; -} forEach _magazinesAmmo; +} forEach _magsAmmo; -_PushArray = [_VCOM_HASSATCHEL,_ActualObj,_VCOM_HasMine,_SatchelArray]; +_pushArray = [_hasSatchel,_actualObj,_hasMine,_satchelArray]; -_PushArray \ No newline at end of file +_pushArray \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf b/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf index 66e3ad6..7dc5087 100644 --- a/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf @@ -1,41 +1,69 @@ -//Helps the AI recognize people firing from a better distance + +/* + Author: Genesis + + Description: + Firing unsuppressed shots reveals unit. + + Parameter(s): + 0: OBJECT - Unit that fired + 1: STRING - Weapon fired + 2: STRING - Muzzle used + 3: STRING - Firing mode + 4: STRING - Ammo used + 5: STRING - Magazine used + 6: OBJECT - Projectile created + 7: OBJECT - Gunner whose weapon was fired (For use with vehicles) + + Returns: + NOTHING + + Note: + For use with "Fired" eventhandler + + Example1: + this addEventHandler ["Fired", { + _this call VCM_fnc_HearingAids; + }]; +*/ + params ["_unit","_weapon","_muzzle","_mode","_ammo","_magazine","_bullet","_gunner"]; if (_weapon isEqualTo "Put" || {_weapon isEqualTo "Throw"}) exitwith {}; -private _TimeShot = _unit getVariable ["VCM_FTH",-60]; +private _timeShot = _unit getVariable ["VCM_FTH",-60]; -if ((_TimeShot + 20) < time) then +if ((_timeShot + 20) < time) then { if ((group _unit) getVariable ["VCM_NOFLANK",false]) exitWith {}; //Check if unit has suppressor on weapon. - private _Mzl = currentMuzzle _unit; - private _Mzl = if (_Mzl isEqualType "") then {_Mzl} else {""}; - private _Atch = _unit weaponAccessories _Mzl param [0, ""]; - private _Return = (!(_Atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _Atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; + private _mzl = currentMuzzle _unit; + private _mzl = if (_mzl isEqualType "") then {_mzl} else {""}; + private _atch = _unit weaponAccessories _mzl param [0, ""]; + private _return = (!(_atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; - if (VCM_Debug) then {diag_log (format ["%2: WEAPON SUPRRESSED - %1",_Return,_unit])}; + if (VCM_Debug) then {diag_log (format ["%2: WEAPON SUPRRESSED - %1",_return,_unit])}; - //systemchat format ["%1",_Sup]; - if !(_Return) then + //systemchat format ["%1",_sup]; + if !(_return) then { - private _Array1 = _unit call VCM_fnc_EnemyArray; - private _SNDA = []; + private _array1 = _unit call VCM_fnc_EnemyArray; + private _snda = []; + { + if ((_x distance2D _unit) < VCM_HEARINGDISTANCE) then { - if ((_x distance2D _unit) < VCM_HEARINGDISTANCE) then - { - _SNDA pushback _x; - }; - } foreach _Array1; - - if (count _SNDA > 0) then - { - [_SNDA,_Unit] remoteExec ["VCM_fnc_KnowAbout",0]; + _snda pushback _x; }; + } foreach _array1; + + if (count _snda > 0) then + { + [_snda,_unit] remoteExec ["VCM_fnc_KnowAbout",0]; + }; - _Unit setVariable ["VCM_FTH",time]; + _unit setVariable ["VCM_FTH",time]; }; }; diff --git a/Vcom/Functions/VCM_Functions/fn_Heights.sqf b/Vcom/Functions/VCM_Functions/fn_Heights.sqf index 1b8416f..053ffad 100644 --- a/Vcom/Functions/VCM_Functions/fn_Heights.sqf +++ b/Vcom/Functions/VCM_Functions/fn_Heights.sqf @@ -1,45 +1,66 @@ -//_Test = [Object Center,radius,Precision (Recommended no lower than 5),false] call VCM_fnc_Heights; -//player setposASL (_Test select 0 select 1); -> Highest point -//player setposASL (_Test ((count _Test) - 1) select 1); -> Lowest Point -params ["_Obj","_range","_Prec","_Sort"]; -if (_Prec < 1) then {_Prec = 1}; -private _Rng = (_range/2); -private _ArrayOne = []; -private _CenterPos = (getpos _Obj); -private _StartingPos = [(_CenterPos select 0) - _Rng,(_CenterPos select 1) - _Rng,(_CenterPos select 2)]; -private _EndingPos = [(_CenterPos select 0) + _Rng,(_CenterPos select 1) + _Rng,(_CenterPos select 2)]; -private _StarterArray = []; -private _Counter = 0; -private _limit = (round (_range/_Prec)); -while {_Counter < _limit} do +/* + Author: Genesis + + Description: + Finds highest and lowest points in an area. + + Parameter(s): + 0: OBJECT - Center object + 1: NUMBER - Radius around object to search + 2 (Optional): NUMBER - Precision, recommended not setting lower than 5 (Default 50) + 3 (Optional): BOOLEAN - Sort output. true: ascending, false: descending (Default: true) + + Returns: + ARRAY + + Example1: + _Test = [Object Center,radius,Precision (Recommended no lower than 5),false] call VCM_fnc_Heights; + //player setposASL (_Test select 0 select 1); -> Highest point + //player setposASL (_Test ((count _Test) - 1) select 1); -> Lowest Point +*/ + +params ["_obj","_range","_prec","_sort"]; +if (isNil "_prec") then {private _prec = 50}; +if (_prec < 1) then {_prec = 1}; +if (isNil "_sort") then {private _sort = true}; + +private _rng = (_range/2); +private _array1 = []; +private _centerPos = (getpos _obj); +private _startingPos = [(_centerPos select 0) - _rng,(_centerPos select 1) - _rng,(_centerPos select 2)]; +private _endingPos = [(_centerPos select 0) + _rng,(_centerPos select 1) + _rng,(_centerPos select 2)]; +private _starterArray = []; +private _counter = 0; +private _limit = (round (_range/_prec)); +while {_counter < _limit} do { - _StarterArray pushback _StartingPos; - _StartingPos = [(_StartingPos select 0),(_StartingPos select 1)+_Prec,(_StartingPos select 2)]; - _ArrayOne pushback _StartingPos; - _Counter = _Counter + 1; + _starterArray pushback _startingPos; + _startingPos = [(_startingPos select 0),(_startingPos select 1)+_prec,(_startingPos select 2)]; + _array1 pushback _startingPos; + _counter = _counter + 1; }; { - _MarkerPos = _x; - _StartingPos = [(_MarkerPos select 0)+_Prec,(_MarkerPos select 1),(_MarkerPos select 2)]; - _Counter = 0; - while {_Counter < _limit} do + _markerPos = _x; + _startingPos = [(_markerPos select 0)+_prec,(_markerPos select 1),(_markerPos select 2)]; + _counter = 0; + while {_counter < _limit} do { - _ArrayOne pushback _StartingPos; - _StartingPos = [(_StartingPos select 0) + _Prec,(_StartingPos select 1),(_StartingPos select 2)]; - _Counter = _Counter + 1; + _array1 pushback _startingPos; + _startingPos = [(_startingPos select 0) + _prec,(_startingPos select 1),(_startingPos select 2)]; + _counter = _counter + 1; }; -} foreach _StarterArray; +} foreach _starterArray; -private _FinalArray = []; +private _finalArray = []; { private _height = [(_x select 0),(_x select 1),(getTerrainHeightASL _x)]; private _FinalPush = [(_height select 2),_height]; - _FinalArray pushback _FinalPush; -} foreach _ArrayOne; + _finalArray pushback _FinalPush; +} foreach _array1; //False is the highest. True is the shortest. -_FinalArray sort _Sort; +_finalArray sort _sort; -_FinalArray +_finalArray diff --git a/Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf b/Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf index 869de72..67993f7 100644 --- a/Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf +++ b/Vcom/Functions/VCM_Functions/fn_IRCHECK.sqf @@ -1,46 +1,59 @@ -//This function will determine if the player is alive and if we should be considering an IR laser or not. This function may be expanded later to consider flashlights and the like. + +/* + Author: Genesis + + Description: + Reveals players using IR-laser to enemies with NVGs. + + Parameter(s): + NONE + + Returns: + NOTHING +*/ + while {alive player && {Vcm_ActivateAI}} do { if (player isIRLaserOn currentWeapon player) then { - private _Side = side player; + private _side = side player; - private _WepDir = (player weaponDirection currentWeapon player) vectorMultiply 1000; - private _EyePosS = eyePos player; - private _EyePosB = [_EyePosS select 0,_EyePosS select 1,(_EyePosS select 2 - 0.25)]; - private _EndSight = _EyePosB vectoradd _WepDir; - private _LineInter = lineIntersectsSurfaces [_EyePosB, _EndSight, player, player, true, 1]; + private _wepDir = (player weaponDirection currentWeapon player) vectorMultiply 1000; + private _eyePosS = eyePos player; + private _eyePosB = [_eyePosS select 0,_eyePosS select 1,(_eyePosS select 2 - 0.25)]; + private _endSight = _eyePosB vectoradd _wepDir; + private _lineInter = lineIntersectsSurfaces [_eyePosB, _endSight, player, player, true, 1]; - if !(_LineInter isEqualTo []) then + if !(_lineInter isEqualTo []) then { - private _FinalPos = (_LineInter select 0 select 0); - private _Enemies = allUnits select {[_Side,(side _x)] call BIS_fnc_sideIsEnemy && (currentVisionMode _x isEqualTo 1)}; - private _DirPlayer = getdir Player; - if !(_Enemies isEqualTo []) then + private _finalPos = (_lineInter select 0 select 0); + private _enemies = allUnits select {[_side,(side _x)] call BIS_fnc_sideIsEnemy && (currentVisionMode _x isEqualTo 1)}; + private _dirPlayer = getdir Player; + if !(_enemies isEqualTo []) then { - private _StartPos = (getpos player); - private _ToalDist = _Startpos distance2D _FinalPos; - private _Chunks = round (_ToalDist/100); - private _ChunkN = 0; - while {_Chunks > _ChunkN} do + private _startPos = (getpos player); + private _toalDist = _startPos distance2D _finalPos; + private _chunks = round (_toalDist/100); + private _chunkN = 0; + while {_chunks > _chunkN} do { - _StartPos = [_StartPos,100,_DirPlayer] call BIS_fnc_relPos; - private _NE = [_Enemies,_StartPos,true,"IR"] call VCM_fnc_ClstObj; - if (_NE distance2D _Startpos < 65) exitWith + _startPos = [_startPos,100,_dirPlayer] call BIS_fnc_relPos; + private _ne = [_enemies,_startPos,true,"IR"] call VCM_fnc_ClstObj; + if (_ne distance2D _startPos < 65) exitWith { [ - [_NE,player], + [_ne,player], { - params ["_NE","_unit"]; - if (local _NE) then + params ["_ne","_unit"]; + if (local _ne) then { - private _kv = _NE knowsAbout _unit; - _NE reveal [_unit,(_kv + 0.4)]; + private _kv = _ne knowsAbout _unit; + _ne reveal [_unit,(_kv + 0.4)]; }; } ] remoteExec ["bis_fnc_call",0]; }; - _ChunkN = _ChunkN + 1; + _chunkN = _chunkN + 1; sleep 0.1; }; }; diff --git a/Vcom/Functions/VCM_Functions/fn_KitChk.sqf b/Vcom/Functions/VCM_Functions/fn_KitChk.sqf index 20fd924..58d33ea 100644 --- a/Vcom/Functions/VCM_Functions/fn_KitChk.sqf +++ b/Vcom/Functions/VCM_Functions/fn_KitChk.sqf @@ -1,9 +1,21 @@ -//This function will handle assigning proper variables to units, while returning appropriate arrays. + +/* + Author: Genesis + + Description: + This function will handle assigning proper variables to units, while returning appropriate arrays. + + Parameter(s): + 0: GROUP - Group to check + + Returns: + ARRAY - Format [_medicArray, _itemList] +*/ //First let's find who the medics are in the team and return that list. -private _MedicArray = _this call VCM_fnc_RMedics; //Returns _MList +private _medicArray = _this call VCM_fnc_RMedics; //Returns _mList -private _ItemList = _this call VCM_fnc_RStatics; //Returns [_StaticList,_SatchelList,_MineList]; +private _itemList = _this call VCM_fnc_RStatics; //Returns [_staticList,_satchelList,_mineList]; -private _RtrnList = [_MedicArray,_ItemList]; -_RtrnList \ No newline at end of file +private _rtrnList = [_medicArray,_itemList]; +_rtrnList \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf index 2b97f8c..120241b 100644 --- a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf +++ b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf @@ -1,11 +1,27 @@ -//This function will edit the knowledge of a unit for a specific side. -params ["_SNDA","_Unit"]; + +/* + Author: Genesis + + Description: + This function will edit the knowledge of a unit for a specific side. + + Parameter(s): + 0: ARRAY + 1: OBJECT - Unit that will be revealed to above array + 2: NUMBER - Knowledge value to add + + Returns: + NOTHING +*/ + +params ["_snda","_unit","_toAdd"]; +if (isNil "_toAdd") then {_toAdd = 0.25}; { if (local _x) then { private _kv = _x knowsAbout _unit; - _x reveal [_unit,(_kv + 0.25)]; - if (VCM_Debug) then {diag_log (format ["%1 knowledge of %2 is at %3",_x,_Unit,(_kv + 0.25)])}; + _x reveal [_unit,(_kv + _toAdd)]; + if (VCM_Debug) then {diag_log (format ["%1 knowledge of %2 is at %3",_x,_unit,(_kv + _toAdd)])}; }; -} foreach _SNDA; \ No newline at end of file +} foreach _snda; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf index 7370949..7de3a63 100644 --- a/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MineMonitor.sqf @@ -1,4 +1,17 @@ -//This function will monitor all placed Vcom mines. Better than each mine having it's own spawn. + +/* + Author: Genesis + + Description: + This function will monitor all placed Vcom mines. Better than each mine having its own spawn. + + Parameter(s): + NONE + + Returns: + NOTHING +*/ + //This list is all local. while {true} do { diff --git a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf index 5f0cc74..c77cbf2 100644 --- a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf @@ -1,81 +1,97 @@ +/* + Author: Genesis + + Description: + Plants a mine + + Parameter(s): + 0: OBJECT - Unit to plant a mine + 1: ARRAY - ??? + + Returns: + NOTHING +*/ + +params ["_unit", "_mineArray"]; + if (VCM_MINECHANCE < (round (random 100))) exitWith {}; -private _Unit = _this select 0; -private _MineArray = _this select 1; +private _unit = _this select 0; +private _mineArray = _this select 1; -private _MineType = _MineArray select 0; +private _mineType = _mineArray select 0; //Let's see if we can place a scripted version of the item. -private _TestName = _MineType + "_scripted"; -private _TestMine = _TestName createVehiclelocal [0,0,0]; -if !(isNull _TestMine) then +private _testName = _mineType + "_scripted"; +private _testMine = _testName createVehiclelocal [0,0,0]; +if !(isNull _testMine) then { - _MineType = _TestName; + _mineType = _testName; }; -private _MagazineName = _MineArray select 1; +private _magazineName = _mineArray select 1; -if (_MineArray isEqualTo []) exitWith {}; +if (_mineArray isEqualTo []) exitWith {}; -_Unit removeMagazine _MagazineName; +_unit removeMagazine _magazineName; -//systemchat format ["I %1",_Unit]; -private _NearestEnemy = _Unit call VCM_fnc_ClstEmy; -if (_NearestEnemy isEqualTo [] || {isNil "_NearestEnemy"}) exitWith {}; +//systemchat format ["I %1",_unit]; +private _nearestEnemy = _unit call VCM_fnc_ClstEmy; +if (_nearestEnemy isEqualTo [] || {isNil "_nearestEnemy"}) exitWith {}; private _mine = ""; -if (_NearestEnemy distance2D _Unit < 100) then +if (_nearestEnemy distance2D _unit < 100) then { - //_mine = createMine [_MineType,getposATL _Unit, [], 2]; - private _MPos = _Unit modeltoworld [0,1,0.05]; - _mine = _MineType createVehicle _MPos; - _mine setDir ([_mine, _NearestEnemy] call BIS_fnc_dirTo); - _mine setpos _MPos; + //_mine = createMine [_mineType,getposATL _unit, [], 2]; + private _mPos = _unit modeltoworld [0,1,0.05]; + _mine = _mineType createVehicle _mPos; + _mine setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setpos _mPos; _mine setposATL (getposATL _mine); - [_Unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; + [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; } else { - _NearRoads = _Unit nearRoads 50; - if (count _NearRoads > 0) then + _nearRoads = _unit nearRoads 50; + if (count _nearRoads > 0) then { - private _ClosestRoad = [_NearRoads,_Unit,true,"2"] call VCM_fnc_ClstObj; - doStop _Unit; - _Unit doMove (getpos _ClosestRoad); - waitUntil {!(alive _Unit) || _Unit distance2D _ClosestRoad < 7}; - private _MPos = _Unit modeltoworld [0,1,0.05]; - _mine = _MineType createVehicle _MPos; - _mine setDir ([_mine, _NearestEnemy] call BIS_fnc_dirTo); - _mine setpos _MPos; + private _closestRoad = [_nearRoads,_unit,true,"2"] call VCM_fnc_ClstObj; + doStop _unit; + _unit doMove (getpos _closestRoad); + waitUntil {!(alive _unit) || _unit distance2D _closestRoad < 7}; + private _mPos = _unit modeltoworld [0,1,0.05]; + _mine = _mineType createVehicle _mPos; + _mine setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setpos _mPos; _mine setposATL (getposATL _mine); - //_mine = createMine [_MineType,getposATL _ClosestRoad, [], 3]; - [_Unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; + //_mine = createMine [_mineType,getposATL _closestRoad, [], 3]; + [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; } else { - //_mine = createMine [_MineType,getposATL _Unit, [], 3]; - private _MPos = _Unit modeltoworld [0,1,0.05]; - _mine = _MineType createVehicle _MPos; - _mine setDir ([_mine, _NearestEnemy] call BIS_fnc_dirTo); - _mine setpos _MPos; + //_mine = createMine [_mineType,getposATL _unit, [], 3]; + private _mPos = _unit modeltoworld [0,1,0.05]; + _mine = _mineType createVehicle _mPos; + _mine setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setpos _mPos; _mine setposATL (getposATL _mine); - [_Unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; + [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; }; }; -_UnitSide = (side _Unit); +_unitSide = (side _unit); if (_mine isEqualTo "") exitWith {}; -VCOM_MINEARRAY pushBack [_Mine,_UnitSide]; +VCOM_mineArray pushBack [_Mine,_unitSide]; [_Mine, false] remoteExecCall ["enableSimulationGlobal",2]; /* -[_mine,_UnitSide] spawn +[_mine,_unitSide] spawn { - params ["_Mine","_UnitSide"]; + params ["_Mine","_unitSide"]; @@ -83,7 +99,7 @@ VCOM_MINEARRAY pushBack [_Mine,_UnitSide]; [_Mine, false] remoteExecCall ["enableSimulationGlobal",2]; waitUntil { - private _Array1 = (allUnits select {!(side _x isEqualTo _UnitSide)}); + private _Array1 = (allUnits select {!(side _x isEqualTo _unitSide)}); private _ClosestEnemy = [0,0,0]; _ClosestEnemy = [_Array1,_Mine,true,"2"] call VCM_fnc_ClstObj; if (_ClosestEnemy distance _Mine < 2.5) then {_NotSafe = false;}; diff --git a/Vcom/Functions/VCM_Functions/fn_PackStatic.sqf b/Vcom/Functions/VCM_Functions/fn_PackStatic.sqf index 6695458..68eac4f 100644 --- a/Vcom/Functions/VCM_Functions/fn_PackStatic.sqf +++ b/Vcom/Functions/VCM_Functions/fn_PackStatic.sqf @@ -1,36 +1,50 @@ -//This function will constantly monitor the unit and see if the static weapon needs to be dissassembled or not. The amount of time on a static will be a base variable with additional time every time an enemy is spotted. -//Edited on: 8/8/2017 @ 0011 -params ["_Unit","_Backpack","_StaticCreated"]; +/* + Author: Genesis + + Description: + This function will constantly monitor the unit and see if the static weapon needs to be dissassembled or not. + The amount of time on a static will be a base variable with additional time every time an enemy is spotted. + + Parameter(s): + 0: OBJECT - Gunner + 1: STRING - Backpack classname + 2: OBJECT - Static weapon + + Returns: + NOTHING +*/ + +params ["_unit","_backpack","_staticCreated"]; sleep 10; -private _StaticGreen = true; -private _Statictime = 180; +private _staticGreen = true; +private _statictime = 180; -while {_StaticGreen && {alive _unit} && {alive _StaticCreated} && {!(isNull (gunner _StaticCreated))}} do +while {_staticGreen && {alive _unit} && {alive _staticCreated} && {!(isNull (gunner _staticCreated))}} do { sleep 5; - private _Enemy = _Unit findNearestEnemy _Unit; - if (!(isNull _Enemy)) then + private _enemy = _unit findNearestEnemy _unit; + if (!(isNull _enemy)) then { - private _cansee = [_Unit, "VIEW"] checkVisibility [eyePos _Unit, eyePos _Enemy]; - if (_cansee > 0) then {_Statictime = _Statictime + 3;} else {_Statictime = _Statictime - 5;}; + private _cansee = [_unit, "VIEW"] checkVisibility [eyePos _unit, eyePos _enemy]; + if (_cansee > 0) then {_statictime = _statictime + 3;} else {_statictime = _statictime - 5;}; } else { - _Statictime = _Statictime - 5; + _statictime = _statictime - 5; }; - if (_Statictime < 1) then {_StaticGreen = false;}; + if (_statictime < 1) then {_staticGreen = false;}; }; //Okay, time to move! -if (alive _Unit) then +if (alive _unit) then { - _Unit leaveVehicle _StaticCreated; - [_Unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; + _unit leaveVehicle _staticCreated; + [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; sleep 3; - deleteVehicle _StaticCreated; + deleteVehicle _staticCreated; sleep 1; - _Unit addBackpackGlobal _Backpack; + _unit addBackpackGlobal _backpack; }; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_RMedics.sqf b/Vcom/Functions/VCM_Functions/fn_RMedics.sqf index c5eae5d..eb70045 100644 --- a/Vcom/Functions/VCM_Functions/fn_RMedics.sqf +++ b/Vcom/Functions/VCM_Functions/fn_RMedics.sqf @@ -1,14 +1,27 @@ -//Function to find all medics within a group. -private _MList = []; + +/* + Author: Genesis + + Description: + Function to find all medics within a group. + + Parameter(s): + 0: GROUP + + Returns: + ARRAY +*/ + +private _mList = []; { if (isNull objectParent _x) then { if (_x getUnitTrait "Medic") then { - _MList pushBack _x; + _mList pushBack _x; }; }; true; } count (units _this); -_MList \ No newline at end of file +_mList \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_RStatics.sqf b/Vcom/Functions/VCM_Functions/fn_RStatics.sqf index 7adfd48..a9e70f3 100644 --- a/Vcom/Functions/VCM_Functions/fn_RStatics.sqf +++ b/Vcom/Functions/VCM_Functions/fn_RStatics.sqf @@ -1,44 +1,57 @@ -//Function for defining the list of units with statics and etc. -private _StaticList = []; -private _SatchelList = []; -private _MineList = []; + +/* + Author: Genesis + + Description: + Function for defining the list of units with statics and etc. + + Parameter(s): + 0: GROUP - Group to check for statics. + + Returns: + ARRAY - Format [staticList, satchelList, mineList] +*/ + +private _staticList = []; +private _satchelList = []; +private _mineList = []; { if (isNull objectParent _x) then { //Define static weapon - private _CurrentBackPack = backpack _x; + private _currentBackPack = backpack _x; private _class = ""; - if !(_CurrentBackPack isEqualTo "") then + if !(_currentBackPack isEqualTo "") then { - _class = [_CurrentBackPack] call VCM_fnc_Classname; + _class = [_currentBackPack] call VCM_fnc_Classname; private _parents = [_class,true] call BIS_fnc_returnParents; if (!(isNil "_parents")) then { if (("StaticWeapon" in _parents) || {("Weapon_Bag_Base" in _parents)}) then { private _VCOM_HASUAV = false; - if (["UAV",_CurrentBackPack,false] call BIS_fnc_inString) then {_VCOM_HASUAV = true;}; - _StaticList pushBack [_x,_CurrentBackPack,_VCOM_HASUAV]; + if (["UAV",_currentBackPack,false] call BIS_fnc_inString) then {_VCOM_HASUAV = true;}; + _staticList pushBack [_x,_currentBackPack,_VCOM_HASUAV]; }; }; }; //END STATIC WEAPON - //_PushArray = [_VCOM_HASSATCHEL,_ActualObj,_VCOM_HasMine,_SatchelArray]; - private _MineArray = _x call VCM_fnc_HasMine; - private _VCOM_HASSATCHEL = _MineArray select 0; - private _Vcom_MineObject = _MineArray select 1; - private _VCOM_HasMine = _MineArray select 2; - private _SatchelArray = _MineArray select 3; + //_PushArray = [_hasSatchel,_ActualObj,_hasMine,_satchelArray]; + private _mineArray = _x call VCM_fnc_HasMine; + private _hasSatchel = _mineArray select 0; + private _mineObject = _mineArray select 1; + private _hasMine = _mineArray select 2; + private _satchelArray = _mineArray select 3; - if (_VCOM_HasMine) then + if (_hasMine) then { - _MineList pushback [_x,(_Vcom_MineObject select 0)]; + _mineList pushback [_x,(_mineObject select 0)]; }; - if (_VCOM_HASSATCHEL) then + if (_hasSatchel) then { - _SatchelList pushback [_x,(_SatchelArray select 0)]; + _satchelList pushback [_x,(_satchelArray select 0)]; }; if (VCM_ARTYENABLE) then {_x call VCM_fnc_CheckArty;}; @@ -46,5 +59,5 @@ private _MineList = []; true; } count (units _this); -private _FinalList = [_StaticList,_SatchelList,_MineList]; -_FinalList \ No newline at end of file +private _finalList = [_staticList,_satchelList,_mineList]; +_finalList \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf b/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf index ee0dbe0..1ab394b 100644 --- a/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf +++ b/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf @@ -1,53 +1,65 @@ -//This function will determine if an group is low on ammo and needs to re-arm. -//This script passes _this. _this should be the group. -private _AL = VCM_AIMagLimit; + +/* + Author: Genesis + + Description: + This function will determine if an group is low on ammo and needs to re-arm. + + Parameter(s): + 0: GROUP - Group to check ammo + + Returns: + NOTHING +*/ + +private _magLimit = VCM_AIMagLimit; { - private _OrgUnit = _x; + private _orgUnit = _x; if !(vehicle _x isEqualTo _x) exitWith {}; //The first thing we want to do. Is figure out what ammo this unit is using. -private _CM = currentMagazine _x; +private _curMag = currentMagazine _x; //Now, we want to compare this classname to all the other ammo classnames this unit may have and count the number. private _mags = magazines _x; //Count the total number of mags. -private _TC = 0; -{ if (_x isEqualTo _CM) then {_TC = _TC + 1};true;} count _mags; +private _magCount = 0; +{ if (_x isEqualTo _curMag) then {_magCount = _magCount + 1};true;} count _mags; //If unit has less than the wanted limit, then make the unit find ammo! -if (_TC < _AL) then { +if (_magCount < _magLimit) then { //Find closest men! - _FB = _x nearEntities [["WeaponHolderSimulated", "Man", "Air", "Car", "Motorcycle", "Tank"], 200]; - _FB = _FB - [_x]; + _potRearm = _x nearEntities [["WeaponHolderSimulated", "Man", "Air", "Car", "Motorcycle", "Tank"], 200]; + _potRearm = _potRearm - [_x]; { - if (alive _x && {_x isKindOf "Man"}) then {_FB = _FB - [_x];}; + if (alive _x && {_x isKindOf "Man"}) then {_potRearm = _potRearm - [_x];}; true; - } count _FB; + } count _potRearm; - //If menz are around see if we can take ammo from them first. - _Stop = false; - if (count _FB != 0) then { + //If men are around see if we can take ammo from them first. + _stop = false; + if (count _potRearm != 0) then { { _mags = []; - _Unit = _x; - if (_Unit isKindOf "Man") then { - _mags = magazines _Unit; + _unit = _x; + if (_unit isKindOf "Man") then { + _mags = magazines _unit; } else { - _mags = magazineCargo _Unit; + _mags = magazineCargo _unit; }; if (isNil "_mags") then {_mags = [];}; { - if (_x isEqualTo _CM) exitwith { - [_OrgUnit,_Unit] spawn VCM_fnc_ActRearm; - _Stop = true; + if (_x isEqualTo _curMag) exitwith { + [_orgUnit,_unit] spawn VCM_fnc_ActRearm; + _stop = true; }; true; } count _mags; - if ( _Stop ) exitwith {}; + if ( _stop ) exitwith {}; true; - } count _FB; + } count _potRearm; }; }; true; -} count (units _this); \ No newline at end of file +} count (units _this); \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf b/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf index c766778..a7f361c 100644 --- a/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf +++ b/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf @@ -1,90 +1,104 @@ -//Script used to make AI attach explosives to buildings and bring them down if players garrison them. -params ["_Unit","_SatchelArray"]; -private _SatchelObj = _SatchelArray select 0; -private _SatchelMag = _SatchelArray select 1; +/* + Author: Genesis + + Description: + Script used to make AI attach explosives to buildings and bring them down if players garrison them. + + Parameter(s): + 0: OBJECT - Unit to plant satchel + 1: ARRAY - satchel array + + Returns: + NOTHING +*/ + +params ["_unit","_satchelArray"]; + +private _satchelObj = _satchelArray select 0; +private _satchelMag = _satchelArray select 1; //Let's see if we can place a scripted version of the item. -private _TestName = _SatchelObj + "_scripted"; -private _TestMine = _TestName createVehiclelocal [0,0,0]; -if !(isNull _TestMine) then +private _testName = _satchelObj + "_scripted"; +private _testMine = _testName createVehiclelocal [0,0,0]; +if !(isNull _testMine) then { - _SatchelObj = _TestName; + _satchelObj = _testName; }; -private _Point = _Unit call VCM_fnc_ClstEmy; -if (_Point isEqualTo [] || {isNil "_Point"}) exitWith {}; +private _point = _unit call VCM_fnc_ClstEmy; +if (_point isEqualTo [] || {isNil "_point"}) exitWith {}; -if ((_Unit distance _Point) < 200) then +if ((_unit distance _point) < 200) then { - private _vehicle = vehicle _Point; + private _vehicle = vehicle _point; - if (_Point isEqualTo _vehicle) then + if (_point isEqualTo _vehicle) then { - private _nBuilding = (nearestObjects [_Point, ["House", "Building"], 50]) select 0; + private _nBuilding = (nearestObjects [_point, ["House", "Building"], 50]) select 0; if (isNil "_nBuilding") exitWith {}; - if ((_nBuilding distance _Point) > 40) exitWith {}; - [_Unit,_nBuilding,(group _Unit),_SatchelObj,_SatchelMag] spawn + if ((_nBuilding distance _point) > 40) exitWith {}; + [_unit,_nBuilding,(group _unit),_satchelObj,_satchelMag] spawn { - params ["_Unit","_nBuilding","_Group","_SatchelObj","_SatchelMag"]; - _Unit disableAI "TARGET"; - _Unit disableAI "AUTOTARGET"; - _Unit disableAI "CHECKVISIBLE"; - _Unit disableAI "COVER"; - _Unit disableAI "AUTOCOMBAT"; - doStop _Unit; _Unit doMove (getPos _nBuilding); + params ["_unit","_nBuilding","_Group","_satchelObj","_satchelMag"]; + _unit disableAI "TARGET"; + _unit disableAI "AUTOTARGET"; + _unit disableAI "CHECKVISIBLE"; + _unit disableAI "COVER"; + _unit disableAI "AUTOCOMBAT"; + doStop _unit; _unit doMove (getPos _nBuilding); - private _Truth = true; - while {_Truth} do + private _truth = true; + while {_truth} do { - if ((_Unit distance _nBuilding) <= 9) then {_Truth = false;}; + if ((_unit distance _nBuilding) <= 9) then {_truth = false;}; sleep 0.25; }; - _Unit removeMagazine _SatchelMag; - private _mine = _SatchelObj createVehicle (getposATL _Unit); + _unit removeMagazine _satchelMag; + private _mine = _satchelObj createVehicle (getposATL _unit); _mine setDir ([_mine, _nBuilding] call BIS_fnc_dirTo); - [_Unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; - _Unit action ["SetTimer", _Unit, _mine]; + [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; + _unit action ["SetTimer", _unit, _mine]; - private _PlantPosition = getpos _mine; - private _NotSafe = true; - private _UnitSide = (side _Unit); - _Unit doMove (getpos (leader _Group)); - _Unit enableAI "TARGET"; - _Unit enableAI "AUTOTARGET"; - _Unit enableAI "CHECKVISIBLE"; - _Unit enableAI "COVER"; - _Unit enableAI "AUTOCOMBAT"; + private _plantPosition = getpos _mine; + private _notSafe = true; + private _unitSide = (side _unit); + _unit doMove (getpos (leader _Group)); + _unit enableAI "TARGET"; + _unit enableAI "AUTOTARGET"; + _unit enableAI "CHECKVISIBLE"; + _unit enableAI "COVER"; + _unit enableAI "AUTOCOMBAT"; - while {_NotSafe} do + while {_notSafe} do { - private _Array1 = []; + private _array1 = []; { - _Array1 pushback _x; - } foreach (allUnits select {(side _x) isEqualTo _UnitSide && (alive _x)}); - _ClosestFriendly = [_Array1,_PlantPosition,true,"Satch1"] call VCM_fnc_ClstObj; - if !(isNil "_ClosestFriendly") then + _array1 pushback _x; + } foreach (allUnits select {(side _x) isEqualTo _unitSide && (alive _x)}); + _closestFriendly = [_array1,_plantPosition,true,"Satch1"] call VCM_fnc_ClstObj; + if !(isNil "_closestFriendly") then { - if (_ClosestFriendly distance2D _PlantPosition > 10) then {_NotSafe = false;}; + if (_closestFriendly distance2D _plantPosition > 10) then {_notSafe = false;}; } else { - _NotSafe = false; + _notSafe = false; }; sleep 5; }; _mine setdamage 1; sleep 3; - _list = _PlantPosition nearObjects ["#crater",5]; + _list = _plantPosition nearObjects ["#crater",5]; if (_list isEqualTo []) then { deleteVehicle _mine; - private _mine2 = "SatchelCharge_Remote_Ammo" createVehicle _PlantPosition; + private _mine2 = "SatchelCharge_Remote_Ammo" createVehicle _plantPosition; _mine2 setdamage 1; }; diff --git a/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf b/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf index a3b9538..99f6423 100644 --- a/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf +++ b/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf @@ -1,4 +1,17 @@ -//This function will execute the appropriate code and FSM's onto a group. -//These FSM's will run until the group is cleaned. They will be designed to halt when the group is empty or all units are dead. + +/* + Author: Genesis + + Description: + This function will execute the appropriate code and FSM's onto a group. + These FSM's will run until the group is cleaned. They will be designed to halt when the group is empty or all units are dead. + + Parameter(s): + 0: GROUP + + Returns: + NOTHING +*/ + _this execFSM "Vcom\FSMS\SQUADBEH.fsm"; VcmAI_ActiveList pushback _this; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_WyptChk.sqf b/Vcom/Functions/VCM_Functions/fn_WyptChk.sqf index 4078039..8eac518 100644 --- a/Vcom/Functions/VCM_Functions/fn_WyptChk.sqf +++ b/Vcom/Functions/VCM_Functions/fn_WyptChk.sqf @@ -1,16 +1,28 @@ -//This will tell our scripts if certain waypoints are set or not -//_WaypointCheck = _group call VCOMAI_Waypointcheck; -_GroupToInspect = _this; -_WaypointsToIncriminate = []; +/* + Author: Genesis -_index = currentWaypoint _GroupToInspect; -_WaypointIs = waypointType [_GroupToInspect,_index]; + Description: + This will tell our scripts if certain waypoints are set or not + + Parameter(s): + 0: GROUP + + Returns: + ARRAY +*/ + +_grp = _this; + +_waypointsToIncriminate = []; + +_index = currentWaypoint _grp; +_waypointIs = waypointType [_grp,_index]; { - if (_WaypointIs isEqualTo _x) then {_WaypointsToIncriminate pushback _x}; + if (_waypointIs isEqualTo _x) then {_waypointsToIncriminate pushback _x}; } foreach ["HOLD","GUARD","UNLOAD","LOAD","TR UNLOAD","SENTRY","DESTROY"]; -_WaypointsToIncriminate +_waypointsToIncriminate From 621cb0a063cdb8229a81c89c5b58fa8b18768a97 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 11 Nov 2018 23:48:30 +0100 Subject: [PATCH 24/83] Further cleanup Added further description and sorted functions in cfgFunctions Renamed some variables --- Vcom/Functions/VCM_Functions/fn_AIHIT.sqf | 2 +- Vcom/Functions/VCM_Functions/fn_ActRearm.sqf | 2 + Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf | 15 +- .../Functions/VCM_Functions/fn_ArtyManage.sqf | 1 + Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf | 1 + Vcom/Functions/VCM_Functions/fn_CheckArty.sqf | 1 + Vcom/Functions/VCM_Functions/fn_Classname.sqf | 1 + .../VCM_Functions/fn_ClearBuilding.sqf | 50 ++++-- Vcom/Functions/VCM_Functions/fn_ClstObj.sqf | 1 + Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf | 1 + .../VCM_Functions/fn_EmptyStatic.sqf | 2 + .../Functions/VCM_Functions/fn_EnemyArray.sqf | 1 + Vcom/Functions/VCM_Functions/fn_FlankMove.sqf | 1 + Vcom/Functions/VCM_Functions/fn_ForceMove.sqf | 1 + .../VCM_Functions/fn_FriendlyArray.sqf | 1 + .../VCM_Functions/fn_GarrisonLight.sqf | 16 +- Vcom/cfgFunctions.hpp | 163 +++++++++++------- 17 files changed, 163 insertions(+), 97 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf index 603f3b9..f77d655 100644 --- a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf @@ -1,4 +1,4 @@ -//Function that executes when AI are hit. + /* Author: Genesis, improved by Freddo diff --git a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf index 81344f4..8cccab4 100644 --- a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis @@ -14,6 +15,7 @@ Example: [unit1, getPos deadUnit] call VCM_fnc_ActRearm; */ + params ["_unitToRearm","_rearmLocation"]; while {(_unitToRearm distance _rearmLocation) > 5 && {(_unitToRearm distance _rearmLocation) < 200}} do diff --git a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf index 69c872f..0efd75a 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf @@ -1,8 +1,9 @@ + /* Author: Genesis Description: - Function for AI calling in artillery support. + Function for AI calling in artillery support. Parameter(s): 0: GROUP - Group calling for support @@ -15,8 +16,8 @@ Deprecated in favour of Rydigiers "Fire for Effect: The God Of War" */ -params ["_callGroup","_enemyG"]; -private _CallSide = (side _callGroup); +params ["_callGrp","_enemyGrp"]; +private _CallSide = (side _callGrp); //First let's remove any AI not actively in artillery pieces. Just in case something changed for them. @@ -46,7 +47,7 @@ private _artyArray = []; if (_artyArray isEqualTo []) exitWith {}; //Now with our completed array, lets find positions that can support. -private _clstGrp = [_artyArray,(leader _callGroup),true,"Arty1"] call VCM_fnc_ClstObj; +private _clstGrp = [_artyArray,(leader _callGrp),true,"Arty1"] call VCM_fnc_ClstObj; if (isNil "_clstGrp") exitWith {}; private _aGrpUnits = units (group _clstGrp); @@ -60,13 +61,13 @@ private _randomAmmoArray = selectRandom _ammoArray; if (isNil "_randomAmmoArray") exitWith {}; -private _leaderE = leader _enemyG; +private _leaderE = leader _enemyGrp; private _continueFiring = (getPos _leaderE) inRangeOfArtillery [_aVehGrpUnits,_randomAmmoArray]; if !(_continueFiring) exitWith {}; -private _enemyGroup = _enemyG; -private _RoundsToFire = round (count (units _enemyGroup)/4); +private _enemyGrproup = _enemyGrp; +private _RoundsToFire = round (count (units _enemyGrproup)/4); if (_RoundsToFire < 2) then {_RoundsToFire = 2}; diff --git a/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf index 8a74e83..a01eccb 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArtyManage.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf b/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf index 86232bf..a6f33af 100644 --- a/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf +++ b/Vcom/Functions/VCM_Functions/fn_BoxNrst.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf b/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf index 6672e18..bb8e76e 100644 --- a/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf +++ b/Vcom/Functions/VCM_Functions/fn_CheckArty.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_Classname.sqf b/Vcom/Functions/VCM_Functions/fn_Classname.sqf index 12cad12..13828d5 100644 --- a/Vcom/Functions/VCM_Functions/fn_Classname.sqf +++ b/Vcom/Functions/VCM_Functions/fn_Classname.sqf @@ -1,3 +1,4 @@ + /* Author: BIS, modified by Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf b/Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf index 95c8112..3d268d5 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClearBuilding.sqf @@ -1,36 +1,50 @@ -//Function that allows AI to clear a garrisoned building -params ["_Group","_Enemy"]; -private _nBuildingLst = nearestObjects [_Enemy, ["House", "Building"], 25]; +/* + Author: Genesis + + Description: + Orders group to clear building + + Parameter(s): + 0: GROUP - Clearing group + 1: OBJECT - Enemy to clear out + + Returns: + STRING +*/ + +params ["_group","_enemy"]; + +private _nBuildingLst = nearestObjects [_enemy, ["House", "Building"], 25]; if (count _nBuildingLst < 1) exitWith {}; -private _BuildingPositions = []; +private _buildingPositions = []; { - if (count ([_x] call BIS_fnc_buildingPositions) > 3) then {_BuildingPositions pushback _x;}; + if (count ([_x] call BIS_fnc_buildingPositions) > 3) then {_buildingPositions pushback _x;}; } foreach _nBuildingLst; -if (count _BuildingPositions < 1) exitWith {}; -private _FinalSel = [_BuildingPositions,_Enemy,true,"Clear0"] call VCM_fnc_ClstObj; -private _TempA = _FinalSel call BIS_fnc_buildingPositions; -private _TempB = _TempA; +if (count _buildingPositions < 1) exitWith {}; +private _finalSel = [_buildingPositions,_enemy,true,"Clear0"] call VCM_fnc_ClstObj; +private _tempA = _finalSel call BIS_fnc_buildingPositions; +private _tempB = _tempA; //Filter down the closest positions -private _UnitPosition = getposATL _Enemy; -private _AcceptableRange = _UnitPosition select 2; +private _unitPosition = getposATL _enemy; +private _acceptableRange = _unitPosition select 2; { - if ((_x select 2) < (_AcceptableRange - 1) || (_x select 2) > (_AcceptableRange + 1)) then + if ((_x select 2) < (_acceptableRange - 1) || (_x select 2) > (_acceptableRange + 1)) then { - _TempA deleteAt _forEachIndex; + _tempA deleteAt _forEachIndex; }; -} foreach _TempA; +} foreach _tempA; -if (_TempA isEqualTo []) then {_TempA = _TempB;}; +if (_tempA isEqualTo []) then {_tempA = _tempB;}; -private _ClstP = [_TempA,_Enemy,true,"Clear1"] call VCM_fnc_ClstObj; +private _clstP = [_tempA,_enemy,true,"Clear1"] call VCM_fnc_ClstObj; { doStop _x; - _x doMove _ClstP; -} foreach (units _Group); \ No newline at end of file + _x doMove _clstP; +} foreach (units _group); \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf b/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf index 7b2f65c..301d54a 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstObj.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf index 836def8..c1f63a8 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf b/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf index b2e4a66..7d8ee9e 100644 --- a/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf +++ b/Vcom/Functions/VCM_Functions/fn_EmptyStatic.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis @@ -11,6 +12,7 @@ Returns: BOOLEAN */ + params ["_grp","_searchDist"]; if (isNil "_searchDist") then {_searchDist = 100}; private _returned = false; diff --git a/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf b/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf index bc338e0..11bcec3 100644 --- a/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf +++ b/Vcom/Functions/VCM_Functions/fn_EnemyArray.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf index 8b13307..7e601e2 100644 --- a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index 9b9e528..549b156 100644 --- a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf b/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf index aa6582e..d8d69da 100644 --- a/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FriendlyArray.sqf @@ -1,3 +1,4 @@ + /* Author: Genesis diff --git a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf index ecba959..2ab9b80 100644 --- a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf +++ b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf @@ -12,8 +12,8 @@ NOTHING */ -private _unit = (leader _this); -private _nBuildingLst = nearestObjects [_unit, ["House", "Building"], 50]; +private _leader = (leader _this); +private _nBuildingLst = nearestObjects [_leader, ["House", "Building"], 50]; private _buildingPositions = []; { @@ -35,18 +35,18 @@ if (count _tempA > 0) then _x doMove _buildingLocation; [_x,_buildingLocation] spawn { - params ["_unit","_buildingLocation"]; + params ["_leader","_buildingLocation"]; if (isNil "_buildingLocation") exitWith {}; - while {(alive _unit) && {_unit distance _buildingLocation < 1.3}} do + while {(alive _leader) && {_leader distance _buildingLocation < 1.3}} do { sleep 3; - _unit doMove _buildingLocation; + _leader doMove _buildingLocation; }; - _unit disableAI "PATH"; + _leader disableAI "PATH"; sleep 120; - if (alive _unit) then + if (alive _leader) then { - _unit enableAI "PATH"; + _leader enableAI "PATH"; }; }; private _rmv = _tempA findIf {_buildingLocation isEqualTo _x}; diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 82b01b0..17de74c 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -4,78 +4,115 @@ class VCOM class Functions { file = "Vcom\Functions\VCM_Functions"; - //[] call VCM_fnc_SquadExc - class SquadExc {}; - //[] call VCM_fnc_KitChk - class KitChk {}; - //[] call VCM_fnc_RMedics - class RMedics {}; - //[] call VCM_fnc_RStatics - class RStatics {}; - //[] call VCM_fnc_HasMine - class HasMine {}; - //[] call VCM_fnc_Classname - class Classname {}; - // [] call VCM_fnc_CheckArty - class CheckArty {}; - //[] call VCM_fnc_RearmSelf - class RearmSelf {}; - //[] spawn VCM_fnc_ActRearm + + // [unitToRearm, rearmLocation] spawn VCM_fnc_ActRearm class ActRearm {}; - //[] spawn VCM_fnc_Garrison - class Garrison {}; - //[] call VCM_fnc_ClstEmy + + // [unit, source, damage, instigator] call VCM_fnc_AIHIT; + class AIHIT {}; + + // [group] call VCM_fnc_ArmStatics; + class ArmStatics {}; + + // [callGroup, enemyGroup] call VCM_fnc_ArtyCall; + class ArtyCall {}; + + // group call VCM_fnc_ArtyManage; + class ArtyManage {}; + + // [entity, unit] call VCM_fnc_BoxNrst; + class BoxNrst {}; + + // unit call VCM_fnc_CheckArty; + class CheckArty {}; + + // [string] call VCM_fnc_Classname; + class Classname {}; + + // [group, enemy] call VCM_fnc_ClearBuilding; + class ClearBuilding {}; + + // unit call VCM_fnc_ClstEmy; class ClstEmy {}; - //[] call VCM_fnc_ClstObj + + // [list, object, order, script] call VCM_fnc_ClstObj; class ClstObj {}; - //[] call VCM_fnc_BoxNrst - class BoxNrst {}; - //[] call VCM_fnc_FindCover - class FindCover {}; - //[] spawn VCM_fnc_FlankMove - class FlankMove {}; - //[] call VCM_fnc_Heights - class Heights {}; - //[] call VCM_fnc_GarrisonLight {}; - class GarrisonLight {}; - //[] call VCM_fnc_PackStatic {}; - class PackStatic {}; - //[] spawn VCM_fnc_SatchelPlant {}; - class SatchelPlant {}; - //[] spawn VCM_fnc_MinePlant {}; - class MinePlant {}; - //[] call VCM_fnc_EmptyStatic {}; + + // [unit, killer] call VCM_fnc_ClstWarn; + class ClstWarn {}; + + // [group, searchDistance] call VCM_fnc_EmptyStatic; class EmptyStatic {}; - //[] call VCM_fnc_ArmStatics {}; - class ArmStatics {}; - //[] call VCM_fnc_ArtyManage {}; - class ArtyManage {}; - //[] call VCM_fnc_ArtyCall {}; - class ArtyCall {}; - //[] call VCM_fnc_AIHIT {}; - class AIHIT {}; - //[] call VCM_fnc_HearingAids {}; - class HearingAids {}; - //[] call VCM_fnc_EnemyArray {}; + + // unit call VCM_fnc_EnemyArray; class EnemyArray {}; - //[] call VCM_fnc_ClstWarn {}; - class ClstWarn {}; - //[] call VCM_fnc_FriendlyArray {}; + + // [groupLeader, moveDistance] call VCM_fnc_FindCover; + class FindCover {}; + + // [groupLeader] spawn VCM_fnc_FlankMove; + class FlankMove {}; + + // [groupLeader, moveDistance] call VCM_fnc_ForceMove; + class ForceMove {}; + + // unit call VCM_fnc_FriendlyArray; class FriendlyArray {}; - //[] call VCM_fnc_WyptChk {}; - class WyptChk {}; - //[] call VCM_fnc_FrmChnge {}; + + // unit call VCM_fnc_FrmChnge; class FrmChnge {}; - //[] call VCM_fnc_ForceMove - class ForceMove {}; - //[] call VCM_fnc_ClearBuilding {}; - class ClearBuilding {}; - //[] call VCM_fnc_IRCHECK {}; + + // group spawn VCM_fnc_Garrison; + class Garrison {}; + + // group call VCM_fnc_GarrisonLight; + class GarrisonLight {}; + + // unit call VCM_fnc_HasMine; + class HasMine {}; + + // [unit, weapon, muzzle, mode, ammo, magazine, bullet, gunner] call VCM_fnc_HearingAids; + class HearingAids {}; + + // [object, searchRadius, precision, sortingOrder] call VCM_fnc_Heights; + class Heights {}; + + // [] call VCM_fnc_IRCHECK; class IRCHECK {}; - //[] call VCM_fnc_KnowAbout + + // group call VCM_fnc_KitChk; + class KitChk {}; + + // [array, unitToReveal, revealAmount] call VCM_fnc_KnowAbout; class KnowAbout {}; - //[] spawn VCM_fnc_MineMonitor; - class MineMonitor {}; + + // [] spawn VCM_fnc_MineMonitor; + class MineMonitor {}; + + // [unit, mineArray] spawn VCM_fnc_MinePlant; + class MinePlant {}; + + // [gunner, backpackClassname, staticWeapon] call VCM_fnc_PackStatic; + class PackStatic {}; + + // group call VCM_fnc_RearmSelf; + class RearmSelf {}; + + // group call VCM_fnc_RMedics; + class RMedics {}; + + // group call VCM_fnc_RStatics; + class RStatics {}; + + // [unit, satchelArray] spawn VCM_fnc_SatchelPlant; + class SatchelPlant {}; + + // group call VCM_fnc_SquadExc; + class SquadExc {}; + + // group call VCM_fnc_WyptChk; + class WyptChk {}; + }; }; From 3d3cf82318705c3b4def7c735da56f4e3be80523 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Mon, 12 Nov 2018 11:12:37 +0100 Subject: [PATCH 25/83] Changelog! https://keepachangelog.com/en/1.0.0/ --- Vcom/changelog.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Vcom/changelog.txt diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt new file mode 100644 index 0000000..f154025 --- /dev/null +++ b/Vcom/changelog.txt @@ -0,0 +1,40 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +## [3.1] - 2018-11-12 +### Added +- Changelog +- Rydigiers "Fire For Effect" artillery system +- CBA settings support for "Fire For Effect" artillery system +- Parameter for forcing speedMode "FULL" +- Descriptive header for all Vcom functions +- VCOM is now licensed under the ArmA Public License - Share Alike + +### Changed +- Vcom will not give flanking orders to AI with a commander +- Suppressors are now dynamically checked +- Mines are now handled differently (Placed mines are added to an array) +- AI will no longer ragdoll when prone, will instead perform animations +- AI will not ragdoll when within a certain distance of a player +- VCom functions have been moved to Vcom\Functions\VCM_Functions +- Hold waypoints now define what building to garrison +- AI will not generate flanking waypoints targetting unknown units + +### Deprecated +- VCom artillery (Replaced by "Fire For Effect") + +### Removed + +### Fixed +- VCM_SKILLCHANGE had no effect +- AI taking control when player incapacitated +- AI attempting to flank aircraft +- Building clearing behaviour did not check distance to target +- Civilians being affected by VCOM +- VCM_SIDEENABLED had no effect +- VCM_ARTYENABLE had no effect + +### Security +- Whitelisted remote execution for VCOM \ No newline at end of file From dc63e8f6e24693b99d2f66450473e5bc5e8a5c26 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Tue, 13 Nov 2018 02:39:56 -0700 Subject: [PATCH 26/83] Bug Fix Fixes bug with static weapons causing errors messages --- Vcom/FSMS/SQUADBEH.fsm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index a56573f..61e10aa 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; @@ -38,7 +38,7 @@ item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,9 item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; -item37[] = {"MinePlant",4,4314,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; +item37[] = {"MinePlant",4,218,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,403.502502,966.001648,671.977112,-59.271748,680,884,1}; -window[] = {2,-1,-1,-1,-1,1006,52,1353,52,3,698}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,873.519287,1279.480713,811.393738,99.596008,446,782,1}; +window[] = {0,-1,-1,-1,-1,1137,393,1694,183,1,464}; *//*%FSM*/ class FSM { @@ -719,7 +719,7 @@ class FSM " _Unit moveInGunner _StaticCreated;" \n " removeBackpackGlobal _Unit;" \n "" \n - " private _dirTo = [position _StaticCreated,position _NearestEnemy] call BIS_fnc_dirTo;" \n + " private _dirTo = _StaticCreated getDir _NearestEnemy;" \n " _StaticCreated setDir _dirTo;" \n " (Vehicle _Unit) setDir _dirTo;" \n " };" \n From a22e416df9d744ac0942b556949242f63489faf1 Mon Sep 17 00:00:00 2001 From: Freddo Date: Tue, 13 Nov 2018 11:31:39 +0100 Subject: [PATCH 27/83] Update changelog.txt --- Vcom/changelog.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index f154025..ea23f4d 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Parameter for forcing speedMode "FULL" - Descriptive header for all Vcom functions - VCOM is now licensed under the ArmA Public License - Share Alike +- Zeus to mission.sqm ### Changed - Vcom will not give flanking orders to AI with a commander @@ -37,4 +38,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - VCM_ARTYENABLE had no effect ### Security -- Whitelisted remote execution for VCOM \ No newline at end of file +- Whitelisted remote execution for VCOM From 3f984f47178cfc86e11cad9e433a449227ad8934 Mon Sep 17 00:00:00 2001 From: Freddo Date: Tue, 13 Nov 2018 11:32:49 +0100 Subject: [PATCH 28/83] Update changelog.txt --- Vcom/changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index ea23f4d..1997aca 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [3.1] - 2018-11-12 +## [3.1] - 2018-11-13 ### Added - Changelog - Rydigiers "Fire For Effect" artillery system From e3ebe746ace1eaba005bfbb17a0cc6fa087e7cc0 Mon Sep 17 00:00:00 2001 From: Freddo Date: Wed, 14 Nov 2018 21:45:42 +0100 Subject: [PATCH 29/83] Added VCM_fnc_MedicHeal /* Author: Freddo Description: Makes medic move to a soldier and heal him. Parameter(s): 0: OBJECT - Medic 1: OBJECT - Injured unit Returns: NOTHING */ --- Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf | 43 +++++++++++++++++++ Vcom/cfgFunctions.hpp | 3 ++ 2 files changed, 46 insertions(+) create mode 100644 Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf diff --git a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf new file mode 100644 index 0000000..1af87e6 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf @@ -0,0 +1,43 @@ + +/* + Author: Freddo + + Description: + Makes medic move to a soldier and heal him. + + Parameter(s): + 0: OBJECT - Medic + 1: OBJECT - Injured unit + + Returns: + NOTHING +*/ + +scopeName "main"; + +params ["_medic","_unit"]; +if (not ("Medikit" in items _medic) || not (isNull objectParent _unit) || _medic distance2D _unit > 50) exitWith {}; + +if (VCM_DEBUG) then {systemChat format ["%1 attempting to heal %2", _medic, _unit];}; + +_medic setVariable ["VCM_UNIT_HEALING", 1, false]; + +while {not (isNull _unit) && alive _unit && damage _unit != 0 && isNull objectParent _unit && not (isNull _medic) && alive _medic && _medic distance2D _unit > 2} do +{ + _medic doMove getPos _unit; + sleep 5; +}; + +doStop _unit; + +_medic action ["HealSoldier", _unit]; + +sleep 5; + +//Rerun script if medic didn't manage to heal +if (damage _unit != 0) then {breakTo "main"}; + +_unit doFollow leader _unit; +_medic doFollow leader _medic; + +_medic setVariable ["VCM_UNIT_HEALING", 0, false]; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 17de74c..c18ef46 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -86,6 +86,9 @@ class VCOM // [array, unitToReveal, revealAmount] call VCM_fnc_KnowAbout; class KnowAbout {}; + //[medic, injuredUnit] spawn VCM_fnc_MedicHeal + class MedicHeal {}; + // [] spawn VCM_fnc_MineMonitor; class MineMonitor {}; From 2fc94f359a65a7871f2a8b12a4cda465a7161213 Mon Sep 17 00:00:00 2001 From: Freddo Date: Wed, 14 Nov 2018 22:16:52 +0100 Subject: [PATCH 30/83] Medic shares First Aid Kits If unit being healed has no FAKs, and medic has any in his backpack, he will share them. --- Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf index 1af87e6..0385d2e 100644 --- a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf @@ -32,11 +32,19 @@ doStop _unit; _medic action ["HealSoldier", _unit]; -sleep 5; +sleep 3; -//Rerun script if medic didn't manage to heal +// Rerun script if medic didn't manage to heal if (damage _unit != 0) then {breakTo "main"}; +// Medic puts those first aid kits in his backpack to use +if (not ("FirstAidKit" in items _unit) && "FirstAidKit" in backpackItems _medic && _medic distance2D _unit < 3) then +{ + // TODO: Add animation + _medic removeItemFromBackpack "FirstAidKit"; + _unit addItem "FirstAidKit"; +}; + _unit doFollow leader _unit; _medic doFollow leader _medic; From 14cd374109a185c6fbe6878be05a161ab45f1dff Mon Sep 17 00:00:00 2001 From: Freddo Date: Wed, 14 Nov 2018 23:20:53 +0100 Subject: [PATCH 31/83] Added VCM_fnc_HealSelf /* Author: Freddo Description: Makes a unit heal itself. Parameter(s): 0: OBJECT - Unit Returns: BOOLEAN - If unit able to treat self: TRUE, else FALSE */ --- Vcom/Functions/VCM_Functions/fn_HealSelf.sqf | 21 ++++++++++++++++++++ Vcom/cfgFunctions.hpp | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 Vcom/Functions/VCM_Functions/fn_HealSelf.sqf diff --git a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf new file mode 100644 index 0000000..82b5c66 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf @@ -0,0 +1,21 @@ + +/* + Author: Freddo + + Description: + Makes a unit heal itself. + + Parameter(s): + 0: OBJECT - Unit + + Returns: + BOOLEAN - If unit able to treat self: TRUE, else FALSE +*/ + +if ("FirstAidKit" in items _this && damage _this < 0.75) then +{ + _this action ["HealSoldierSelf", _this]; + if VCM_DEBUG then {systemChat format ["%1 healing self", _this]}; +} else {if true exitwith {false}}; + +true \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index c18ef46..c798230 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -71,6 +71,8 @@ class VCOM // unit call VCM_fnc_HasMine; class HasMine {}; + // unit call VCM_fnc_HealSelf; + // [unit, weapon, muzzle, mode, ammo, magazine, bullet, gunner] call VCM_fnc_HearingAids; class HearingAids {}; @@ -86,7 +88,7 @@ class VCOM // [array, unitToReveal, revealAmount] call VCM_fnc_KnowAbout; class KnowAbout {}; - //[medic, injuredUnit] spawn VCM_fnc_MedicHeal + //[medic, injuredUnit] spawn VCM_fnc_MedicHeal; class MedicHeal {}; // [] spawn VCM_fnc_MineMonitor; From 44d669c1d14da693a442f6645224721d6499b88b Mon Sep 17 00:00:00 2001 From: Freddo Date: Wed, 14 Nov 2018 23:50:41 +0100 Subject: [PATCH 32/83] Removed damage check `Damage` is too inaccurate to check if a unit can heal itself. --- Vcom/Functions/VCM_Functions/fn_HealSelf.sqf | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf index 82b5c66..c8eb575 100644 --- a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf @@ -12,10 +12,16 @@ BOOLEAN - If unit able to treat self: TRUE, else FALSE */ -if ("FirstAidKit" in items _this && damage _this < 0.75) then +private "_rtrn"; + +if ("FirstAidKit" in items _this) then { _this action ["HealSoldierSelf", _this]; if VCM_DEBUG then {systemChat format ["%1 healing self", _this]}; -} else {if true exitwith {false}}; + _rtrn = true; +} else +{ + _rtrn = false; +}; -true \ No newline at end of file +_rtrn \ No newline at end of file From 54b0de0e337b0e9bec3ed4ac5d821f4b394fff5b Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 18 Nov 2018 22:21:50 +0100 Subject: [PATCH 33/83] Fully implemented AI Healing VCM_fnc_MedicalHandler is fired every 30 seconds, and will tell unit to heal itself or call a medic as appropiate. TODO: Check if it is safe to heal before committing to it --- Vcom/FSMS/SQUADBEH.fsm | 10 +++-- Vcom/Functions/VCM_Functions/fn_HealSelf.sqf | 2 +- Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf | 15 ++++---- .../VCM_Functions/fn_MedicalHandler.sqf | 38 +++++++++++++++++++ Vcom/VcomInit.sqf | 2 +- Vcom/cfgFunctions.hpp | 4 ++ 6 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index 61e10aa..d7c0f62 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; @@ -18,7 +18,7 @@ item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000 item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; -item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; +item17[] = {"Full_Check",2,4346,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,873.519287,1279.480713,811.393738,99.596008,446,782,1}; -window[] = {0,-1,-1,-1,-1,1137,393,1694,183,1,464}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-125.805687,162.358871,394.499329,-43.063210,515,782,1}; +window[] = {0,-1,-1,-1,-1,991,1985,3286,37,1,533}; *//*%FSM*/ class FSM { @@ -437,6 +437,8 @@ class FSM "_L1 params [""_StaticList"",""_SatchelList"",""_MineList""];" \n "_BackbkC = time;" \n "" \n + "_group call VCM_fnc_MedicalHandler;" \n + "" \n "if (VCM_FRMCHANGE && {!(_group getVariable [""VCM_DisableForm"",false])}) then" \n "{" \n " _leader call VCM_fnc_FrmChnge;" \n diff --git a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf index c8eb575..6fd929b 100644 --- a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf @@ -14,7 +14,7 @@ private "_rtrn"; -if ("FirstAidKit" in items _this) then +if (alive _this && {"FirstAidKit" in items _this} && {{_x > 0.25} count (getAllHitPointsDamage _this select 2) != 0}) then { _this action ["HealSoldierSelf", _this]; if VCM_DEBUG then {systemChat format ["%1 healing self", _this]}; diff --git a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf index 0385d2e..5f73473 100644 --- a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf @@ -16,29 +16,30 @@ scopeName "main"; params ["_medic","_unit"]; -if (not ("Medikit" in items _medic) || not (isNull objectParent _unit) || _medic distance2D _unit > 50) exitWith {}; +if (not (isNull objectParent _unit) || {alive _unit} || {alive _medic} || {_medic distance2D _unit > 50}) exitWith {}; if (VCM_DEBUG) then {systemChat format ["%1 attempting to heal %2", _medic, _unit];}; -_medic setVariable ["VCM_UNIT_HEALING", 1, false]; +_medic setVariable ["VCM_MBUSY", true, false]; -while {not (isNull _unit) && alive _unit && damage _unit != 0 && isNull objectParent _unit && not (isNull _medic) && alive _medic && _medic distance2D _unit > 2} do +while {not (isNull _unit) && {alive _unit && damage _unit != 0} && {isNull objectParent _unit} && {not (isNull _medic)} && {alive _medic} && {_medic distance2D _unit > 2}} do { _medic doMove getPos _unit; - sleep 5; + sleep 2; }; doStop _unit; +doStop _medic; _medic action ["HealSoldier", _unit]; -sleep 3; +sleep 5; // Rerun script if medic didn't manage to heal if (damage _unit != 0) then {breakTo "main"}; // Medic puts those first aid kits in his backpack to use -if (not ("FirstAidKit" in items _unit) && "FirstAidKit" in backpackItems _medic && _medic distance2D _unit < 3) then +if (not ("FirstAidKit" in items _unit) && {"FirstAidKit" in backpackItems _medic} && {_medic distance2D _unit < 3}) then { // TODO: Add animation _medic removeItemFromBackpack "FirstAidKit"; @@ -48,4 +49,4 @@ if (not ("FirstAidKit" in items _unit) && "FirstAidKit" in backpackItems _medic _unit doFollow leader _unit; _medic doFollow leader _medic; -_medic setVariable ["VCM_UNIT_HEALING", 0, false]; \ No newline at end of file +_medic setVariable ["VCM_MBUSY", false, false]; // No longer busy \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf b/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf new file mode 100644 index 0000000..b3e1903 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf @@ -0,0 +1,38 @@ +/* + Author: Freddo + + Description: + Makes group check medical status, and order medics about + + Parameter(s): + 0: GROUP + + Returns: + NOTHING +*/ + +if !(VCM_MEDICALACTIVE) exitWith {}; + +params ["_group"]; +private _units = units _group; +private _medics = _group call VCM_fnc_RMedics; +if (isNil "_medics") then {private _medics = []}; + +{ + if (isNull objectParent _x && {damage _x != 0}) then + { + [_x, _medics] spawn + { + params ["_unit", "_medicArr"]; + sleep random 10; + if !(_unit call VCM_fnc_HealSelf && {count _medicArr isEqualTo 0}) then // VCM_fnc_HealSelf returns false if unit unable to heal self + { + private _medic = selectRandom _medicArr; + if !(_medic getVariable ["VCM_MBUSY", false]) then // Check if medic is busy + { + [_medic ,_unit] call VCM_fnc_MedicHeal; + }; + }; + }; + }; +} forEach _units; \ No newline at end of file diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 6c1b3e9..1775ff1 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -39,7 +39,7 @@ waitUntil {!(isNil "VCM_AIMagLimit")}; //Mod checks //ACE CHECK -if (isClass(configFile >> "CfgPatches" >> "ace_main")) then {ACEACTIVATED = true;} else {ACEACTIVATED = false;}; +if (not isNil "ACE_Medical_enableFor" && {ACE_Medical_enableFor == 1}) then {VCM_MEDICALACTIVE = false;} else {VCM_MEDICALACTIVE = true;}; //CBA CHECK if (isClass(configFile >> "CfgPatches" >> "cba_main")) then {CBAACT = true;} else {CBAACT = false;}; diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index c798230..e612489 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -72,6 +72,7 @@ class VCOM class HasMine {}; // unit call VCM_fnc_HealSelf; + class HealSelf {}; // [unit, weapon, muzzle, mode, ammo, magazine, bullet, gunner] call VCM_fnc_HearingAids; class HearingAids {}; @@ -88,6 +89,9 @@ class VCOM // [array, unitToReveal, revealAmount] call VCM_fnc_KnowAbout; class KnowAbout {}; + // group call VCM_fnc_MedicalHandler + class MedicalHandler {}; + //[medic, injuredUnit] spawn VCM_fnc_MedicHeal; class MedicHeal {}; From cb2ba39a1816556632a12db9b388c9d9571e8be2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 18 Nov 2018 22:29:20 +0100 Subject: [PATCH 34/83] Error if no medic in group count _medicArr == 0 now is exitWith --- Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf b/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf index b3e1903..fd18b2d 100644 --- a/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MedicalHandler.sqf @@ -25,8 +25,9 @@ if (isNil "_medics") then {private _medics = []}; { params ["_unit", "_medicArr"]; sleep random 10; - if !(_unit call VCM_fnc_HealSelf && {count _medicArr isEqualTo 0}) then // VCM_fnc_HealSelf returns false if unit unable to heal self + if !(_unit call VCM_fnc_HealSelf) then // VCM_fnc_HealSelf returns false if unit unable to heal self { + if (count _medicArr == 0) exitWith {}; private _medic = selectRandom _medicArr; if !(_medic getVariable ["VCM_MBUSY", false]) then // Check if medic is busy { From dbeabc5a5b37beb27c0db711f294ab1243932195 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 21 Nov 2018 18:02:53 +0100 Subject: [PATCH 35/83] Added additional isPlayer check Also removed a couple of unneeded _this select x --- Vcom/Functions/VCM_Functions/fn_MinePlant.sqf | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf index c77cbf2..a0e167e 100644 --- a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf @@ -14,10 +14,7 @@ params ["_unit", "_mineArray"]; -if (VCM_MINECHANCE < (round (random 100))) exitWith {}; - -private _unit = _this select 0; -private _mineArray = _this select 1; +if (VCM_MINECHANCE < (round (random 100)) || {isPlayer _unit}) exitWith {}; private _mineType = _mineArray select 0; From 61f0074e1b87b6a8c93c3231ce451b5a29c6b847 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 21 Nov 2018 18:39:55 +0100 Subject: [PATCH 36/83] Moved SQUADBEH.fsm to functions library I guess the less we have to exec the better --- Vcom/FSMS/{SQUADBEH.fsm => fn_SQUADBEH.fsm} | 0 Vcom/Functions/VCM_Functions/fn_SquadExc.sqf | 2 +- Vcom/cfgFunctions.hpp | 12 ++++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) rename Vcom/FSMS/{SQUADBEH.fsm => fn_SQUADBEH.fsm} (100%) diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm similarity index 100% rename from Vcom/FSMS/SQUADBEH.fsm rename to Vcom/FSMS/fn_SQUADBEH.fsm diff --git a/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf b/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf index 99f6423..6472d4d 100644 --- a/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf +++ b/Vcom/Functions/VCM_Functions/fn_SquadExc.sqf @@ -13,5 +13,5 @@ NOTHING */ -_this execFSM "Vcom\FSMS\SQUADBEH.fsm"; +_this spawn VCM_fnc_SQUADBEH; VcmAI_ActiveList pushback _this; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index e612489..5de8a27 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -1,6 +1,18 @@ class VCOM { tag = "VCM"; + + class FSM + { + file = "Vcom\FSMS"; + + // group spawn + class SQUADBEH + { + ext = ".fsm"; + }; + }; + class Functions { file = "Vcom\Functions\VCM_Functions"; From 798b752245d1e9a6aebedd750416ddcf895a7078 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 21 Nov 2018 18:41:06 +0100 Subject: [PATCH 37/83] Comment --- Vcom/cfgFunctions.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 5de8a27..e6c4708 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -6,7 +6,7 @@ class VCOM { file = "Vcom\FSMS"; - // group spawn + // group spawn VCM_fnc_SQUADBEH class SQUADBEH { ext = ".fsm"; From 930f2a68e117cc6c6b544ea807565ff6937e8030 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 21 Nov 2018 23:34:55 +0100 Subject: [PATCH 38/83] Bugfixes VCM_SKILLCHANGE now does what it is supposed to Eventhandlers are removed after VCOM is disabled on unit --- Vcom/FSMS/fn_SQUADBEH.fsm | 54 +++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index d7c0f62..9af5832 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,11 +1,11 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; -item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; +item4[] = {"Start_Point",2,4346,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; item6[] = {"Exit_FSM_1",1,250,-250.000000,475.000000,-175.000000,525.000000,0.000000,"Exit FSM"}; item7[] = {"Simulation_Pause",4,218,250.000000,475.000000,350.000000,525.000000,990.000000,"Simulation Pause"}; @@ -18,7 +18,7 @@ item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000 item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; -item17[] = {"Full_Check",2,4346,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; +item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-125.805687,162.358871,394.499329,-43.063210,515,782,1}; -window[] = {0,-1,-1,-1,-1,991,1985,3286,37,1,533}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-338.047516,376.205017,886.674744,80.290009,783,884,1}; +window[] = {2,-1,-1,-1,-1,1006,52,1353,52,3,801}; *//*%FSM*/ class FSM { @@ -129,13 +129,6 @@ class FSM init = /*%FSM*/"private _Group = _this;" \n "private _leader = leader _group;" \n "" \n - "{" \n - " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n - " {" \n - " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n - " };" \n - "} foreach (units _Group);" \n - "" \n "" \n "" \n ""/*%FSM*/; @@ -180,17 +173,21 @@ class FSM "private _MineList = [];" \n "private _StartingBehavior = behaviour _leader;" \n "private _CurUnits = (units _Group);" \n - "" \n + "private _ehList = [];" \n "" \n "_Group call VCM_fnc_ArtyManage;" \n - "_Group call VCM_AIDIFSET;" \n + "if (VCM_SKILLCHANGE && {_Group getVariable [""VCM_Skilldisable"", false]}) then {_Group call VCM_AIDIFSET};" \n + "" \n "" \n "{" \n - " if (!(isPlayer _x) && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " if (!(isPlayer _x)) then" \n " {" \n " _x disableAI ""SUPPRESSION"";" \n - " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n - " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n + " // Eventhandlers are added to the array _ehList in the format [unit, type, index] for later removal" \n + " _ehList pushBack [_x, ""Killed"", _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}]];" \n + " _ehList pushBack [_x, ""Hit"", _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}]];" \n + " _ehList pushBack [_x, ""Fired"", _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}]];" \n + "" \n " };" \n "} foreach (units _Group);" \n "" \n @@ -230,12 +227,14 @@ class FSM " _Group call VCM_fnc_ArtyManage;" \n " " \n " {" \n - " if (!(_x in _CurUnits) && {!(isPlayer _x)} && {VCM_SKILLCHANGE} && {!(_Group getVariable [""VCM_Skilldisable"",false])}) then" \n + " if (!(_x in _CurUnits) && {!(isPlayer _x)}) then" \n " {" \n " _x disableAI ""SUPPRESSION"";" \n - " _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}];" \n - " _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}];" \n - " _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}];" \n + " // Eventhandlers are added to the array _ehList in the format [unit, type, index] for later removal" \n + " _ehList pushBack [_x, ""Killed"", _x addEventHandler [""Killed"",{_this spawn VCM_fnc_ClstWarn;}]];" \n + " _ehList pushBack [_x, ""Fired"", _x addEventHandler [""Fired"",{_this call VCM_fnc_HearingAids;}]];" \n + " _ehList pushBack [_x, ""Hit"", _x addEventHandler [""Hit"",{_this call VCM_fnc_AIHIT;}]];" \n + "" \n " };" \n " } foreach (units _Group);" \n "" \n @@ -335,7 +334,18 @@ class FSM init = /*%FSM*/"private _N = VcmAI_ActiveList findIf {_x isEqualTo _Group};" \n "VcmAI_ActiveList deleteAt _N;" \n "" \n - "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};"/*%FSM*/; + "if (VCM_Debug) then {diag_log (format [""%1: EXITED VCOM SCRIPTS"",_Group])};" \n + "" \n + "//Remove eventhandlers" \n + "{" \n + " private _ehUnit = _x select 0;" \n + " if (!isNull _ehUnit) then" \n + " {" \n + " private _ehType = _x select 1;" \n + " private _ehIndex = _x select 2;" \n + " _ehUnit removeEventHandler [_ehType, _ehIndex];" \n + " };" \n + "} foreach _ehList;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { From f6c42083b381c4c34816253677b5e25726df9b47 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 21 Nov 2018 23:36:21 +0100 Subject: [PATCH 39/83] Vehicle convoys Vehicles will when in "safe" mode use the file formation. Might change to column. --- Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf b/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf index 9efcf95..b9ce13c 100644 --- a/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FrmChnge.sqf @@ -2,7 +2,7 @@ Author: Genesis Description: - Changes group formation dependent on surroundings. + Changes group formation dependent on surroundings and behaviour Parameter(s): 0: OBJECT - Unit whose group to change formation @@ -19,6 +19,15 @@ _unit = _this; //Grab the group of the unit _group = group _unit; +//Vehicular groups in "SAFE" behaviour will move in convoys +if (!isNull objectParent _unit && {behaviour _unit == "SAFE"}) exitWith +{ + _group setFormation "FILE"; + //Set the units variable so they dont try changing formations too frequently. + _VCOM_CHANGEDFORMATION = true; + _VCOM_CHANGEDFORMATION +}; + //Grab the nearest "City" from the unit _nearestCity = nearestLocation [getPosASL _unit, "nameCity"]; @@ -30,7 +39,7 @@ if ((_locationPos distance _unit) < 500) exitWith { //Check if the unit is in a vehicle or not - if ((vehicle _unit) != _unit) then + if (!isNull objectParent _unit) then { _group setFormation "COLUMN"; } From 46cc967c1b23269dbc14f2a446a8e85922f0aca2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 24 Nov 2018 19:51:47 +0100 Subject: [PATCH 40/83] Tweaked VCM_SIDEENABLED Why: * This change addresses the need by: * --- Vcom/FSMS/fn_SQUADBEH.fsm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 9af5832..f3f37de 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,12 +1,12 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; -item4[] = {"Start_Point",2,4346,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; -item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; +item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; +item5[] = {"Exit_Cond",4,4314,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; item6[] = {"Exit_FSM_1",1,250,-250.000000,475.000000,-175.000000,525.000000,0.000000,"Exit FSM"}; item7[] = {"Simulation_Pause",4,218,250.000000,475.000000,350.000000,525.000000,990.000000,"Simulation Pause"}; item8[] = {"Simulation_Pause",2,250,325.000000,525.000000,425.000000,575.000000,0.000000,"Simulation Pause"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-338.047516,376.205017,886.674744,80.290009,783,884,1}; -window[] = {2,-1,-1,-1,-1,1006,52,1353,52,3,801}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-456.256287,494.413696,1020.131226,-53.166660,514,782,1}; +window[] = {0,-1,-1,-1,-1,1106,2073,3374,152,1,532}; *//*%FSM*/ class FSM { @@ -142,7 +142,7 @@ class FSM priority = 50.000000; to="Exit_FSM"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_Group getvariable [""Vcm_Disable"",false] || {!(side leader _group in VCM_SIDEENABLED)}"/*%FSM*/; + condition=/*%FSM*/"_Group getvariable [""Vcm_Disable"",false] || {!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ @@ -308,7 +308,7 @@ class FSM priority = 700.000000; to="Exit_FSM_1"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || (((units _Group) findIf {alive _x}) isEqualTo -1)"/*%FSM*/; + condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || {(((units _Group) findIf {alive _x}) isEqualTo -1)} || {!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ From 3d5ea88f7255851d24405d2e82fadc91620b4fb0 Mon Sep 17 00:00:00 2001 From: genesis92x Date: Sun, 25 Nov 2018 05:24:25 -0700 Subject: [PATCH 41/83] Vcom Driving --- Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm | 367 ++++++++++++++++++ Vcom/FSMS/AIDRIVEBEHAVIOR.fsm | 100 +++++ Vcom/Functions/VCM_Functions/fn_IsDriver.sqf | 28 ++ .../VCM_Functions/fn_MovePrediction.sqf | 22 ++ .../VCM_Functions/fn_VehicleDetection.sqf | 146 +++++++ Vcom/VcomInit.sqf | 5 +- Vcom/cfgFunctions.hpp | 8 + mission.sqm | Bin 2131 -> 1270 bytes 8 files changed, 675 insertions(+), 1 deletion(-) create mode 100644 Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm create mode 100644 Vcom/FSMS/AIDRIVEBEHAVIOR.fsm create mode 100644 Vcom/Functions/VCM_Functions/fn_IsDriver.sqf create mode 100644 Vcom/Functions/VCM_Functions/fn_MovePrediction.sqf create mode 100644 Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm new file mode 100644 index 0000000..09cc408 --- /dev/null +++ b/Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm @@ -0,0 +1,367 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; +item1[] = {"_UseAI_NO",4,218,-71.160217,944.333618,12.189287,980.293701,50.000000,"_UseAI NO"}; +item2[] = {"_UseAI_YES",4,218,25.820843,803.830933,115.820824,853.830933,49.000000,"_UseAI YES"}; +item3[] = {"Exit_FSM",1,250,-172.898788,944.885925,-100.633377,980.107056,0.000000,"Exit FSM"}; +item4[] = {"Set_Basic",2,250,47.992470,640.068420,137.992477,690.068420,0.000000,"Set Basic"}; +item5[] = {"Start_Unit_Cycle",3,250,-277.033295,537.786499,-187.033173,587.786499,0.000000,"Start Unit Cycle" \n ""}; +item6[] = {"InVehicle",4,218,-276.510803,634.950623,-186.510239,684.950623,50.000000,"InVehicle"}; +item7[] = {"IsDriver_Check",3,250,-279.560516,747.013977,-189.559814,797.014038,0.000000,"IsDriver Check"}; +item8[] = {"_",8,218,-567.255676,579.059387,-522.391418,605.396240,0.000000,""}; +item9[] = {"IsDriver",4,218,-578.212097,754.860107,-516.528442,785.182373,50.000000,"IsDriver"}; +item10[] = {"Driver_Checks",3,250,-589.049622,659.590881,-499.049805,709.590942,0.000000,"Driver Checks"}; +item11[] = {"Wait",4,218,-56.132523,638.493347,5.441658,674.040039,0.000000,"Wait"}; +item12[] = {"Dead",4,218,143.473557,376.974365,233.473541,426.974365,55.000000,"Dead"}; +item13[] = {"IsPlayer",4,218,32.574532,368.949005,122.574593,418.948975,60.000000,"IsPlayer"}; +item14[] = {"_UseAI_NO",4,218,-69.007370,370.299591,20.992760,420.299622,1000.000000,"_UseAI NO"}; +item15[] = {"NO_AI",1,250,-8.550960,247.924850,81.449020,297.924774,0.000000,"NO AI"}; +item16[] = {"DrivingAI",4,218,-722.849548,670.260925,-661.165894,700.583191,48.000000,"DrivingAI"}; +item17[] = {"Driving_Code_Exe",3,250,-867.473022,656.991272,-777.473206,706.991333,0.000000,"Driving Code" \n "Execute"}; +item18[] = {"Wait",4,218,-857.446228,573.621582,-788.383240,610.492249,0.000000,"Wait"}; +item19[] = {"",7,210,-822.051941,78.762360,-814.051941,86.762352,0.000000,""}; +item20[] = {"",7,210,292.207275,82.473511,300.207275,90.473503,0.000000,""}; +item21[] = {"",7,210,293.973633,578.915894,301.973633,586.915894,0.000000,""}; +item22[] = {"_",8,218,-259.642517,462.484131,-203.219254,498.278503,0.000000,""}; +item23[] = {"_",8,218,-255.439270,840.784729,-210.575119,867.121582,0.000000,""}; +item24[] = {"AirCheck",4,218,-722.944275,631.572998,-661.260620,661.895264,50.000000,"AirCheck"}; +item25[] = {"IsNilCheck",4,218,-727.288208,705.030579,-665.604553,735.352844,49.000000,"IsNilCheck"}; +item26[] = {"IsNilCheck",4,218,-177.272858,371.713593,-87.546654,424.469849,1001.000000,"IsNilCheck"}; +link0[] = {0,1}; +link1[] = {0,2}; +link2[] = {1,3}; +link3[] = {2,4}; +link4[] = {4,11}; +link5[] = {4,12}; +link6[] = {4,13}; +link7[] = {4,14}; +link8[] = {4,26}; +link9[] = {5,6}; +link10[] = {5,22}; +link11[] = {6,7}; +link12[] = {7,9}; +link13[] = {7,23}; +link14[] = {8,19}; +link15[] = {9,10}; +link16[] = {10,8}; +link17[] = {10,16}; +link18[] = {10,24}; +link19[] = {10,25}; +link20[] = {11,5}; +link21[] = {12,15}; +link22[] = {13,15}; +link23[] = {14,15}; +link24[] = {16,17}; +link25[] = {17,18}; +link26[] = {18,19}; +link27[] = {19,20}; +link28[] = {20,21}; +link29[] = {21,4}; +link30[] = {22,19}; +link31[] = {23,4}; +link32[] = {24,19}; +link33[] = {25,17}; +link34[] = {26,19}; +globals[] = {0.000000,0,0,0,0,640,480,2,302,6316128,1,-928.722717,437.508514,993.826660,-28.042513,1218,911,1}; +window[] = {2,-1,-1,-1,-1,1225,250,1647,250,3,1236}; +*//*%FSM*/ +class FSM +{ + fsmName = "AIDRIVEBEHAVIOR"; + class States + { + /*%FSM*/ + class Begin_State + { + name = "Begin_State"; + init = /*%FSM*/"_Unit = _this select 0;" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat format [""FSM RUNNING ON: %1"",_Unit];};" \n + "" \n + "_Unit setVariable [""VCOM_FSMRunning"",1,false];" \n + "_Unit setVariable [""VCOM_DriverDetectionIsDriver"",0,false];" \n + "" \n + "//Determine if this AI should even execute new code" \n + "_UseAI = _Unit getVariable ""VCOM_NOAI"";" \n + "if (isNil (""_UseAI"")) then {" \n + "_UseAI = 0;" \n + "_Unit setVariable [""VCOM_NOAI"",0,false];" \n + "};" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class _UseAI_NO + { + priority = 50.000000; + to="Exit_FSM"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_UseAI isEqualTo 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class _UseAI_YES + { + priority = 49.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_UseAI isEqualTo 0"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Exit_FSM + { + name = "Exit_FSM"; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + /*%FSM*/ + class Set_Basic + { + name = "Set_Basic"; + init = /*%FSM*/"_t = time;" \n + "_UseAI = _Unit getVariable ""VCOM_NOAI"";" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat ""Set Basic Hit!"";};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class IsNilCheck + { + priority = 1001.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"isNil ""_UseAI"""/*%FSM*/; + action=/*%FSM*/"_Unit setVariable [""VCOM_NOAI"",0,false];"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class _UseAI_NO + { + priority = 1000.000000; + to="NO_AI"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_UseAI isEqualTo 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class IsPlayer + { + priority = 60.000000; + to="NO_AI"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"isPlayer _Unit"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Dead + { + priority = 55.000000; + to="NO_AI"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!alive _Unit"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + priority = 0.000000; + to="Start_Unit_Cycle"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 2"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Start_Unit_Cycle + { + name = "Start_Unit_Cycle"; + init = /*%FSM*/"_t = time;" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat ""FSM: Vehicle Check"";};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class InVehicle + { + priority = 50.000000; + to="IsDriver_Check"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((vehicle _Unit) != _Unit)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class _ + { + priority = 0.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class IsDriver_Check + { + name = "IsDriver_Check"; + init = /*%FSM*/"_t = time;" \n + "" \n + "_CheckDriver = [_Unit] call VCOM_fnc_IsDriver;" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat ""FSM: Driver Check"";};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class IsDriver + { + priority = 50.000000; + to="Driver_Checks"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_CheckDriver isEqualTo 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class _ + { + priority = 0.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Driver_Checks + { + name = "Driver_Checks"; + init = /*%FSM*/"_t = time;" \n + "" \n + "_AlreadyExecuted = _Unit getvariable ""VCOM_DriverDetectionIsDriver"";" \n + "" \n + "_ClassName = typeOf (vehicle _Unit);" \n + "_CheckClass = _ClassName isKindOf ""AIR"";" \n + "" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat ""FSM: Script Running Check"";};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class AirCheck + { + priority = 50.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_CheckClass"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class IsNilCheck + { + priority = 49.000000; + to="Driving_Code_Exe"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"isNil ""_AlreadyExecuted"""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class DrivingAI + { + priority = 48.000000; + to="Driving_Code_Exe"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_AlreadyExecuted isEqualTo 0"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class _ + { + priority = 0.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class NO_AI + { + name = "NO_AI"; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + /*%FSM*/ + class Driving_Code_Exe + { + name = "Driving_Code_Exe"; + init = /*%FSM*/"_t = time;" \n + "" \n + "" \n + "" \n + " _Unit setVariable [""VCOM_DriverDetectionIsDriver"",1,false];" \n + " [_Unit] spawn VCOM_fnc_VehicleDetection;" \n + "" \n + "if (VCOM_DRIVE_DEBUG isEqualTo 1) then {systemchat ""FSM: Execute Code"";};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Wait + { + priority = 0.000000; + to="Set_Basic"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + }; + initState="Begin_State"; + finalStates[] = + { + "Exit_FSM", + "NO_AI", + }; +}; +/*%FSM*/ \ No newline at end of file diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm new file mode 100644 index 0000000..de16396 --- /dev/null +++ b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm @@ -0,0 +1,100 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; +item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; +item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; +item3[] = {"Wait",4,218,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item4[] = {"Driver_Check",4,4314,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; +link0[] = {0,1}; +link1[] = {1,2}; +link2[] = {2,3}; +link3[] = {2,4}; +link4[] = {3,2}; +link5[] = {4,2}; +globals[] = {0.000000,0,0,0,0,640,480,2,311,6316128,1,-355.467682,359.618988,1009.446472,559.648926,779,490,1}; +window[] = {0,-1,-1,-1,-1,844,182,1579,182,1,797}; +*//*%FSM*/ +class FSM +{ + fsmName = "AIDRIVEBEHAVIOR"; + class States + { + /*%FSM*/ + class Begin_State + { + name = "Begin_State"; + itemno = 0; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class True + { + itemno = 1; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Base_Rotation + { + name = "Base_Rotation"; + itemno = 2; + init = /*%FSM*/"//We want to set all the important variables here." \n + "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n + "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n + "_t = time;" \n + "private _DriverArray = [];" \n + "" \n + "private _Driver = objNull;" \n + "{" \n + " _Driver = (driver _x);" \n + " if (!(isNull _Driver) && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n + " {" \n + " _DriverArray pushback _x;" \n + " };" \n + "} foreach vehicles;" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Driver_Check + { + itemno = 4; + priority = 1.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 2}"/*%FSM*/; + action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 3; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 2"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + }; + initState="Begin_State"; + finalStates[] = + { + }; +}; +/*%FSM*/ \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf new file mode 100644 index 0000000..a6b8b5f --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf @@ -0,0 +1,28 @@ +/* + Author: Genesis + + Description: + Function for checking if AI is the driver. + + Parameter(s): + 0: Unit + + Returns: + NOTHING + Example1: unit call VCM_fnc_IsDriver; +*/ + +_NotDriver = 0; + +_Vehicle = (vehicle _this); + +_ActualDriver = driver _Vehicle; + +if (_this isEqualTo _ActualDriver) then +{ + + _NotDriver = 1; + +}; + +_NotDriver diff --git a/Vcom/Functions/VCM_Functions/fn_MovePrediction.sqf b/Vcom/Functions/VCM_Functions/fn_MovePrediction.sqf new file mode 100644 index 0000000..571f04b --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_MovePrediction.sqf @@ -0,0 +1,22 @@ +/* + Author: Genesis + + Description: + Movement Prediction base on velocity and multipler + + Parameter(s): + 0: unit + 1: multiplier + + Returns: + Predicted Position + Example1: [_Unit,4] call VCM_fnc_MovePrediction; +*/ +//Predict motion of an object, and return the predicted position +params ["_Unit","_Multiplier"]; +if (isNil "_Unit") exitWith {_predictPos = [0,0,0];_predictPos}; + +(getPosWorld _Unit) params ["_plrPosX","_plrPosY","_plrPosZ"]; +(velocity _Unit) params ["_velX","_velY"]; +private _predictPos = [(_plrPosX + (_velX * _Multiplier)),(_plrPosY + (_velY * _Multiplier)),_plrPosZ]; +_predictPos diff --git a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf new file mode 100644 index 0000000..7baebf1 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf @@ -0,0 +1,146 @@ +/* + Author: Freddo, Edited by Genesis + + Description: + Function for improving AI driving. AI drivers will avoid obstacles and units BETTER with this, at the cost of FPS. + + Parameter(s): + 0: unit array + + Returns: + NOTHING + Example1: unitarray spawn VCM_fnc_VehicleDetection; +*/ + +//This script aims to improve AI driving skills...It's basic. But it works. +{ + if !(isPlayer _x) then + { + private _GetVehicleVelocity = velocity _x; + if (!(_GetVehicleVelocity isEqualTo [0,0,0])) then + { + private _PredictPos = [_x,2.5] call VCM_fnc_MovePrediction; + _PredictPos set [2,0.1]; + if (VCM_Debug) then + { + _PredictPos spawn + { + private _arrow = "Sign_Arrow_Cyan_F" createVehicleLocal [0,0,0];_arrow setPos _this;sleep 2;deleteVehicle _arrow; + }; + }; + + //Lets check for obstacles and make sure the vehicle does not hit them + //Create an array of objects near predicted path + private _obstacles = _predictPos nearObjects ["ALL", 15]; + + + //Remove gates, bridges and units vehicle from obstacles + private _RemoveArray = []; + private _veh = objectParent _x; + { + if (_veh isEqualTo _x || (_x isKindOf "AllVehicles") || {["gate",(str _x)] call BIS_fnc_inString} || {["bridge",(str _x)] call BIS_fnc_inString}) then + { + _RemoveArray pushback _x; //We do this method to avoid indexing errors. + }; + } forEach _obstacles; + + //We do this method to avoid indexing errors. + { + private _Obj = _x; + private _Index = _obstacles findIf {_x isEqualTo _Obj}; + _obstacles deleteAt _Index; + } foreach _RemoveArray; + + private _hlprArray = []; + + { + + if !(_x getVariable ["VCM_AVOID", false] || {_x isKindOf "man"} || {_x isKindOf "Helper_Base_F"} || {_x isKindOf "Logic"}) then + { + // Vcom ignore this object until loop complete + _x setVariable ["VCM_AVOID", true]; + + // Positions to spawn helper objects + private _hlpPosArray = []; + + private _boundBox = boundingBoxReal _x; + private _p2 = _boundBox select 1; + + _p2 params ["_p2MaxX","_p2MaxY","_p2MaxZ"]; + + // Find corners of building bounding box + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); + // Get mid points of a building. + _hlpPosArray pushBack (_x modelToWorld [0,-_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [0,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,0,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,0,-_p2MaxZ + 0.1]); + + // Spawn helper objects (These act as additional points of contact that the AI will attempt to avoid) + { + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; + _hlpObj setVariable ["VCM_AVOID", true]; + _hlpObj setPosATL _x; + _hlpObj setDamage 1; + _hlpObj setObjectTextureGlobal [0, ""]; + _hlprArray pushBack _hlpObj; + } forEach _hlpPosArray; + + //Spawn debug objects + if (VCM_Debug) then + { + + { + + [_x select 0, _x select 1, 0.2] spawn + { + private _arrow = "Sign_Arrow_Large_F" createVehicle [0,0,0]; + _arrow setPos _this; + sleep 9; + deleteVehicle _arrow; + }; + + } forEach _hlpPosArray; + + }; + + + // Delete helper objects after some time + [_hlprArray, _obstacles] spawn + { + sleep 9; + { + deleteVehicle _x; + } forEach (_this select 0); + { + // Allow object to be considered again + _x setVariable ["VCM_AVOID", false]; + } forEach (_this select 1); + + }; + + }; + + } forEach _obstacles; + + + + //Avoid units. + private _Livingobstacles = _predictPos nearObjects ["MAN", 50]; + private _NearestUnit = [_Livingobstacles, _x, true,"Driving"] call VCM_fnc_ClstObj; + if (_NearestUnit distance2D _x < 50) then + { + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; + _hlpObj setDamage 1; + _hlpObj setVariable ["VCM_AVOID", true]; + _hlpObj setPosATL (getpos _NearestUnit); + _hlpObj setObjectTextureGlobal [0, ""]; + _hlpObj spawn {sleep 2; deletevehicle _this}; + }; + + }; + }; +} foreach _this; \ No newline at end of file diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 6c1b3e9..fe90e9c 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -65,6 +65,9 @@ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABL player addEventHandler ["Respawn",{_this spawn VCM_fnc_IRCHECK;}]; }; + [] execFSM "Vcom\FSMS\AIDRIVEBEHAVIOR.fsm"; + + while {true} do { if (Vcm_ActivateAI) then @@ -72,7 +75,7 @@ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABL { if (local _x && {simulationEnabled (leader _x)} && {!(isplayer (leader _x))} && {(leader _x) isKindOf "Man"}) then { - private _Grp = _x; + private _Grp = _x; if !(_Grp in VcmAI_ActiveList) then //{!(VCM_SIDEENABLED findIf {_x isEqualTo (side _Grp)} isEqualTo -1)} { if !(((units _Grp) findIf {alive _x}) isEqualTo -1) then diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 17de74c..a1b4dd9 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -113,6 +113,14 @@ class VCOM // group call VCM_fnc_WyptChk; class WyptChk {}; + // unit call VCM_fnc_IsDriver; + class IsDriver {}; + + //unit call VCM_fnc_VehicleDetection; + class VehicleDetection {}; + + //[unit,4] call VCM_fnc_MovePrediction; + class MovePrediction {}; }; }; diff --git a/mission.sqm b/mission.sqm index c141ab39afbfcdb2eb672859be763ae8ea0f306c..171835d6855a5f1777620bd00a88d974e882c646 100644 GIT binary patch literal 1270 zcmZux&ubGw6n--;Z4nQ8QSr1V5vr|FNaIMWJh*q!ptN!dJ%;F z0R@HjBjMo`eu_RsdizPec!wv-@fm?1q zXoqVfl!SSAP>O_AI$)N;4w{rjk&*@o_;dAQ%rpxvy4RNh{On|nTb6lm697UrlaWem zoJUYmcK~W3mrM(lxhzu5xF$?it%gRQ0ZCPduV@j~EN`L9lRP0zHj^Q?b8b6FhzZ#U z*7s{$wW3wKC1f)Y#$veV6KYix;~j6j%9f|)psH0zL|nra2Nqe%HG^qNO1lMjz`2c&-aYmT;Ci2XdekS9lz z(|J<{=Vn5c_E?fZc%V`tMF>trpy0A3pq){YR#<_Ze>v9I_aY%yqd+(>H^JjNtv@;nIoCIvCRf8cOq!nL!xVL*WMKFmeE$ z5xgpzv6a}3epcG$OvCY{8{bq(8^eT4OC#3pzs0Jpv#~%2A={R_x>z{lyR4c8W*qdW zIOK8~J#h?>eHRM%`QjxkuTuIosfF_y_I3>XzHL zR*Ov}Y~UB#IAjr`jyki+dZS^u+m{y$*&d!%b^)VYButHzUEh4bLkz4cgHkJ5mJJ1O zUH%a!gfI-SG;Ahr=V+tx&Q^qMvVXwl!;8|GpGP=_NDl_U3$h<2CBYzi3ge4L=kVU>=kE z`XVAhn9^)Ei&52X*_FznJEOj6)g6S~FGXt#N)Tz(9=x;##mJruy)wL6EuXbIijr#( zpW*Q&|87>xBFho@&jtO+^j}=^Y8uI7@Sy&+t3W(=^P}+`+qpL&vi`4k@8i5@adO zbCTp1OrsPmXAaC-s1xz%GRo5|OQ&~9kWw1bJmGhQSfebRB@v-60$Sp;5t3=~H#0E4 z7bXoa3+yW^OC_;1H@wL_dRE}Av+q|@n!`H?@b4;Az8{7Y6olcm3?m8pOs6KBFYQz>0ceo+-~ z1oKx=AQmBxyhn7pE+&;RhxVsWpWfcy0tWu0V5=GjupJ(nr6GiB)*PA?#VMI(SdJ@o zz2(?Qb!ov6`wN%66)n0$KMua=TBDk|FP~ZipjlXo0>2ArrR%InyMa(=HCyRxAw$NjP3@p^ZAX{9k&y)!G~#;_9Vlc z`f&|%b2>QmMd6{$atGm8a&NL;%pc~z0ezgtb{9X#k0VC!X)=nP*1hFebI&Fe{Nty*?E=fbU|HNjgY|4zJ6QBXSH8K zq9;h4P-ift@m^(T<|cD5jW7bK?ilpH3jrDT6_`{^?B4GWEbh8uf z74HUnSVok0iSxAilWzyVgT=FIA#WvDa;JLUp8H=9*1y%^@`XEq(jbZAX%YrASmhC3 z0y&KW8fK2W$aH(_*-L{=<6s8M8jw>m0>+Pbg?iquW-v>8)1fO@`Q<$PH#^Zj*X#sz zbesc=(YYuuLOiXoB45|4E(O=GUmsw>TTWoQrheM(T5gIch|?^d(ZN~otN;07F0M~K Q0z$e|^r24+#1}sQ0=UX1*#H0l From f52bb668a3db2169df86fbc10ce98d30cda15827 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 25 Nov 2018 20:59:05 +0100 Subject: [PATCH 42/83] Revamped IsDriver check Cut down processing time by 30% and made it return a Boolean instead of number. When used on units that are not in a vehicle, it will return false whereas earlier it would return 1 (true) --- Vcom/Functions/VCM_Functions/fn_IsDriver.sqf | 52 +++++++++----------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf index a6b8b5f..25487dd 100644 --- a/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf +++ b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf @@ -1,28 +1,24 @@ -/* - Author: Genesis - - Description: - Function for checking if AI is the driver. - - Parameter(s): - 0: Unit - - Returns: - NOTHING - Example1: unit call VCM_fnc_IsDriver; -*/ - -_NotDriver = 0; - -_Vehicle = (vehicle _this); - -_ActualDriver = driver _Vehicle; - -if (_this isEqualTo _ActualDriver) then -{ - - _NotDriver = 1; - -}; - -_NotDriver +/* + Author: Genesis, revamped by Freddo + + Description: + Checks if a unit is driver + + Parameter(s): + 0: OBJECT - Unit to check + + Returns: + BOOLEAN + +*/ + +params ["_unit"]; +private _rtrn = false; + +if (!isNull objectParent _unit && {driver vehicle _unit isEqualTo _unit}) exitWith +{ + _rtrn = true; + _rtrn +}; + +_rtrn From f1217fa4e15175bcbd2b47b665c709e6bfd8100d Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 25 Nov 2018 20:59:27 +0100 Subject: [PATCH 43/83] Renamed old AIDRIVEBEHAVIOR --- Vcom/FSMS/{AIDRIVEBEHAVIOR - Copy.fsm => AIDRIVEBEHAVIOR_old.fsm} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Vcom/FSMS/{AIDRIVEBEHAVIOR - Copy.fsm => AIDRIVEBEHAVIOR_old.fsm} (100%) diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR_old.fsm similarity index 100% rename from Vcom/FSMS/AIDRIVEBEHAVIOR - Copy.fsm rename to Vcom/FSMS/AIDRIVEBEHAVIOR_old.fsm From a433ce11f2abe3a77444a0855a7909441af55c12 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Mon, 26 Nov 2018 09:35:19 +0100 Subject: [PATCH 44/83] Removed unneeded variable Instead of setting a local variable containing the compiled code, it will simply call it. --- Vcom/VcomInit.sqf | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 1775ff1..5c62c11 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -10,21 +10,18 @@ if (isServer) then if !(_FileCheck isEqualTo "") then { - private _Settings = compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV3.hpp"; - [] call _Settings; + [] call compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV3.hpp"; [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; } else { - private _Settings = compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; - [] call _Settings; + [] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; }; } else { - private _Settings = compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; - [] call _Settings; + [] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; }; } From 7a36e65ff180385dd549b2359aa6be0b89c51698 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Mon, 26 Nov 2018 09:36:30 +0100 Subject: [PATCH 45/83] dial_log which configs are loaded To make it easier to check if userconfig/CBA settings is loading properly. --- Vcom/Functions/VCM_CBASettings.sqf | 2 ++ Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + userconfig/VCOM_AI/AISettingsV3.hpp | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index dc7c912..40de0ae 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -416,4 +416,6 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +diag_log "VCOM: Loaded CBA settings"; + }; \ No newline at end of file diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index c301952..972ba9e 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -134,4 +134,5 @@ Vcm_Settings = } forEach (units _this); }; + diag_log "VCOM: Loaded Default Settings"; }; \ No newline at end of file diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index efd7593..06857cb 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -128,6 +128,7 @@ Vcm_Settings = }; } forEach (units _this); - }; + }; + diag_log "VCOM: Loaded Userconfig"; }; \ No newline at end of file From de2590810d8ca098d0094df19b87109204a4a264 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Mon, 26 Nov 2018 09:37:24 +0100 Subject: [PATCH 46/83] typo artillery --- Vcom/Functions/VcomAI_DefaultSettings.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 972ba9e..3436b67 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -28,7 +28,7 @@ Vcm_Settings = VCM_ARTYRT = -(VCM_ARTYDELAY); VCM_ARTYSPREAD = 400; //Spread of artillery rounds; - //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ + //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI From cf60832ba20489aea1de7e86828c3982e83f990c Mon Sep 17 00:00:00 2001 From: genesis92x Date: Tue, 27 Nov 2018 03:52:40 -0700 Subject: [PATCH 47/83] Optimization Update --- Vcom/FSMS/AIDRIVEBEHAVIOR.fsm | 71 ++++++++++++++++-- Vcom/FSMS/SQUADBEH.fsm | 8 +- Vcom/Functions/VCM_Functions/fn_IsDriver.sqf | 26 ++++--- .../VCM_Functions/fn_VehicleDetection.sqf | 36 +++++---- Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + mission.sqm | Bin 1270 -> 1270 bytes userconfig/VCOM_AI/AISettingsV3.hpp | 1 + 7 files changed, 105 insertions(+), 38 deletions(-) diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm index de16396..c71de9b 100644 --- a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm +++ b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm @@ -4,15 +4,25 @@ item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; -item3[] = {"Wait",4,218,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; -item4[] = {"Driver_Check",4,4314,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; +item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; +item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; +item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; +item7[] = {"Wait",4,218,225.000000,925.000000,325.000000,975.000000,0.000000,"Wait"}; +item8[] = {"Enabled",4,218,300.000000,800.000000,400.000000,850.000000,100.000000,"Enabled"}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,3}; link3[] = {2,4}; -link4[] = {3,2}; -link5[] = {4,2}; -globals[] = {0.000000,0,0,0,0,640,480,2,311,6316128,1,-355.467682,359.618988,1009.446472,559.648926,779,490,1}; +link4[] = {2,5}; +link5[] = {3,2}; +link6[] = {4,2}; +link7[] = {5,6}; +link8[] = {6,7}; +link9[] = {6,8}; +link10[] = {7,6}; +link11[] = {8,2}; +globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; window[] = {0,-1,-1,-1,-1,844,182,1579,182,1,797}; *//*%FSM*/ class FSM @@ -57,7 +67,7 @@ class FSM "private _Driver = objNull;" \n "{" \n " _Driver = (driver _x);" \n - " if (!(isNull _Driver) && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n + " if (_x isKindOf ""allvehicles"" && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n " {" \n " _DriverArray pushback _x;" \n " };" \n @@ -66,6 +76,17 @@ class FSM precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ + class Disabled + { + itemno = 5; + priority = 100.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ /*%FSM*/ class Driver_Check { @@ -73,7 +94,7 @@ class FSM priority = 1.000000; to="Base_Rotation"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 2}"/*%FSM*/; + condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; }; /*%FSM*/ @@ -84,7 +105,41 @@ class FSM priority = 0.000000; to="Base_Rotation"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 2"/*%FSM*/; + condition=/*%FSM*/"time > _t + 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Waiting + { + name = "Waiting"; + itemno = 6; + init = /*%FSM*/"_t = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Enabled + { + itemno = 8; + priority = 100.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 7; + priority = 0.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 5"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ diff --git a/Vcom/FSMS/SQUADBEH.fsm b/Vcom/FSMS/SQUADBEH.fsm index b30a5b2..75dadbb 100644 --- a/Vcom/FSMS/SQUADBEH.fsm +++ b/Vcom/FSMS/SQUADBEH.fsm @@ -2,7 +2,7 @@ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; -item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; +item1[] = {"Cond",4,4314,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; @@ -42,7 +42,7 @@ item37[] = {"MinePlant",4,218,850.000000,125.000000,950.000000,175.000000,86.000 item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,425.000000,775.000000,475.000000,700.000000,"Exit Cond"}; -item41[] = {"Exit_FSM_2",1,4346,675.000000,525.000000,750.000000,575.000000,0.000000,"Exit FSM"}; +item41[] = {"Exit_FSM_2",1,250,675.000000,525.000000,750.000000,575.000000,0.000000,"Exit FSM"}; item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; item44[] = {"Combat_END",4,218,675.000000,375.000000,775.000000,425.000000,120.000000,"Combat END"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,372.537964,891.581177,900.278320,-9.793182,446,782,1}; -window[] = {0,-1,-1,-1,-1,1162,208,1509,208,1,464}; +globals[] = {0.000000,0,0,0,0,640,480,2,622,6316128,1,-123.220520,480.074341,1127.810303,70.015259,446,782,1}; +window[] = {0,-1,-1,-1,-1,1224,2338,3639,270,1,464}; *//*%FSM*/ class FSM { diff --git a/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf index 25487dd..d59b98f 100644 --- a/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf +++ b/Vcom/Functions/VCM_Functions/fn_IsDriver.sqf @@ -1,24 +1,28 @@ /* - Author: Genesis, revamped by Freddo + Author: Genesis Description: - Checks if a unit is driver + Function for checking if AI is the driver. Parameter(s): - 0: OBJECT - Unit to check + 0: Unit Returns: - BOOLEAN - + NOTHING + Example1: unit call VCM_fnc_IsDriver; */ -params ["_unit"]; -private _rtrn = false; +_NotDriver = 0; -if (!isNull objectParent _unit && {driver vehicle _unit isEqualTo _unit}) exitWith +_Vehicle = (vehicle _this); + +_ActualDriver = driver _Vehicle; + +if (_this isEqualTo _ActualDriver) then { - _rtrn = true; - _rtrn + + _NotDriver = 1; + }; -_rtrn +_NotDriver diff --git a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf index 7baebf1..45482e7 100644 --- a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf +++ b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf @@ -19,7 +19,7 @@ private _GetVehicleVelocity = velocity _x; if (!(_GetVehicleVelocity isEqualTo [0,0,0])) then { - private _PredictPos = [_x,2.5] call VCM_fnc_MovePrediction; + private _PredictPos = [_x,3] call VCM_fnc_MovePrediction; _PredictPos set [2,0.1]; if (VCM_Debug) then { @@ -31,7 +31,7 @@ //Lets check for obstacles and make sure the vehicle does not hit them //Create an array of objects near predicted path - private _obstacles = _predictPos nearObjects ["ALL", 15]; + private _obstacles = _predictPos nearObjects ["ALL", 25]; //Remove gates, bridges and units vehicle from obstacles @@ -81,12 +81,15 @@ // Spawn helper objects (These act as additional points of contact that the AI will attempt to avoid) { - private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; - _hlpObj setVariable ["VCM_AVOID", true]; - _hlpObj setPosATL _x; - _hlpObj setDamage 1; - _hlpObj setObjectTextureGlobal [0, ""]; - _hlprArray pushBack _hlpObj; + if ([_hlprArray, _x, true,"Driving"] call VCM_fnc_ClstObj distance2D _x > 1) then + { + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; + _hlpObj setVariable ["VCM_AVOID", true]; + _hlpObj setPos _x; + _hlpObj setDamage 1; + _hlpObj setObjectTextureGlobal [0, ""]; + _hlprArray pushBack _hlpObj; + }; } forEach _hlpPosArray; //Spawn debug objects @@ -94,8 +97,8 @@ { { - - [_x select 0, _x select 1, 0.2] spawn + private _ObjPos = getpos _x; + [_ObjPos select 0, _ObjPos select 1, 0.2] spawn { private _arrow = "Sign_Arrow_Large_F" createVehicle [0,0,0]; _arrow setPos _this; @@ -103,7 +106,7 @@ deleteVehicle _arrow; }; - } forEach _hlpPosArray; + } forEach _hlprArray; }; @@ -124,19 +127,22 @@ }; - } forEach _obstacles; + } forEach _obstacles; //Avoid units. - private _Livingobstacles = _predictPos nearObjects ["MAN", 50]; + private _Livingobstacles = _predictPos nearObjects ["MAN", 25]; + private _Unit = _x; + _LivingObstacles deleteAt (_Livingobstacles findIf {_x isEqualTo _Unit}); + private _NearestUnit = [_Livingobstacles, _x, true,"Driving"] call VCM_fnc_ClstObj; if (_NearestUnit distance2D _x < 50) then { - private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal [0,0,0]; _hlpObj setDamage 1; _hlpObj setVariable ["VCM_AVOID", true]; - _hlpObj setPosATL (getpos _NearestUnit); + _hlpObj setPos (getpos _NearestUnit); _hlpObj setObjectTextureGlobal [0, ""]; _hlpObj spawn {sleep 2; deletevehicle _this}; }; diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index c301952..2a12f95 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -11,6 +11,7 @@ Vcm_Settings = */ + Vcm_DrivingActivated = false;//Set this to false to disable VcomAI driving from executing. Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone diff --git a/mission.sqm b/mission.sqm index 171835d6855a5f1777620bd00a88d974e882c646..b967a3d2a65471691d8babcf3da4951bf3deae0b 100644 GIT binary patch delta 91 zcmeyy`Hgdf38UY0J7+h>$1mPFGq%q;<;s+jS;WB1$nAf6FJq{#(SAl9elvTf(gL7Z ukl@k1j5{xw+cP>>7}zr<7H6iU0)-iRYV8>rELuz$GbZucZEj*LVFm!Ft{jg5 delta 91 zcmeyy`Hgdf38P>0EGIWc7sshijQ4G?xH6?=7BMh0YKSq}GoGuq+s_y;e$S4nv;Zjf u>Vbeg;{$eWd&c;P?{-Xy#hEFoK;c`aYW9o_41Sv#*KT#%zqyIAgc$%vCmh}Y diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index efd7593..c871be9 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -11,6 +11,7 @@ Vcm_Settings = */ + Vcm_DrivingActivated = false;//Set this to false to disable VcomAI driving from executing. Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone From 83016378a4bdbff31b48a644541fc096cc922a26 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 28 Nov 2018 08:37:36 +0100 Subject: [PATCH 48/83] Ignore isKindOf "AIR" Considering they mostly don't care about obstacles --- Vcom/FSMS/AIDRIVEBEHAVIOR.fsm | 308 +++++++++++++++++----------------- 1 file changed, 154 insertions(+), 154 deletions(-) diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm index c71de9b..3a8b6ae 100644 --- a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm +++ b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm @@ -1,155 +1,155 @@ -/*%FSM*/ -/*%FSM*/ -/* -item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; -item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; -item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; -item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; -item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; -item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; -item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; -item7[] = {"Wait",4,218,225.000000,925.000000,325.000000,975.000000,0.000000,"Wait"}; -item8[] = {"Enabled",4,218,300.000000,800.000000,400.000000,850.000000,100.000000,"Enabled"}; -link0[] = {0,1}; -link1[] = {1,2}; -link2[] = {2,3}; -link3[] = {2,4}; -link4[] = {2,5}; -link5[] = {3,2}; -link6[] = {4,2}; -link7[] = {5,6}; -link8[] = {6,7}; -link9[] = {6,8}; -link10[] = {7,6}; -link11[] = {8,2}; -globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; -window[] = {0,-1,-1,-1,-1,844,182,1579,182,1,797}; -*//*%FSM*/ -class FSM -{ - fsmName = "AIDRIVEBEHAVIOR"; - class States - { - /*%FSM*/ - class Begin_State - { - name = "Begin_State"; - itemno = 0; - init = /*%FSM*/""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class True - { - itemno = 1; - priority = 0.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Base_Rotation - { - name = "Base_Rotation"; - itemno = 2; - init = /*%FSM*/"//We want to set all the important variables here." \n - "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n - "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n - "_t = time;" \n - "private _DriverArray = [];" \n - "" \n - "private _Driver = objNull;" \n - "{" \n - " _Driver = (driver _x);" \n - " if (_x isKindOf ""allvehicles"" && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n - " {" \n - " _DriverArray pushback _x;" \n - " };" \n - "} foreach vehicles;" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Disabled - { - itemno = 5; - priority = 100.000000; - to="Waiting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!Vcm_DrivingActivated"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Driver_Check - { - itemno = 4; - priority = 1.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; - action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Wait - { - itemno = 3; - priority = 0.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 1"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Waiting - { - name = "Waiting"; - itemno = 6; - init = /*%FSM*/"_t = time;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Enabled - { - itemno = 8; - priority = 100.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"Vcm_DrivingActivated"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Wait - { - itemno = 7; - priority = 0.000000; - to="Waiting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 5"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - }; - initState="Begin_State"; - finalStates[] = - { - }; -}; +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; +item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; +item2[] = {"Base_Rotation",2,4346,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; +item3[] = {"Wait",4,218,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; +item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; +item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; +item7[] = {"Wait",4,218,225.000000,925.000000,325.000000,975.000000,0.000000,"Wait"}; +item8[] = {"Enabled",4,218,300.000000,800.000000,400.000000,850.000000,100.000000,"Enabled"}; +link0[] = {0,1}; +link1[] = {1,2}; +link2[] = {2,3}; +link3[] = {2,4}; +link4[] = {2,5}; +link5[] = {3,2}; +link6[] = {4,2}; +link7[] = {5,6}; +link8[] = {6,7}; +link9[] = {6,8}; +link10[] = {7,6}; +link11[] = {8,2}; +globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; +window[] = {0,-1,-1,-1,-1,688,26,1423,26,1,797}; +*//*%FSM*/ +class FSM +{ + fsmName = "AIDRIVEBEHAVIOR"; + class States + { + /*%FSM*/ + class Begin_State + { + name = "Begin_State"; + itemno = 0; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class True + { + itemno = 1; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Base_Rotation + { + name = "Base_Rotation"; + itemno = 2; + init = /*%FSM*/"//We want to set all the important variables here." \n + "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n + "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n + "_t = time;" \n + "private _DriverArray = [];" \n + "" \n + "private _Driver = objNull;" \n + "{" \n + " _Driver = (driver _x);" \n + " if (_x isKindOf ""allvehicles"" && {!(_x isKindOf ""AIR"")} && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n + " {" \n + " _DriverArray pushback _x;" \n + " };" \n + "} foreach vehicles;" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Disabled + { + itemno = 5; + priority = 100.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Driver_Check + { + itemno = 4; + priority = 1.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; + action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 3; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Waiting + { + name = "Waiting"; + itemno = 6; + init = /*%FSM*/"_t = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Enabled + { + itemno = 8; + priority = 100.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 7; + priority = 0.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 5"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + }; + initState="Begin_State"; + finalStates[] = + { + }; +}; /*%FSM*/ \ No newline at end of file From d3316287c9e3fc09ebda09ea9bdeb2075291bdf4 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Thu, 29 Nov 2018 16:49:03 +0100 Subject: [PATCH 49/83] CBA settings bugfix It would appear that certain settings set no variables. May resolve portions of #51 --- Vcom/Functions/VCM_CBASettings.sqf | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 40de0ae..6d1e6dc 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -4,7 +4,7 @@ waitUntil {!isNil "CBAACT"}; if !(CBAACT) exitwith {}; [ - "Vcm_ActivateAI", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "VCM_ActivateAI", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "CHECKBOX", // setting type "Vcom Active", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. @@ -12,7 +12,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; - Vcm_ActivateAI = _value; + VCM_ActivateAI = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -21,7 +21,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "Enable Debug Mode. Mostly systemchat messages.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - false,// data for this setting: + false,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -86,7 +86,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "AI generate new waypoints to flank.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: + true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -99,7 +99,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "AI change formations based on location.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: + true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -112,7 +112,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "AI impacted by Vcom skill settings.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: + true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -138,7 +138,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "AI Ragdoll when hit?", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: + true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -290,6 +290,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_Debug = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -329,6 +330,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_OnePhase = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -341,6 +343,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_2PhWithoutFO = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -353,6 +356,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_Acc = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -365,6 +369,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_Safe = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -377,6 +382,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_Monogamy = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -389,6 +395,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_Amount = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -401,6 +408,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_ShellView = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; @@ -413,6 +421,7 @@ if !(CBAACT) exitwith {}; true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; + RydFFE_FoAccGain = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; From 7eea68afce2fecf5744e642a182d9a5f5b9aeae9 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Thu, 29 Nov 2018 17:13:19 +0100 Subject: [PATCH 50/83] Moved AIDRIVEBEHAVIOR.fsm to Functions Library --- Vcom/FSMS/{AIDRIVEBEHAVIOR.fsm => fn_AIDRIVEBEHAVIOR.fsm} | 0 Vcom/VcomInit.sqf | 2 +- Vcom/cfgFunctions.hpp | 6 ++++++ 3 files changed, 7 insertions(+), 1 deletion(-) rename Vcom/FSMS/{AIDRIVEBEHAVIOR.fsm => fn_AIDRIVEBEHAVIOR.fsm} (100%) diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm similarity index 100% rename from Vcom/FSMS/AIDRIVEBEHAVIOR.fsm rename to Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 0aff568..8a43a6c 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -62,7 +62,7 @@ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABL player addEventHandler ["Respawn",{_this spawn VCM_fnc_IRCHECK;}]; }; - [] execFSM "Vcom\FSMS\AIDRIVEBEHAVIOR.fsm"; + [] spawn VCM_fnc_AIDRIVEBEHAVIOR; while {true} do diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index e89b8ae..2e8ed9c 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -11,6 +11,12 @@ class VCOM { ext = ".fsm"; }; + + // [] spawn VCM_fnc_AIDRIVEBEHAVIOR + class AIDRIVEBEHAVIOR + { + ext = ".fsm"; + }; }; class Functions From e8885480087d4892af3397c47cc8435b7a546c1e Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Thu, 29 Nov 2018 17:33:38 +0100 Subject: [PATCH 51/83] VCOM Driving CBA integration Multiple options can now be configured in CBA and userconfig. - VCM_DrivingDelay - VCM_DrivingActivated - VCM_DrivingDist --- Vcom/FSMS/AIDRIVEBEHAVIOR.fsm | 155 ++++++++++++++++++ Vcom/Functions/VCM_CBASettings.sqf | 47 +++++- .../VCM_Functions/fn_VehicleDetection.sqf | 2 +- Vcom/Functions/VcomAI_DefaultSettings.sqf | 7 +- userconfig/VCOM_AI/AISettingsV3.hpp | 7 +- 5 files changed, 214 insertions(+), 4 deletions(-) create mode 100644 Vcom/FSMS/AIDRIVEBEHAVIOR.fsm diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm new file mode 100644 index 0000000..1767773 --- /dev/null +++ b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm @@ -0,0 +1,155 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; +item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; +item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; +item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; +item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; +item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; +item7[] = {"Wait",4,218,225.000000,925.000000,325.000000,975.000000,0.000000,"Wait"}; +item8[] = {"Enabled",4,218,300.000000,800.000000,400.000000,850.000000,100.000000,"Enabled"}; +link0[] = {0,1}; +link1[] = {1,2}; +link2[] = {2,3}; +link3[] = {2,4}; +link4[] = {2,5}; +link5[] = {3,2}; +link6[] = {4,2}; +link7[] = {5,6}; +link8[] = {6,7}; +link9[] = {6,8}; +link10[] = {7,6}; +link11[] = {8,2}; +globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; +window[] = {0,-1,-1,-1,-1,884,1989,3386,222,1,797}; +*//*%FSM*/ +class FSM +{ + fsmName = "AIDRIVEBEHAVIOR"; + class States + { + /*%FSM*/ + class Begin_State + { + name = "Begin_State"; + itemno = 0; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class True + { + itemno = 1; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Base_Rotation + { + name = "Base_Rotation"; + itemno = 2; + init = /*%FSM*/"//We want to set all the important variables here." \n + "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n + "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n + "_t = time;" \n + "private _DriverArray = [];" \n + "" \n + "private _Driver = objNull;" \n + "{" \n + " _Driver = (driver _x);" \n + " if (_x isKindOf ""allvehicles"" && {!(_x isKindOf ""AIR"")} && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n + " {" \n + " _DriverArray pushback _x;" \n + " };" \n + "} foreach vehicles;" \n + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Disabled + { + itemno = 5; + priority = 100.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Driver_Check + { + itemno = 4; + priority = 1.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; + action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 3; + priority = 0.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + VCM_DrivingDelay"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Waiting + { + name = "Waiting"; + itemno = 6; + init = /*%FSM*/"_t = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Enabled + { + itemno = 8; + priority = 100.000000; + to="Base_Rotation"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"Vcm_DrivingActivated"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + itemno = 7; + priority = 0.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 5"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + }; + initState="Begin_State"; + finalStates[] = + { + }; +}; +/*%FSM*/ \ No newline at end of file diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 6d1e6dc..64ab2b9 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -266,7 +266,52 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; -//Ryd FFE settings +////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////VCOM Driving Settings//////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////// + +[ + "VCM_DrivingActivated", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + "Enable Enhanced AI Driving (Experimental)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. + false,// data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_DrivingActivated = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_DrivingDelay", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["Script cycle time", "How often the script will look for obstacles"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0.5,5,1,1], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_DrivingDelay = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_DrivingDist", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["Distance to search for obstacles", "How far from predicted position to search for obstacles"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [5,30,25,1], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_DrivingDist = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////Ryd FFE settings///////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////// [ "RydFFE_Active", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. diff --git a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf index 45482e7..28f35d7 100644 --- a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf +++ b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf @@ -31,7 +31,7 @@ //Lets check for obstacles and make sure the vehicle does not hit them //Create an array of objects near predicted path - private _obstacles = _predictPos nearObjects ["ALL", 25]; + private _obstacles = _predictPos nearObjects ["ALL", VCM_DrivingDist]; // VCM_DrivingDist is search distance //Remove gates, bridges and units vehicle from obstacles diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index d5a2c6a..1a9920e 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -11,7 +11,6 @@ Vcm_Settings = */ - Vcm_DrivingActivated = false;//Set this to false to disable VcomAI driving from executing. Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone @@ -46,6 +45,12 @@ Vcm_Settings = VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. + //VCOM DRIVING. Experimental feature + + Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. + VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. + VCM_DrivingDelay = 1; // How often the script should look for obstacles + //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]]; diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index a1d2ff5..466055e 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -11,7 +11,6 @@ Vcm_Settings = */ - Vcm_DrivingActivated = false;//Set this to false to disable VcomAI driving from executing. Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone @@ -43,6 +42,12 @@ Vcm_Settings = VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. + + //VCOM DRIVING. Experimental feature + + Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. + VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. + VCM_DrivingDelay = 1; // How often the script should look for obstacles //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY From 6331b26d132772b5851326ee62bff291bd699182 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 4 Dec 2018 21:39:28 +0100 Subject: [PATCH 52/83] Formatting changes, minor optimizations --- Vcom/RYD_FFE/FFE.sqf | 133 +++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf index 6add2b3..a7f4d6f 100644 --- a/Vcom/RYD_FFE/FFE.sqf +++ b/Vcom/RYD_FFE/FFE.sqf @@ -76,7 +76,7 @@ if (RydFFE_ShellView) then {[] spawn RYD_fnc_Shellview}; while {RydFFE_Active} do { - if (RydFFE_Manual) then {waitUntil {sleep 0.1;((RydFFE_Fire) or not (RydFFE_Manual))};RydFFE_Fire = false}; + if (RydFFE_Manual) then {waitUntil {sleep 0.1;((RydFFE_Fire) || !(RydFFE_Manual))};RydFFE_Fire = false}; { _side = _x; @@ -93,116 +93,115 @@ while {RydFFE_Active} do else { _eSides set [(count _eSides),_x] - } - } - foreach _sides; + }; + } foreach _sides; if (({((side _x) == _side)} count AllGroups) > 0) then { + _artyGroups = []; _enemies = []; _friends = []; { + _gp = _x; - if ((side _gp) == _side && {not (_gp in RydFFE_NoControl)}) then + if ((side _gp) == _side && {!(_gp in RydFFE_NoControl)}) then { + { - if ((toLower (typeOf (vehicle _x))) in _allArty) exitWith + + if ( + (toLower (typeOf (vehicle _x))) in _allArty && + {!(_gp in _artyGroups)} + ) + exitWith { - if not (_gp in _artyGroups) then + if !(_gp in _artyGroups) then { _artyGroups pushBack _gp } + } - } - foreach (units _gp) + + } foreach (units _gp) + }; _isCiv = false; if ((toLower (faction (leader _gp))) in _civF) then {_isCiv = true}; - if not (_isCiv) then + if (!_isCiv && {!(isNull _gp)} && {(alive (leader _gp))}) then { - if (not (isNull _gp) and (alive (leader _gp))) then + + if ((side _gp) in _eSides && {!(_gp in _enemies)}) then { - if ((side _gp) in _eSides) then - { - if not (_gp in _enemies) then - { - _enemies pushBack _gp; - } - } - else + _enemies pushBack _gp; + } + else + { + if ((side _gp) in _fSides && {!(_gp in _friends)}) then { - if ((side _gp) in _fSides) then + _friends pushBack _gp; + if ((toLower (typeOf (leader _x))) in RydFFE_FOClass && {(count RydFFE_FO) > 0} && {!(_gp in RydFFE_FO)}) then { - if not (_gp in _friends) then - { - _friends pushBack _gp; - if ((toLower (typeOf (leader _x))) in RydFFE_FOClass) then - { - if ((count RydFFE_FO) > 0) then - { - if not (_gp in RydFFE_FO) then - { - RydFFE_FO pushBack _gp - } - } - } - } + RydFFE_FO pushBack _gp; } + } + } + } - } - foreach allGroups; + + } foreach allGroups; _knEnemies = []; { + { + _eVeh = vehicle _x; { - if not ((toLower (faction (leader _x))) in _civF) then + if + ( + !((toLower (faction (leader _x))) in _civF) && + {(count RydFFE_FO) == 0 || (_x in RydFFE_FO)} && + {(_x knowsAbout _eVeh) >= 0.05} && + {!(_eVeh in _knEnemies)} + ) + then { - if (((count RydFFE_FO) == 0) or (_x in RydFFE_FO)) then - { - if ((_x knowsAbout _eVeh) >= 0.05) then - { - if not (_eVeh in _knEnemies) then - { - _eVeh setVariable ["RydFFE_MyFO",(leader _x)]; - _knEnemies pushBack _eVeh - } - } - } - } - } - foreach _friends - } - foreach (units _x) - } - foreach _enemies; + _eVeh setVariable ["RydFFE_MyFO",(leader _x)]; + _knEnemies pushBack _eVeh; + }; + + } foreach _friends; + + } foreach (units _x); + + } foreach _enemies; _enArmor = []; { - if ((_x isKindOf "Tank") or (_x isKindOf "Wheeled_APC")) then + if ((_x isKindOf "Tank") || {_x isKindOf "Wheeled_APC"}) then { - if not (_x in _enArmor) then + if !(_x in _enArmor) then { _enArmor pushBack _x - } - } - } - foreach _knEnemies; + }; + + }; + + } foreach _knEnemies; [_artyGroups,RydFFE_ArtyShells] call RYD_fnc_ArtyPrep; - [_artyGroups,_knEnemies,_enArmor,_friends,RydFFE_Debug,RydFFE_Amount] call RYD_fnc_CFF + [_artyGroups,_knEnemies,_enArmor,_friends,RydFFE_Debug,RydFFE_Amount] call RYD_fnc_CFF; } } foreach _sides; @@ -222,13 +221,13 @@ while {RydFFE_Active} do if (isNull _x) then { _shells set [_foreachIndex,0] - } - } - } - foreach _shells; + }; + }; + } foreach _shells; _shells = _shells - [0]; missionNameSpace setVariable ["RydFFE_FiredShells",_shells]; - _allArty = [_allArty] call RYD_fnc_AutoConfig + _allArty = [_allArty] call RYD_fnc_AutoConfig; + }; \ No newline at end of file From 4ba552dec1503dd73f9926cae1fcebb90e7b5913 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 4 Dec 2018 21:52:34 +0100 Subject: [PATCH 53/83] Disable artillery per side --- Vcom/FSMS/fn_SQUADBEH.fsm | 15 ++++++++------- Vcom/Functions/VCM_CBASettings.sqf | 13 +++++++++++++ Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf | 4 ++-- Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + Vcom/RYD_FFE/FFE.sqf | 2 +- userconfig/VCOM_AI/AISettingsV3.hpp | 1 + 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index f3f37de..a4da78e 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; @@ -6,7 +6,7 @@ item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Co item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; -item5[] = {"Exit_Cond",4,4314,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; +item5[] = {"Exit_Cond",4,218,-100.000000,475.000000,0.000000,525.000000,700.000000,"Exit Cond"}; item6[] = {"Exit_FSM_1",1,250,-250.000000,475.000000,-175.000000,525.000000,0.000000,"Exit FSM"}; item7[] = {"Simulation_Pause",4,218,250.000000,475.000000,350.000000,525.000000,990.000000,"Simulation Pause"}; item8[] = {"Simulation_Pause",2,250,325.000000,525.000000,425.000000,575.000000,0.000000,"Simulation Pause"}; @@ -27,7 +27,7 @@ item22[] = {"Combat",4,218,675.000000,225.000000,775.000000,275.000000,100.00000 item23[] = {"Combat_Brain",2,250,870.650879,303.704590,970.650879,353.704590,0.000000,"Combat Brain"}; item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110.000000,"Combat BEGIN"}; item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; -item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; +item26[] = {"Arty_Check",4,4314,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-456.256287,494.413696,1020.131226,-53.166660,514,782,1}; -window[] = {0,-1,-1,-1,-1,1106,2073,3374,152,1,532}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,789.726196,1401.050415,784.487915,-145.581879,514,782,1}; +window[] = {0,-1,-1,-1,-1,1032,78,1379,78,1,532}; *//*%FSM*/ class FSM { @@ -654,7 +654,8 @@ class FSM to="Return"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_WaypointGen + 900 < time && {VCM_ADVANCEDMOVEMENT}"/*%FSM*/; - action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;_WaypointGen = time;" \n + action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;" \n + "_WaypointGen = time;" \n "" \n "if (VCM_Debug) then {systemchat ""WAYPOINT GENERATION"";};"/*%FSM*/; }; @@ -827,7 +828,7 @@ class FSM priority = 84.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"VCM_ARTYENABLE && {(_ArtyT + VCM_ARTYDELAY) < time} && {!(_NearestEnemy isequalto [0,0,0])} && {count (units (group _NearestEnemy)) > 2}"/*%FSM*/; + condition=/*%FSM*/"VCM_ARTYENABLE && {(_ArtyT + VCM_ARTYDELAY) < time} && {side _Group in VCM_ARTYSIDES} && {!(_NearestEnemy isEqualTo [0,0,0])} && {count (units (group _NearestEnemy)) > 2}"/*%FSM*/; action=/*%FSM*/"[_Group,(group _NearestEnemy)] call VCM_fnc_ArtyCall;" \n "switch ((side _Group)) do {" \n " case west: {VCM_ARTYWT = time;};" \n diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 6d1e6dc..94cb9bd 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -55,6 +55,19 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +[ + "VCM_ARTYSIDES", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "LIST", // setting type + "Sides that will use FFE/VCOM Artillery", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [[[west,east,resistance],[west,east],[west],[east],[resistance],[resistance,west],[resistance,east]],[["West, East, Resistance"],["West, East"],["West"],["East"],["Resistance"],["Resistance, West"],["Resistance, East"]],0], // data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_ARTYSIDES = _this; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + [ "VCM_StealVeh", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "CHECKBOX", // setting type diff --git a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf index 0efd75a..232fdcb 100644 --- a/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ArtyCall.sqf @@ -30,7 +30,7 @@ private _CallSide = (side _callGrp); if !(_artyChk isEqualTo 1) then { VCM_ARTYLST deleteAt (VCM_ARTYLST findif {_veh isEqualTo _x}); - }; + }; }; } foreach VCM_ARTYLST; @@ -38,7 +38,7 @@ private _CallSide = (side _callGrp); //Next let's only select AI units who are on our side or friendly. private _artyArray = []; { - if ([(side _x),_CallSide] call BIS_fnc_sideIsFriendly) then + if ([(side _x),_CallSide] call BIS_fnc_sideIsFriendly && {side _x in VCM_ARTYSIDES}) then { _artyArray pushback _x; }; diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 3436b67..d409682 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -21,6 +21,7 @@ Vcm_Settings = //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. + VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. VCM_ARTYDELAY = 300; //Delay between squads requesting artillery VCM_ARTYWT = -(VCM_ARTYDELAY); diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf index a7f4d6f..17d1177 100644 --- a/Vcom/RYD_FFE/FFE.sqf +++ b/Vcom/RYD_FFE/FFE.sqf @@ -107,7 +107,7 @@ while {RydFFE_Active} do _gp = _x; - if ((side _gp) == _side && {!(_gp in RydFFE_NoControl)}) then + if ((side _gp) == _side && {!(_gp in RydFFE_NoControl)} && {(side _gp) in VCM_ARTYSIDES}) then { { diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 06857cb..bd6e8cc 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -22,6 +22,7 @@ Vcm_Settings = VCM_ARTYWT = -(VCM_ARTYDELAY); VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); + VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery VCM_ARTYSPREAD = 400; //Spread of artillery rounds; //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; From 0788e9b340676179bd9753b5f72bce56a34e7b83 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 4 Dec 2018 23:18:29 +0100 Subject: [PATCH 54/83] No hit reactions if ACE unconscious active #38 --- Vcom/Functions/VCM_Functions/fn_AIHIT.sqf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf index f77d655..d0b37a1 100644 --- a/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf +++ b/Vcom/Functions/VCM_Functions/fn_AIHIT.sqf @@ -23,7 +23,11 @@ Meant to be called from a "HIT" eventhandler */ params ["_unit", "_source", "_damage", "_instigator"]; -if !(isNull objectParent _unit) exitWith {}; +if +( + !(isNull objectParent _unit) || + {(missionNamespace getvariable ["ace_medical_enableUnconsciousnessAI", 0]) != 0} //Check if ACE3 makes AI go unconscious +) exitWith {}; //Lay down if (unitPos _unit isEqualTo "AUTO") then From 75f35a622415155cc9b37df7d7fe49f961df4451 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 4 Dec 2018 23:29:08 +0100 Subject: [PATCH 55/83] Duplicate file? Somehow? --- Vcom/FSMS/AIDRIVEBEHAVIOR.fsm | 155 ------------------------------- Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm | 8 +- 2 files changed, 4 insertions(+), 159 deletions(-) delete mode 100644 Vcom/FSMS/AIDRIVEBEHAVIOR.fsm diff --git a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm deleted file mode 100644 index 1767773..0000000 --- a/Vcom/FSMS/AIDRIVEBEHAVIOR.fsm +++ /dev/null @@ -1,155 +0,0 @@ -/*%FSM*/ -/*%FSM*/ -/* -item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; -item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; -item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; -item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; -item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; -item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; -item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; -item7[] = {"Wait",4,218,225.000000,925.000000,325.000000,975.000000,0.000000,"Wait"}; -item8[] = {"Enabled",4,218,300.000000,800.000000,400.000000,850.000000,100.000000,"Enabled"}; -link0[] = {0,1}; -link1[] = {1,2}; -link2[] = {2,3}; -link3[] = {2,4}; -link4[] = {2,5}; -link5[] = {3,2}; -link6[] = {4,2}; -link7[] = {5,6}; -link8[] = {6,7}; -link9[] = {6,8}; -link10[] = {7,6}; -link11[] = {8,2}; -globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; -window[] = {0,-1,-1,-1,-1,884,1989,3386,222,1,797}; -*//*%FSM*/ -class FSM -{ - fsmName = "AIDRIVEBEHAVIOR"; - class States - { - /*%FSM*/ - class Begin_State - { - name = "Begin_State"; - itemno = 0; - init = /*%FSM*/""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class True - { - itemno = 1; - priority = 0.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Base_Rotation - { - name = "Base_Rotation"; - itemno = 2; - init = /*%FSM*/"//We want to set all the important variables here." \n - "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n - "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n - "_t = time;" \n - "private _DriverArray = [];" \n - "" \n - "private _Driver = objNull;" \n - "{" \n - " _Driver = (driver _x);" \n - " if (_x isKindOf ""allvehicles"" && {!(_x isKindOf ""AIR"")} && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n - " {" \n - " _DriverArray pushback _x;" \n - " };" \n - "} foreach vehicles;" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Disabled - { - itemno = 5; - priority = 100.000000; - to="Waiting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!Vcm_DrivingActivated"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Driver_Check - { - itemno = 4; - priority = 1.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; - action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Wait - { - itemno = 3; - priority = 0.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + VCM_DrivingDelay"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Waiting - { - name = "Waiting"; - itemno = 6; - init = /*%FSM*/"_t = time;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Enabled - { - itemno = 8; - priority = 100.000000; - to="Base_Rotation"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"Vcm_DrivingActivated"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Wait - { - itemno = 7; - priority = 0.000000; - to="Waiting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 5"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - }; - initState="Begin_State"; - finalStates[] = - { - }; -}; -/*%FSM*/ \ No newline at end of file diff --git a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm index 3a8b6ae..1767773 100644 --- a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm +++ b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm @@ -3,8 +3,8 @@ /* item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; -item2[] = {"Base_Rotation",2,4346,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; -item3[] = {"Wait",4,218,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; +item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; @@ -23,7 +23,7 @@ link9[] = {6,8}; link10[] = {7,6}; link11[] = {8,2}; globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; -window[] = {0,-1,-1,-1,-1,688,26,1423,26,1,797}; +window[] = {0,-1,-1,-1,-1,884,1989,3386,222,1,797}; *//*%FSM*/ class FSM { @@ -105,7 +105,7 @@ class FSM priority = 0.000000; to="Base_Rotation"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"time > _t + 1"/*%FSM*/; + condition=/*%FSM*/"time > _t + VCM_DrivingDelay"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ From 72e3417856395697639f4c9d222b95a6b385b0fe Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Tue, 4 Dec 2018 23:54:53 +0100 Subject: [PATCH 56/83] Fixed VCM_DrivingDelay --- Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm index 1767773..7c35718 100644 --- a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm +++ b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; @@ -23,7 +23,7 @@ link9[] = {6,8}; link10[] = {7,6}; link11[] = {8,2}; globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; -window[] = {0,-1,-1,-1,-1,884,1989,3386,222,1,797}; +window[] = {0,-1,-1,-1,-1,896,234,1631,234,1,797}; *//*%FSM*/ class FSM { @@ -94,7 +94,7 @@ class FSM priority = 1.000000; to="Base_Rotation"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + 1}"/*%FSM*/; + condition=/*%FSM*/"count _DriverArray > 0 && {time > _t + VCM_DrivingDelay}"/*%FSM*/; action=/*%FSM*/"_DriverArray call VCM_fnc_VehicleDetection"/*%FSM*/; }; /*%FSM*/ From 90e25bc0a2d64fadcadac1e7526cf03e593bb8b2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Wed, 5 Dec 2018 01:02:48 +0100 Subject: [PATCH 57/83] Added driver execution limit Only a certain amount of drivers will have their code executed on each cycle. Added function VCM_fnc_UpdateDrivers --- Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm | 15 +- Vcom/Functions/VCM_CBASettings.sqf | 13 + .../VCM_Functions/fn_UpdateDrivers.sqf | 41 ++++ .../VCM_Functions/fn_VehicleDetection.sqf | 227 +++++++++--------- Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + Vcom/cfgFunctions.hpp | 3 + userconfig/VCOM_AI/AISettingsV3.hpp | 1 + 7 files changed, 172 insertions(+), 129 deletions(-) create mode 100644 Vcom/Functions/VCM_Functions/fn_UpdateDrivers.sqf diff --git a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm index 7c35718..e090e07 100644 --- a/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm +++ b/Vcom/FSMS/fn_AIDRIVEBEHAVIOR.fsm @@ -4,7 +4,7 @@ item0[] = {"Begin_State",0,250,27.230743,932.382141,117.230728,982.382141,0.000000,"Begin State"}; item1[] = {"True",8,218,25.000000,850.000000,125.000000,900.000000,0.000000,"True"}; item2[] = {"Base_Rotation",2,250,25.000000,750.000000,125.000000,800.000000,0.000000,"Base Rotation"}; -item3[] = {"Wait",4,4314,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; +item3[] = {"Wait",4,218,150.000000,750.000000,250.000000,800.000000,0.000000,"Wait"}; item4[] = {"Driver_Check",4,218,25.000000,675.000000,125.000000,725.000000,1.000000,"Driver Check"}; item5[] = {"Disabled",4,218,125.000000,825.000000,225.000000,875.000000,100.000000,"Disabled"}; item6[] = {"Waiting",2,250,225.000000,850.000000,325.000000,900.000000,0.000000,"Waiting"}; @@ -23,7 +23,7 @@ link9[] = {6,8}; link10[] = {7,6}; link11[] = {8,2}; globals[] = {0.000000,0,0,0,0,640,480,2,315,6316128,1,-218.693237,496.393402,1020.462097,570.664734,779,490,1}; -window[] = {0,-1,-1,-1,-1,896,234,1631,234,1,797}; +window[] = {0,-1,-1,-1,-1,907,381,1778,245,1,797}; *//*%FSM*/ class FSM { @@ -62,16 +62,7 @@ class FSM "//We want to filter through all the vehicles in the map, and check which ones have drivers." \n "//This is a better method than filtering through every units, typically there are less vehicles than AI." \n "_t = time;" \n - "private _DriverArray = [];" \n - "" \n - "private _Driver = objNull;" \n - "{" \n - " _Driver = (driver _x);" \n - " if (_x isKindOf ""allvehicles"" && {!(_x isKindOf ""AIR"")} && {!(isNull _Driver)} && {local _Driver} && {!((group _Driver) getvariable [""Vcm_Disable"",false])} ) then" \n - " {" \n - " _DriverArray pushback _x;" \n - " };" \n - "} foreach vehicles;" \n + "private _DriverArray = ([] call VCM_fnc_UpdateDrivers);" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 64ab2b9..0785ce4 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -309,6 +309,19 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +[ + "VCM_DRIVERLIMIT", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["Driver execution limit", "How many drivers the code should run for at every cycle"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [1,10,4,0], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_DRIVERLIMIT = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + ////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////Ryd FFE settings///////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Vcom/Functions/VCM_Functions/fn_UpdateDrivers.sqf b/Vcom/Functions/VCM_Functions/fn_UpdateDrivers.sqf new file mode 100644 index 0000000..d9789d4 --- /dev/null +++ b/Vcom/Functions/VCM_Functions/fn_UpdateDrivers.sqf @@ -0,0 +1,41 @@ + +/* + Author: Freddo + + Description: + Generates a list of drivers for VCM_fnc_VehicleDetection to process + + Parameter(s): + NONE + + Returns: + ARRAY - Array containing eligible drivers + Example1: [] call VCM_fnc_UpdateDrivers; +*/ + +scopeName "main"; // Used to breakOut + +private _driverList = []; +{ + // Exit if limit for drivers have been reached + if (count _driverList > VCM_DRIVERLIMIT) then {_driverList breakOut "main";}; + + private _driver = (driver _x); + + if + ( + !isPlayer _driver && + {_x isKindOf "allvehicles"} && + {!(velocity _x isEqualTo [0,0,0])} && + {!(_x isKindOf "AIR")} && + {!(isNull _driver)} && + {local _driver} && + {!((group _driver) getvariable ["Vcm_Disable",false])} + ) + then + { + _driverList pushback _x; + }; +} forEach vehicles; + +_driverList \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf index 28f35d7..9006d67 100644 --- a/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf +++ b/Vcom/Functions/VCM_Functions/fn_VehicleDetection.sqf @@ -5,148 +5,141 @@ Function for improving AI driving. AI drivers will avoid obstacles and units BETTER with this, at the cost of FPS. Parameter(s): - 0: unit array + 0: ARRAY - Array containing drivers to affect Returns: NOTHING - Example1: unitarray spawn VCM_fnc_VehicleDetection; + Example1: driverArray spawn VCM_fnc_VehicleDetection; */ //This script aims to improve AI driving skills...It's basic. But it works. { - if !(isPlayer _x) then + private _PredictPos = [_x,3] call VCM_fnc_MovePrediction; + _PredictPos set [2,0.1]; + if (VCM_Debug) then { - private _GetVehicleVelocity = velocity _x; - if (!(_GetVehicleVelocity isEqualTo [0,0,0])) then + _PredictPos spawn { - private _PredictPos = [_x,3] call VCM_fnc_MovePrediction; - _PredictPos set [2,0.1]; - if (VCM_Debug) then - { - _PredictPos spawn - { - private _arrow = "Sign_Arrow_Cyan_F" createVehicleLocal [0,0,0];_arrow setPos _this;sleep 2;deleteVehicle _arrow; - }; - }; + private _arrow = "Sign_Arrow_Cyan_F" createVehicleLocal [0,0,0];_arrow setPos _this;sleep 2;deleteVehicle _arrow; + }; + }; + + //Lets check for obstacles and make sure the vehicle does not hit them + //Create an array of objects near predicted path + private _obstacles = _predictPos nearObjects ["ALL", VCM_DrivingDist]; // VCM_DrivingDist is search distance + + + //Remove gates, bridges and units vehicle from obstacles + private _RemoveArray = []; + private _veh = objectParent _x; + { + if (_veh isEqualTo _x || (_x isKindOf "AllVehicles") || {["gate",(str _x)] call BIS_fnc_inString} || {["bridge",(str _x)] call BIS_fnc_inString}) then + { + _RemoveArray pushback _x; //We do this method to avoid indexing errors. + }; + } forEach _obstacles; + + //We do this method to avoid indexing errors. + { + private _Obj = _x; + private _Index = _obstacles findIf {_x isEqualTo _Obj}; + _obstacles deleteAt _Index; + } foreach _RemoveArray; + + private _hlprArray = []; + + { + + if !(_x getVariable ["VCM_AVOID", false] || {_x isKindOf "man"} || {_x isKindOf "Helper_Base_F"} || {_x isKindOf "Logic"}) then + { + // Vcom ignore this object until loop complete + _x setVariable ["VCM_AVOID", true]; - //Lets check for obstacles and make sure the vehicle does not hit them - //Create an array of objects near predicted path - private _obstacles = _predictPos nearObjects ["ALL", VCM_DrivingDist]; // VCM_DrivingDist is search distance + // Positions to spawn helper objects + private _hlpPosArray = []; + private _boundBox = boundingBoxReal _x; + private _p2 = _boundBox select 1; - //Remove gates, bridges and units vehicle from obstacles - private _RemoveArray = []; - private _veh = objectParent _x; + _p2 params ["_p2MaxX","_p2MaxY","_p2MaxZ"]; + + // Find corners of building bounding box + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); + // Get mid points of a building. + _hlpPosArray pushBack (_x modelToWorld [0,-_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [0,_p2MaxY,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,0,-_p2MaxZ + 0.1]); + _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,0,-_p2MaxZ + 0.1]); + + // Spawn helper objects (These act as additional points of contact that the AI will attempt to avoid) { - if (_veh isEqualTo _x || (_x isKindOf "AllVehicles") || {["gate",(str _x)] call BIS_fnc_inString} || {["bridge",(str _x)] call BIS_fnc_inString}) then + if ([_hlprArray, _x, true,"Driving"] call VCM_fnc_ClstObj distance2D _x > 1) then { - _RemoveArray pushback _x; //We do this method to avoid indexing errors. + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; + _hlpObj setVariable ["VCM_AVOID", true]; + _hlpObj setPos _x; + _hlpObj setDamage 1; + _hlpObj setObjectTextureGlobal [0, ""]; + _hlprArray pushBack _hlpObj; }; - } forEach _obstacles; - - //We do this method to avoid indexing errors. - { - private _Obj = _x; - private _Index = _obstacles findIf {_x isEqualTo _Obj}; - _obstacles deleteAt _Index; - } foreach _RemoveArray; + } forEach _hlpPosArray; - private _hlprArray = []; - + //Spawn debug objects + if (VCM_Debug) then { - if !(_x getVariable ["VCM_AVOID", false] || {_x isKindOf "man"} || {_x isKindOf "Helper_Base_F"} || {_x isKindOf "Logic"}) then { - // Vcom ignore this object until loop complete - _x setVariable ["VCM_AVOID", true]; - - // Positions to spawn helper objects - private _hlpPosArray = []; - - private _boundBox = boundingBoxReal _x; - private _p2 = _boundBox select 1; - - _p2 params ["_p2MaxX","_p2MaxY","_p2MaxZ"]; - - // Find corners of building bounding box - _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,_p2MaxY,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,-_p2MaxY,-_p2MaxZ + 0.1]); - // Get mid points of a building. - _hlpPosArray pushBack (_x modelToWorld [0,-_p2MaxY,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [0,_p2MaxY,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [-_p2MaxX,0,-_p2MaxZ + 0.1]); - _hlpPosArray pushBack (_x modelToWorld [_p2MaxX,0,-_p2MaxZ + 0.1]); - - // Spawn helper objects (These act as additional points of contact that the AI will attempt to avoid) - { - if ([_hlprArray, _x, true,"Driving"] call VCM_fnc_ClstObj distance2D _x > 1) then - { - private _hlpObj = "Steel_Plate_S_F" createVehicleLocal _x; - _hlpObj setVariable ["VCM_AVOID", true]; - _hlpObj setPos _x; - _hlpObj setDamage 1; - _hlpObj setObjectTextureGlobal [0, ""]; - _hlprArray pushBack _hlpObj; - }; - } forEach _hlpPosArray; - - //Spawn debug objects - if (VCM_Debug) then - { - - { - private _ObjPos = getpos _x; - [_ObjPos select 0, _ObjPos select 1, 0.2] spawn - { - private _arrow = "Sign_Arrow_Large_F" createVehicle [0,0,0]; - _arrow setPos _this; - sleep 9; - deleteVehicle _arrow; - }; - - } forEach _hlprArray; - - }; - - - // Delete helper objects after some time - [_hlprArray, _obstacles] spawn + private _ObjPos = getpos _x; + [_ObjPos select 0, _ObjPos select 1, 0.2] spawn { + private _arrow = "Sign_Arrow_Large_F" createVehicle [0,0,0]; + _arrow setPos _this; sleep 9; - { - deleteVehicle _x; - } forEach (_this select 0); - { - // Allow object to be considered again - _x setVariable ["VCM_AVOID", false]; - } forEach (_this select 1); - + deleteVehicle _arrow; }; + + } forEach _hlprArray; - }; - - } forEach _obstacles; - - - - //Avoid units. - private _Livingobstacles = _predictPos nearObjects ["MAN", 25]; - private _Unit = _x; - _LivingObstacles deleteAt (_Livingobstacles findIf {_x isEqualTo _Unit}); - - private _NearestUnit = [_Livingobstacles, _x, true,"Driving"] call VCM_fnc_ClstObj; - if (_NearestUnit distance2D _x < 50) then + }; + + + // Delete helper objects after some time + [_hlprArray, _obstacles] spawn { - private _hlpObj = "Steel_Plate_S_F" createVehicleLocal [0,0,0]; - _hlpObj setDamage 1; - _hlpObj setVariable ["VCM_AVOID", true]; - _hlpObj setPos (getpos _NearestUnit); - _hlpObj setObjectTextureGlobal [0, ""]; - _hlpObj spawn {sleep 2; deletevehicle _this}; + sleep 9; + { + deleteVehicle _x; + } forEach (_this select 0); + { + // Allow object to be considered again + _x setVariable ["VCM_AVOID", false]; + } forEach (_this select 1); + }; - + }; + + } forEach _obstacles; + + + + //Avoid units. + private _Livingobstacles = _predictPos nearObjects ["MAN", 25]; + private _Unit = _x; + _LivingObstacles deleteAt (_Livingobstacles findIf {_x isEqualTo _Unit}); + + private _NearestUnit = [_Livingobstacles, _x, true,"Driving"] call VCM_fnc_ClstObj; + if (_NearestUnit distance2D _x < 50) then + { + private _hlpObj = "Steel_Plate_S_F" createVehicleLocal [0,0,0]; + _hlpObj setDamage 1; + _hlpObj setVariable ["VCM_AVOID", true]; + _hlpObj setPos (getpos _NearestUnit); + _hlpObj setObjectTextureGlobal [0, ""]; + _hlpObj spawn {sleep 2; deletevehicle _this}; }; + } foreach _this; \ No newline at end of file diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 1a9920e..835f552 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -50,6 +50,7 @@ Vcm_Settings = Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. VCM_DrivingDelay = 1; // How often the script should look for obstacles + VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 2e8ed9c..903735a 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -148,6 +148,9 @@ class VCOM //[unit,4] call VCM_fnc_MovePrediction; class MovePrediction {}; + + //[] call VCM_fnc_UpdateDrivers; + class UpdateDrivers {}; }; }; diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 466055e..d29b01a 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -48,6 +48,7 @@ Vcm_Settings = Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. VCM_DrivingDelay = 1; // How often the script should look for obstacles + VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY From f1a946e266237a726aa21af2594d05438aa9d932 Mon Sep 17 00:00:00 2001 From: Aarnoman <45703226+Aarnoman@users.noreply.github.com> Date: Sun, 9 Dec 2018 04:14:24 +1300 Subject: [PATCH 58/83] Added CBA options for AI Skills (#58) Adds CBA options for AI Skills parameters (AimingAccuracy, AimingShake, AimingSpeed) for West, East, and Independent side. Default values are old medium difficulty values. --- Vcom/Functions/VCM_CBASettings.sqf | 214 +++++++++++++++++----- Vcom/Functions/VcomAI_DefaultSettings.sqf | 107 ++++++----- userconfig/VCOM_AI/AISettingsV3.hpp | 105 ++++++----- 3 files changed, 292 insertions(+), 134 deletions(-) diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 94cb9bd..3506cf2 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -10,7 +10,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true, // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ActivateAI = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -23,7 +23,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. false,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_Debug = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -36,7 +36,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [[[west,east,resistance],[west,east],[west],[east],[resistance],[resistance,west],[resistance,east]],[["West, East, Resistance"],["West, East"],["West"],["East"],["Resistance"],["Resistance, West"],["Resistance, East"]],0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_SIDEENABLED = _this; } // function that will be executed once on mission start and every time the setting is changed. @@ -49,7 +49,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. false, // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ARTYENABLE = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -62,7 +62,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [[[west,east,resistance],[west,east],[west],[east],[resistance],[resistance,west],[resistance,east]],[["West, East, Resistance"],["West, East"],["West"],["East"],["Resistance"],["Resistance, West"],["Resistance, East"]],0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ARTYSIDES = _this; } // function that will be executed once on mission start and every time the setting is changed. @@ -75,7 +75,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_StealVeh = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -88,7 +88,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_FullSpeed = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -101,7 +101,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ADVANCEDMOVEMENT = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -114,24 +114,12 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_FRMCHANGE = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; -[ - "VCM_SKILLCHANGE", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. - "CHECKBOX", // setting type - "AI impacted by Vcom skill settings.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. - "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: - true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { - params ["_value"]; - VCM_SKILLCHANGE = _value; - } // function that will be executed once on mission start and every time the setting is changed. -] call CBA_Settings_fnc_init; [ "VCM_AIDISTANCEVEHPATH", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. @@ -140,7 +128,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,1000,100,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_AIDISTANCEVEHPATH = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -153,7 +141,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_RAGDOLL = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -166,7 +154,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,100,50,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_RAGDOLLCHC = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -180,7 +168,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,10000,800,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_HEARINGDISTANCE = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -193,7 +181,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,10000,1000,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_WARNDIST = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -206,7 +194,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,10000,30,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_WARNDELAY = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -219,7 +207,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,10000,300,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_STATICARMT = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -233,7 +221,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,100,75,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_MINECHANCE = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -246,7 +234,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,5000,300,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ARTYDELAY = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -259,7 +247,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0,5000,400,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_ARTYSPREAD = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -273,7 +261,7 @@ if !(CBAACT) exitwith {}; "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. [2,10,5,0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_AIMagLimit = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -288,7 +276,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. true, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; VCM_FFEARTILLERY = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -301,7 +289,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. false, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_Debug = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -314,7 +302,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. "", // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_FO = []; {RydFFE_FO pushBack (missionNamespace getVariable _x)} forEach (_value splitstring ", "); @@ -328,7 +316,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. "i_spotter_f, o_spotter_f, b_spotter_f, o_recon_jtac_f, b_recon_jtac_f, i_sniper_f, o_sniper_f, b_sniper_f, i_soldier_m_f, o_soldier_m_f, b_g_soldier_m_f, b_soldier_m_f, o_recon_m_f, b_recon_m_f, o_soldieru_m_f, i_uav_01_f, i_uav_02_cas_f, i_uav_02_f, o_uav_01_f, o_uav_02_cas_f, o_uav_02_f, b_uav_01_f, b_uav_02_cas_f, b_uav_02_f", // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_FOClass = _value splitstring ", "; } // function that will be executed once on mission start and every time the setting is changed. @@ -341,7 +329,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. false, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_OnePhase = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -354,7 +342,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. false, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_2PhWithoutFO = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -367,7 +355,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. [1, 4, 2, 0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_Acc = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -380,7 +368,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. [20, 300, 100, 0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_Safe = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -393,7 +381,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. true, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_Monogamy = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -406,7 +394,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. [1, 12, 6, 0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_Amount = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -419,7 +407,7 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. false, // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_ShellView = _value; } // function that will be executed once on mission start and every time the setting is changed. @@ -432,12 +420,148 @@ if !(CBAACT) exitwith {}; "Fire For Effect", // Pretty name of the category where the setting can be found. Can be stringtable entry. [0.5,3,1,1], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer - { + { params ["_value"]; RydFFE_FoAccGain = _value; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +//AI SKILL SETTINGS +[ + "VCM_SKILLCHANGE", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + "AI impacted by Vcom skill settings.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + true,// data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_SKILLCHANGE = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +//Aiming Accuracy +[ + "VCM_AISKILL_AIMINGACCURACY_W", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Accuracy (West)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.25,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGACCURACY_W = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGACCURACY_E", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Accuracy (East)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.25,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGACCURACY_E = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGACCURACY_R", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Accuracy (Ind)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.25,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGACCURACY_R = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +//Aiming Shake +[ + "VCM_AISKILL_AIMINGSHAKE_W", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Shake (West)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.15,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSHAKE_W = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGSHAKE_E", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Shake (East)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.15,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSHAKE_E = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGSHAKE_R", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Shake (Ind)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.15,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSHAKE_R = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +//Aiming Speed +[ + "VCM_AISKILL_AIMINGSPEED_W", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Speed (West)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.35,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSPEED_W = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGSPEED_E", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Speed (East)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.35,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSPEED_E = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + +[ + "VCM_AISKILL_AIMINGSPEED_R", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + "AI Aiming Speed (Ind)", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,1,0.35,2], // data for this setting: [min, max, default, number of shown trailing decimals] + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AISKILL_AIMINGSPEED_R = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + + + diag_log "VCOM: Loaded CBA settings"; -}; \ No newline at end of file +}; diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index d409682..29a325e 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -1,4 +1,4 @@ -Vcm_Settings = +Vcm_Settings = { /* ADDITIONAL COMMANDS @@ -6,10 +6,10 @@ Vcm_Settings = (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. - (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. - (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. - - */ + (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. + (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. + + */ Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. @@ -18,7 +18,7 @@ Vcm_Settings = VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine - + //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery @@ -27,79 +27,96 @@ Vcm_Settings = VCM_ARTYWT = -(VCM_ARTYDELAY); VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; - + VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; - + VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit - VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL + VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. VCM_WARNDIST = 1000; //How far AI can request help from other groups. VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. - VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. + VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. VCM_StealVeh = true; //Will the AI steal vehicles. VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. - + //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]]; - + //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + //MEDIUM DIFFICULTY VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - + //HIGH DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]]; - + //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + + //VCOM AI Skill Variables. Default values set to medium difficulty (old default) + //AIMING ACCURACY + VCM_AISKILL_AIMINGACCURACY_W = 0.25; + VCM_AISKILL_AIMINGACCURACY_E = 0.25; + VCM_AISKILL_AIMINGACCURACY_R = 0.25; + + //AIMING SHAKE + VCM_AISKILL_AIMINGSHAKE_W = 0.15; + VCM_AISKILL_AIMINGSHAKE_E = 0.15; + VCM_AISKILL_AIMINGSHAKE_R = 0.15; + + //AIMING SPEED + VCM_AISKILL_AIMINGSPEED_W = 0.35; + VCM_AISKILL_AIMINGSPEED_E = 0.35; + VCM_AISKILL_AIMINGSPEED_R = 0.35; + + //SIDE SPECIFIC - VCM_AIDIFWEST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AISIDESPEC = { private _Side = (side (group _this)); switch (_Side) do { - case west: + case west: { { _this setSkill _x; - } forEach VCM_AIDIFWEST; + } forEach VCM_AIDIFWEST; }; - case east: + case east: { { _this setSkill _x; - } forEach VCM_AIDIFEAST; - }; - case resistance: + } forEach VCM_AIDIFEAST; + }; + case resistance: { { _this setSkill _x; - } forEach VCM_AIDIFRESISTANCE; - }; - }; + } forEach VCM_AIDIFRESISTANCE; + }; + }; }; - - + + VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? VCM_SIDESPECIFICSKILL = false; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. - + /* EXAMPLE FOR VCM_SKILL_CLASSNAMES - + VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; VCM_SKILL_CLASSNAMES = [ ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] - ]; - + ]; + */ //Set AI Skill levels @@ -110,12 +127,12 @@ Vcm_Settings = { private _unit = _x; _unit setSkill 0.9; - _unit allowFleeing 0; + _unit allowFleeing 0; { _unit setSkill _x; } forEach VCM_AIDIFA; - - + + if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then { { @@ -125,15 +142,15 @@ Vcm_Settings = _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; }; } foreach VCM_SKILL_CLASSNAMES; - }; - + }; + if (VCM_SIDESPECIFICSKILL) then { _unit call VCM_AISIDESPEC; }; - + } forEach (units _this); - }; - + }; + diag_log "VCOM: Loaded Default Settings"; -}; \ No newline at end of file +}; diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index bd6e8cc..5684a89 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -1,4 +1,4 @@ -Vcm_Settings = +Vcm_Settings = { /* ADDITIONAL COMMANDS @@ -6,15 +6,15 @@ Vcm_Settings = (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. - (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. - (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. - - */ + (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. + (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. + + */ Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone - + //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. @@ -23,7 +23,7 @@ Vcm_Settings = VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + VCM_ARTYSPREAD = 400; //Spread of artillery rounds; //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; @@ -32,86 +32,103 @@ Vcm_Settings = VCM_MINECHANCE = 75; //Chance to lay a mine VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit - VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL + VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. VCM_WARNDIST = 1000; //How far AI can request help from other groups. VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. - VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. + VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. VCM_StealVeh = true; //Will the AI steal vehicles. VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. - + //AI SKILL SETTINGS HERE!!!!!!!!!!!! //LOW DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]]; - + //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + //MEDIUM DIFFICULTY - VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - + //VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + //HIGH DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]]; - + //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + + //VCOM AI Skill Variables. Default values set to medium difficulty (old default) + //AIMING ACCURACY + VCM_AISKILL_AIMINGACCURACY_W = 0.25; + VCM_AISKILL_AIMINGACCURACY_E = 0.25; + VCM_AISKILL_AIMINGACCURACY_R = 0.25; + + //AIMING SHAKE + VCM_AISKILL_AIMINGSHAKE_W = 0.15; + VCM_AISKILL_AIMINGSHAKE_E = 0.15; + VCM_AISKILL_AIMINGSHAKE_R = 0.15; + + //AIMING SPEED + VCM_AISKILL_AIMINGSPEED_W = 0.35; + VCM_AISKILL_AIMINGSPEED_E = 0.35; + VCM_AISKILL_AIMINGSPEED_R = 0.35; + + //SIDE SPECIFIC - VCM_AIDIFWEST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AISIDESPEC = { private _Side = (side (group _this)); switch (_Side) do { - case west: + case west: { { _this setSkill _x; - } forEach VCM_AIDIFWEST; + } forEach VCM_AIDIFWEST; }; - case east: + case east: { { _this setSkill _x; - } forEach VCM_AIDIFEAST; - }; - case resistance: + } forEach VCM_AIDIFEAST; + }; + case resistance: { { _this setSkill _x; - } forEach VCM_AIDIFRESISTANCE; - }; - }; + } forEach VCM_AIDIFRESISTANCE; + }; + }; }; - - + + VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? VCM_SIDESPECIFICSKILL = false; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. - + /* EXAMPLE FOR VCM_SKILL_CLASSNAMES - + VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; VCM_SKILL_CLASSNAMES = [ ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] - ]; - + ]; + */ - + VCM_AIDIFSET = { { private _unit = _x; _unit setSkill 0.9; - _unit allowFleeing 0; + _unit allowFleeing 0; { _unit setSkill _x; } forEach VCM_AIDIFA; - - + + if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then { { @@ -121,15 +138,15 @@ Vcm_Settings = _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; }; } foreach VCM_SKILL_CLASSNAMES; - }; - + }; + if (VCM_SIDESPECIFICSKILL) then { _unit call VCM_AISIDESPEC; }; - + } forEach (units _this); }; - + diag_log "VCOM: Loaded Userconfig"; -}; \ No newline at end of file +}; From bb3b885877b1cf2833d2945afaa3199c750687d8 Mon Sep 17 00:00:00 2001 From: Aarnoman <45703226+Aarnoman@users.noreply.github.com> Date: Sun, 9 Dec 2018 09:21:30 +1300 Subject: [PATCH 59/83] Ai skill options (#60) * Added CBA options for AI Skills CBA Options for AI Skills * AI Skill Options Update 2 -Adds seperate CBA addon options category "VCOM SKILL SETTINGS" -Added all AI Skills Parameters to this category -Moved VCM_SKILLCHANGE from "VCOM SETTINGS" to "VCOM SKILL SETTINGS" * AI Skill Options Update 3 Two bugfixes: -CBA set sidespecific skill options are reevaluated before unit skill assignment, ensuring only current values are used. Allows on the fly adjustment of skill values for any unit spawned after skill change. -Fixed bug where VCM_AIDIFSET routine would not fire due to incorrect checking of VCM_Skilldisable parameter. -Added SideSpecificSkill option to CBA VCOM SKILL SETTINGS Tab. -Changed default value of SideSpecificSkill to true in DefaultSettings. -Updated AISettingsV3.hpp to a cloned version of DefaultSettings. --- Vcom/FSMS/fn_SQUADBEH.fsm | 3 ++- Vcom/Functions/VCM_CBASettings.sqf | 15 ++++++++++- Vcom/Functions/VcomAI_DefaultSettings.sqf | 13 +++++----- userconfig/VCOM_AI/AISettingsV3.hpp | 31 +++++++++++++---------- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index a4da78e..fcf4a90 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -176,7 +176,8 @@ class FSM "private _ehList = [];" \n "" \n "_Group call VCM_fnc_ArtyManage;" \n - "if (VCM_SKILLCHANGE && {_Group getVariable [""VCM_Skilldisable"", false]}) then {_Group call VCM_AIDIFSET};" \n + "private _isskilldisabled = _Group getVariable ""VCM_Skilldisable"";" \n + "if (VCM_SKILLCHANGE && isnil ""_isskilldisabled"") then {_Group call VCM_AIDIFSET};" \n "" \n "" \n "{" \n diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 3506cf2..839660a 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -432,7 +432,7 @@ if !(CBAACT) exitwith {}; "CHECKBOX", // setting type "AI impacted by Vcom skill settings.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - true,// data for this setting: + true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -440,6 +440,19 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +[ + "VCM_SIDESPECIFICSKILL", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + "Enable Side Specific Skill Parameters", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SKILL SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + true,// data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_SIDESPECIFICSKILL = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + //Aiming Accuracy [ "VCM_AISKILL_AIMINGACCURACY_W", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 29a325e..8b97868 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -72,14 +72,13 @@ Vcm_Settings = VCM_AISKILL_AIMINGSPEED_E = 0.35; VCM_AISKILL_AIMINGSPEED_R = 0.35; - - //SIDE SPECIFIC - VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AISIDESPEC = { + //Reallocates skill variables before group skill settings are applied + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + private _Side = (side (group _this)); switch (_Side) do { case west: @@ -105,7 +104,7 @@ Vcm_Settings = VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? - VCM_SIDESPECIFICSKILL = false; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. + VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. /* diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 5684a89..5ef736e 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -14,22 +14,25 @@ Vcm_Settings = Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone + VCM_ARTYENABLE = true; //Enable improved artillery handling. + VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. + VCM_Debug = false; //Enable debug mode. + VCM_MINECHANCE = 75; //Chance to lay a mine + //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. + VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. VCM_ARTYDELAY = 300; //Delay between squads requesting artillery VCM_ARTYWT = -(VCM_ARTYDELAY); VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery VCM_ARTYSPREAD = 400; //Spread of artillery rounds; - //Fire For Effect Artillery handling. Only one kind of advanced atrillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ + + //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; - VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. - VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 75; //Chance to lay a mine VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL @@ -49,7 +52,7 @@ Vcm_Settings = //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; //MEDIUM DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; //HIGH DIFFICULTY //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; @@ -70,14 +73,13 @@ Vcm_Settings = VCM_AISKILL_AIMINGSPEED_E = 0.35; VCM_AISKILL_AIMINGSPEED_R = 0.35; - - //SIDE SPECIFIC - VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AISIDESPEC = { + //Reallocates skill variables before group skill settings are applied + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + private _Side = (side (group _this)); switch (_Side) do { case west: @@ -103,7 +105,7 @@ Vcm_Settings = VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? - VCM_SIDESPECIFICSKILL = false; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. + VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. /* @@ -118,8 +120,11 @@ Vcm_Settings = */ + //Set AI Skill levels VCM_AIDIFSET = { + //Skip if Vcom Skillchange is disabled + if (!VCM_SKILLCHANGE) exitWith {}; { private _unit = _x; _unit setSkill 0.9; From dcc59bcc8c63ad17284a7b1f65e00158136df857 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Mon, 10 Dec 2018 10:15:28 +0100 Subject: [PATCH 60/83] Tweaked Vcom Driving, fixed rearm issue Vcom Driving search distance was set too far by default, causing lagspikes while in crowded areas. Increased readability of Vcom Driving scripts. In some circumstances the AI could not reach the rearm location, causing them to get stuck in a loop. To fix this I've added a timeout and increased the completion radius. #61 --- Vcom/FSMS/fn_SQUADBEH.fsm | 18 ++-- Vcom/Functions/VCM_CBASettings.sqf | 10 +-- Vcom/Functions/VCM_Functions/fn_ActRearm.sqf | 6 +- Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf | 84 ++++++++++--------- Vcom/Functions/VcomAI_DefaultSettings.sqf | 6 +- userconfig/VCOM_AI/AISettingsV3.hpp | 6 +- 6 files changed, 69 insertions(+), 61 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index fcf4a90..55b84b4 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; @@ -16,7 +16,7 @@ item11[] = {"Frequent_Checks",4,218,-100.000000,300.000000,0.000000,350.000000,9 item12[] = {"RearmCheck",4,218,-200.000000,300.000000,-100.000000,350.000000,960.000000,"RearmCheck"}; item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000,0.000000,"Continue2LeaderCycle"}; item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; -item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; +item15[] = {"RearmCheck",2,4346,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; @@ -27,7 +27,7 @@ item22[] = {"Combat",4,218,675.000000,225.000000,775.000000,275.000000,100.00000 item23[] = {"Combat_Brain",2,250,870.650879,303.704590,970.650879,353.704590,0.000000,"Combat Brain"}; item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110.000000,"Combat BEGIN"}; item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; -item26[] = {"Arty_Check",4,4314,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; +item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,789.726196,1401.050415,784.487915,-145.581879,514,782,1}; -window[] = {0,-1,-1,-1,-1,1032,78,1379,78,1,532}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-456.590485,215.866547,830.991211,-192.085358,514,782,1}; +window[] = {0,-1,-1,-32000,-32000,1006,52,1353,52,1,532}; *//*%FSM*/ class FSM { @@ -394,7 +394,10 @@ class FSM { name = "RearmCheck"; itemno = 15; - init = /*%FSM*/"_Group call VCM_fnc_RearmSelf;" \n + init = /*%FSM*/"if (VCM_AIMagLimit > 0) then " \n + "{" \n + " _Group call VCM_fnc_RearmSelf;" \n + "};" \n "_Group call VCM_fnc_ArtyManage;" \n "_BackbkC2 = time;" \n ""/*%FSM*/; @@ -443,8 +446,7 @@ class FSM { name = "Full_Check"; itemno = 17; - init = /*%FSM*/"private _ReturnResponse = _Group call VCM_fnc_KitChk;" \n - "_ReturnResponse params [""_MedList"",""_L1""];" \n + init = /*%FSM*/"(_Group call VCM_fnc_KitChk) params [""_MedList"",""_L1""];" \n "_L1 params [""_StaticList"",""_SatchelList"",""_MineList""];" \n "_BackbkC = time;" \n "" \n diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 871d89a..abd07e7 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -257,9 +257,9 @@ if !(CBAACT) exitwith {}; [ "VCM_AIMagLimit", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "SLIDER", // setting type - "Mag count AI begin to look for additional mags.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + ["Mag count AI begin to look for additional mags.","Set to 0 to disable"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [2,10,5,0], // data for this setting: [min, max, default, number of shown trailing decimals] + [0,5,2,0], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -289,7 +289,7 @@ if !(CBAACT) exitwith {}; "SLIDER", // setting type ["Script cycle time", "How often the script will look for obstacles"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [0.5,5,1,1], // data for this setting: [min, max, default, number of shown trailing decimals] + [0.5,3,0.75,2], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -300,9 +300,9 @@ if !(CBAACT) exitwith {}; [ "VCM_DrivingDist", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "SLIDER", // setting type - ["Distance to search for obstacles", "How far from predicted position to search for obstacles"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + ["Distance to search for obstacles", "How far from predicted position to search for obstacles. Predicted position varies depending on vehicle speed."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM DRIVING", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [5,30,25,1], // data for this setting: [min, max, default, number of shown trailing decimals] + [5,30,10,1], // data for this setting: [min, max, default, number of shown trailing decimals] true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; diff --git a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf index 8cccab4..f868966 100644 --- a/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ActRearm.sqf @@ -17,11 +17,11 @@ */ params ["_unitToRearm","_rearmLocation"]; - -while {(_unitToRearm distance _rearmLocation) > 5 && {(_unitToRearm distance _rearmLocation) < 200}} do +private _time = time; +while {(_unitToRearm distance _rearmLocation) > 8 && {(_unitToRearm distance _rearmLocation) < 50} && {_time + 60 > time}} do { _unitToRearm domove (getpos _rearmLocation); sleep 4; }; - _unitToRearm action ["rearm", _rearmLocation]; \ No newline at end of file +_unitToRearm action ["rearm", _rearmLocation]; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf b/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf index 1ab394b..f011968 100644 --- a/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf +++ b/Vcom/Functions/VCM_Functions/fn_RearmSelf.sqf @@ -13,53 +13,59 @@ */ private _magLimit = VCM_AIMagLimit; + { private _orgUnit = _x; -if !(vehicle _x isEqualTo _x) exitWith {}; + if !(isNull objectParent _x) exitWith {}; -//The first thing we want to do. Is figure out what ammo this unit is using. -private _curMag = currentMagazine _x; + //The first thing we want to do. Is figure out what ammo this unit is using. + private _curMag = currentMagazine _x; -//Now, we want to compare this classname to all the other ammo classnames this unit may have and count the number. -private _mags = magazines _x; + //Now, we want to compare this classname to all the other ammo classnames this unit may have and count the number. + private _mags = magazines _x; -//Count the total number of mags. -private _magCount = 0; -{ if (_x isEqualTo _curMag) then {_magCount = _magCount + 1};true;} count _mags; + //Count the total number of mags. + private _magCount = {_x isEqualTo _curMag}count _mags; -//If unit has less than the wanted limit, then make the unit find ammo! -if (_magCount < _magLimit) then { - //Find closest men! - _potRearm = _x nearEntities [["WeaponHolderSimulated", "Man", "Air", "Car", "Motorcycle", "Tank"], 200]; - _potRearm = _potRearm - [_x]; - { - if (alive _x && {_x isKindOf "Man"}) then {_potRearm = _potRearm - [_x];}; - true; - } count _potRearm; - - //If men are around see if we can take ammo from them first. - _stop = false; - if (count _potRearm != 0) then { + //If unit has less than the wanted limit, then make the unit find ammo! + if (_magCount < _magLimit) then { + //Find closest men! + _potRearm = _x nearEntities [["WeaponHolderSimulated", "Man", "Air", "Car", "Motorcycle", "Tank"], 50]; + _potRearm = _potRearm - [_x]; { - _mags = []; - _unit = _x; - if (_unit isKindOf "Man") then { - _mags = magazines _unit; - } else { - _mags = magazineCargo _unit; + if (alive _x && {_x isKindOf "Man"}) then + { + _potRearm = _potRearm - [_x]; }; - if (isNil "_mags") then {_mags = [];}; + } forEach _potRearm; + + //If men are around see if we can take ammo from them first. + _stop = false; + if (count _potRearm > 0) then { { - if (_x isEqualTo _curMag) exitwith { - [_orgUnit,_unit] spawn VCM_fnc_ActRearm; - _stop = true; + _mags = []; + _unit = _x; + + if (_unit isKindOf "Man") then { + _mags = magazines _unit; + } + else + { + _mags = magazineCargo _unit; }; - true; - } count _mags; - if ( _stop ) exitwith {}; - true; - } count _potRearm; + + if (isNil "_mags") then {_mags = [];}; + + { + if (_x isEqualTo _curMag) exitwith { + [_orgUnit,_unit] spawn VCM_fnc_ActRearm; + _stop = true; + }; + } forEach _mags; + + if (_stop) exitwith {}; + + } forEach _potRearm; + }; }; -}; -true; -} count (units _this); \ No newline at end of file +} forEach (units _this); \ No newline at end of file diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 81fd40c..a6dce06 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -15,7 +15,7 @@ Vcm_Settings = VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone VCM_ARTYENABLE = true; //Enable improved artillery handling. - VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. + VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine @@ -49,8 +49,8 @@ Vcm_Settings = //VCOM DRIVING. Experimental feature Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. - VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. - VCM_DrivingDelay = 1; // How often the script should look for obstacles + VCM_DrivingDist = 10; // Distance from predicted path to search for objects. High numbers may cause instability. + VCM_DrivingDelay = 0.75; // How often the script should look for obstacles VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle //AI SKILL SETTINGS HERE!!!!!!!!!!!! diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 274eb4a..f31b0fe 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -15,7 +15,7 @@ Vcm_Settings = VcmAI_ActiveList = []; //Leave this alone. Vcm_ArtilleryArray = []; //Leave this alone VCM_ARTYENABLE = true; //Enable improved artillery handling. - VCM_AIMagLimit = 5; //Number of mags remaining before AI looks for ammo. + VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine @@ -50,8 +50,8 @@ Vcm_Settings = //VCOM DRIVING. Experimental feature Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. - VCM_DrivingDist = 25; // Distance from predicted path to search for objects. High numbers may cause instability. - VCM_DrivingDelay = 1; // How often the script should look for obstacles + VCM_DrivingDist = 15; // Distance from predicted path to search for objects. High numbers may cause instability. + VCM_DrivingDelay = 0.75; // How often the script should look for obstacles VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle //AI SKILL SETTINGS HERE!!!!!!!!!!!! From 4a0446061beddc0295d817544a1f0120cfba79f8 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 15 Dec 2018 13:47:03 +0100 Subject: [PATCH 61/83] prioritise Zeus Waypoints --- Vcom/FSMS/fn_HANDLECURATORS.fsm | 173 ++++++++++++++++++++++++++++++++ Vcom/FSMS/fn_SQUADBEH.fsm | 17 ++-- Vcom/VcomInit.sqf | 1 + Vcom/cfgFunctions.hpp | 6 ++ 4 files changed, 191 insertions(+), 6 deletions(-) create mode 100644 Vcom/FSMS/fn_HANDLECURATORS.fsm diff --git a/Vcom/FSMS/fn_HANDLECURATORS.fsm b/Vcom/FSMS/fn_HANDLECURATORS.fsm new file mode 100644 index 0000000..61a8b5a --- /dev/null +++ b/Vcom/FSMS/fn_HANDLECURATORS.fsm @@ -0,0 +1,173 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"BEGIN",0,250,-40.348846,-149.418610,49.651154,-99.418610,0.000000,"BEGIN"}; +item1[] = {"TRUE",8,218,-40.262726,-71.162048,49.737274,-21.162048,0.000000,"TRUE"}; +item2[] = {"MAIN",2,250,-40.262848,14.045135,49.737167,64.045135,0.000000,"MAIN"}; +item3[] = {"NEW__CURATOR",4,218,-40.262878,72.098358,49.737122,122.098358,1.000000,"NEW " \n "CURATOR"}; +item4[] = {"WAIT",4,218,-172.287598,14.982941,-82.287598,64.982941,0.000000,"WAIT"}; +item5[] = {"EXIT_COND",4,218,90.824860,14.982925,180.824860,64.982925,2.000000,"EXIT" \n "COND"}; +item6[] = {"ADD_EVENT__HANDL",2,4346,-40.642700,137.701233,49.357315,187.701233,0.000000,"ADD" \n "EVENT " \n "HANDLER"}; +item7[] = {"EXIT",1,250,207.867706,14.982895,297.867737,64.982880,0.000000,"EXIT"}; +link0[] = {0,1}; +link1[] = {1,2}; +link2[] = {2,3}; +link3[] = {2,4}; +link4[] = {2,5}; +link5[] = {3,6}; +link6[] = {4,2}; +link7[] = {5,7}; +link8[] = {6,4}; +link9[] = {6,5}; +globals[] = {0.000000,0,0,0,0,640,480,1,12,6316128,1,-401.686920,384.831299,192.291382,-516.456970,981,884,1}; +window[] = {2,-1,-1,-32000,-32000,985,282,1141,226,3,999}; +*//*%FSM*/ +class FSM +{ + fsmName = "fn_handleCurators"; + class States + { + /*%FSM*/ + class BEGIN + { + name = "BEGIN"; + itemno = 0; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class TRUE + { + itemno = 1; + priority = 0.000000; + to="MAIN"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/"private _prevCurators = [];" \n + "private _EHs = [];" \n + "private _t = 0;" \n + "VCM_IGNOREWAYPOINTS = [];"/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class MAIN + { + name = "MAIN"; + itemno = 2; + init = /*%FSM*/"//Clear array if it gets excessively long" \n + "if (count VCM_IGNOREWAYPOINTS > 100) then {VCM_IGNOREWAYPOINTS = []};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class EXIT_COND + { + itemno = 5; + priority = 2.000000; + to="EXIT"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!isServer "/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class NEW__CURATOR + { + itemno = 3; + priority = 1.000000; + to="ADD_EVENT__HANDL"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_prevCurators isEqualTo allCurators)"/*%FSM*/; + action=/*%FSM*/"if VCM_DEBUG then" \n + "{" \n + " systemChat ""Found new curator(s)"";" \n + "};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class WAIT + { + itemno = 4; + priority = 0.000000; + to="MAIN"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 1;"/*%FSM*/; + action=/*%FSM*/"_t = time;"/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class ADD_EVENT__HANDL + { + name = "ADD_EVENT__HANDL"; + itemno = 6; + init = /*%FSM*/"{" \n + " _EHs pushBack (" \n + " _x addEventHandler [""CuratorWaypointPlaced"", " \n + " {" \n + " params [""_curator"", ""_grp"", ""_waypointID""];" \n + " private _waypoint = ((waypoints _grp) select _waypointID);" \n + "" \n + " VCM_IGNOREWAYPOINTS pushBack _waypoint;" \n + "" \n + " if (VCM_DEBUG) then {" \n + " systemChat format [""%1 placed waypoint for %2, will not overwrite"", _curator, _grp];" \n + " };" \n + " }" \n + " ]);" \n + "} forEach (allCurators - _prevCurators);" \n + "_prevCurators = allCurators;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class EXIT_COND + { + itemno = 5; + priority = 2.000000; + to="EXIT"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!isServer "/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class WAIT + { + itemno = 4; + priority = 0.000000; + to="MAIN"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time > _t + 1;"/*%FSM*/; + action=/*%FSM*/"_t = time;"/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class EXIT + { + name = "EXIT"; + itemno = 7; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + }; + initState="BEGIN"; + finalStates[] = + { + "EXIT", + }; +}; +/*%FSM*/ \ No newline at end of file diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 55b84b4..5b87780 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; @@ -16,7 +16,7 @@ item11[] = {"Frequent_Checks",4,218,-100.000000,300.000000,0.000000,350.000000,9 item12[] = {"RearmCheck",4,218,-200.000000,300.000000,-100.000000,350.000000,960.000000,"RearmCheck"}; item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000,0.000000,"Continue2LeaderCycle"}; item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; -item15[] = {"RearmCheck",2,4346,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; +item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; @@ -29,7 +29,7 @@ item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110 item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; -item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; +item28[] = {"Flank_Orders",4,4314,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-456.590485,215.866547,830.991211,-192.085358,514,782,1}; -window[] = {0,-1,-1,-32000,-32000,1006,52,1353,52,1,532}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,710.397644,1382.855103,830.991211,-192.085358,436,828,1}; +window[] = {2,-1,-1,-32180,-32000,1069,-1224,-479,115,3,454}; *//*%FSM*/ class FSM { @@ -656,7 +656,12 @@ class FSM priority = 105.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_WaypointGen + 900 < time && {VCM_ADVANCEDMOVEMENT}"/*%FSM*/; + condition=/*%FSM*/"_WaypointGen + 900 < time && " \n + "{VCM_ADVANCEDMOVEMENT} &&" \n + "{" \n + " isNil {(waypoints _Group) select 1} ||" \n + " {!(((waypoints _Group) select 1) in VCM_IGNOREWAYPOINTS)}" \n + "}"/*%FSM*/; action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;" \n "_WaypointGen = time;" \n "" \n diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index 8a43a6c..a022ab9 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -46,6 +46,7 @@ Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCOM_MINEARRAY = []; [] spawn VCM_fnc_MineMonitor; +[] spawn VCM_fnc_HANDLECURATORS; //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 903735a..4c47aaf 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -17,6 +17,12 @@ class VCOM { ext = ".fsm"; }; + + // [] spawn VCM_fnc_HANDLECURATORS + class HANDLECURATORS + { + ext = ".fsm"; + }; }; class Functions From 3acf47d6537d85c2c0d3742dc382bf16176a409a Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 15 Dec 2018 14:11:03 +0100 Subject: [PATCH 62/83] Updated Changelog --- Vcom/changelog.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index 1997aca..82af928 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [3.2] - 2018-12-15 +### Added +- VCOM Driving (Experimental) +- AI accuracy settings can be tweaked in CBA + +### Changed +- AI in "safe" behaviour will prefer forming convoys/columns +- Disabling sides option now works with RydFFE +- Number of mags before considering rearm is lower by default +- Rearm search radius has been lowered +- VCOM Advanced Movement will no longer overwrite zeus placed waypoints +- FSM files were moved to functions library + +### Deprecated + +### Removed + +### Fixed +- VCM skill settings wouldn't apply to units. +- Infantry would get stuck in a rearm loop, chasing large vehicles. +- Hit reactions compatibility with ACE + +### Security +- Loaded config files are logged in .rpt + + ## [3.1] - 2018-11-13 ### Added - Changelog From 3f758d7fe85937ed8b46dfce8753400e93d86108 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 15 Dec 2018 14:17:57 +0100 Subject: [PATCH 63/83] Added VCOM prefix to debug messages --- Vcom/FSMS/fn_HANDLECURATORS.fsm | 2 +- Vcom/FSMS/fn_SQUADBEH.fsm | 22 +++++++++---------- Vcom/Functions/VCM_Functions/fn_HealSelf.sqf | 2 +- .../VCM_Functions/fn_HearingAids.sqf | 2 +- Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf | 2 +- Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Vcom/FSMS/fn_HANDLECURATORS.fsm b/Vcom/FSMS/fn_HANDLECURATORS.fsm index 61a8b5a..84a667f 100644 --- a/Vcom/FSMS/fn_HANDLECURATORS.fsm +++ b/Vcom/FSMS/fn_HANDLECURATORS.fsm @@ -117,7 +117,7 @@ class FSM " VCM_IGNOREWAYPOINTS pushBack _waypoint;" \n "" \n " if (VCM_DEBUG) then {" \n - " systemChat format [""%1 placed waypoint for %2, will not overwrite"", _curator, _grp];" \n + " systemChat format [""VCOM: %1 placed waypoint for %2, will not overwrite"", _curator, _grp];" \n " };" \n " }" \n " ]);" \n diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 5b87780..0cfe5ea 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -561,7 +561,7 @@ class FSM " { deleteWaypoint ((waypoints (group _this)) select 0); };" \n "};" \n "" \n - "if (VCM_Debug) then {systemchat ""COMBAT END"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: COMBAT END"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -665,7 +665,7 @@ class FSM action=/*%FSM*/"[_Leader] spawn VCM_fnc_FlankMove;" \n "_WaypointGen = time;" \n "" \n - "if (VCM_Debug) then {systemchat ""WAYPOINT GENERATION"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: WAYPOINT GENERATION"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -679,7 +679,7 @@ class FSM action=/*%FSM*/"_Cover2Cover = time;" \n "[_Leader,100] call VCM_fnc_ForceMove;" \n "" \n - "if (VCM_Debug) then {systemchat ""MOVE TO COVER"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: MOVE TO COVER"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -692,7 +692,7 @@ class FSM condition=/*%FSM*/"(count _StaticList > 0) && {_BackbkC4 + 120 < time}"/*%FSM*/; action=/*%FSM*/"//[_x,_CurrentBackPack,_VCOM_HASUAV]" \n "" \n - "if (VCM_Debug) then {diag_log ""Static Weapon Check""};" \n + "if (VCM_Debug) then {diag_log ""VCOM: Static Weapon Check""};" \n "" \n "private [""_t"", ""_wait""];" \n "_t = time;" \n @@ -765,7 +765,7 @@ class FSM condition=/*%FSM*/"(_BackbkC7 + 30 < time) && {((_NearestEnemy distance2D _leader) < 800)} && {[_Group] call VCM_fnc_EmptyStatic};"/*%FSM*/; action=/*%FSM*/"_Group call VCM_fnc_ArmStatics;_BackbkC7 = time;" \n "" \n - "if (VCM_Debug) then {systemchat ""ARM STATICS"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: ARM STATICS"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -783,7 +783,7 @@ class FSM "private _Wait = 120;" \n "_CurLGar = true;" \n "" \n - "if (VCM_Debug) then {systemchat ""GARRISON BUILDING"";};" \n + "if (VCM_Debug) then {systemchat ""VCOM: GARRISON BUILDING"";};" \n "//systemchat ""GARRISON LIGHT"";"/*%FSM*/; }; /*%FSM*/ @@ -805,7 +805,7 @@ class FSM "} foreach _MineList;" \n "_BackbkC6 = time;" \n "" \n - "if (VCM_Debug) then {systemchat ""MINE PLACE"";};"/*%FSM
*/; + "if (VCM_Debug) then {systemchat ""VCOM: MINE PLACE"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -826,7 +826,7 @@ class FSM "} foreach _SatchelList;" \n "_BackbkC5 = time;" \n "" \n - "if (VCM_Debug) then {systemchat ""SATCHEL PLACE"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: SATCHEL PLACE"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -844,7 +844,7 @@ class FSM " case resistance: {VCM_ARTYRT = time;}; " \n "};" \n "" \n - "if (VCM_Debug) then {systemchat ""ATTEMPT TO CALL ARTILLERY"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: ATTEMPT TO CALL ARTILLERY"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -860,7 +860,7 @@ class FSM "private _Wait = 10;" \n "_BackbkC8 = time;" \n "" \n - "if (VCM_Debug) then {systemchat ""CLEAR BUILDING"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat ""VCOM: CLEAR BUILDING"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -871,7 +871,7 @@ class FSM to="Return"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/"if (VCM_Debug) then {systemchat ""CONTINUE"";};"/*%FSM*/; + action=/*%FSM*/"if (VCM_Debug) then {systemchat ""VCOM: CONTINUE"";};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ diff --git a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf index 6fd929b..8148b04 100644 --- a/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HealSelf.sqf @@ -17,7 +17,7 @@ private "_rtrn"; if (alive _this && {"FirstAidKit" in items _this} && {{_x > 0.25} count (getAllHitPointsDamage _this select 2) != 0}) then { _this action ["HealSoldierSelf", _this]; - if VCM_DEBUG then {systemChat format ["%1 healing self", _this]}; + if VCM_DEBUG then {systemChat format ["VCOM: %1 healing self", _this]}; _rtrn = true; } else { diff --git a/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf b/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf index 7dc5087..549a217 100644 --- a/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf +++ b/Vcom/Functions/VCM_Functions/fn_HearingAids.sqf @@ -44,7 +44,7 @@ if ((_timeShot + 20) < time) then private _atch = _unit weaponAccessories _mzl param [0, ""]; private _return = (!(_atch isEqualTo "")) && {getNumber(configFile >> "CfgWeapons" >> _atch >> "ItemInfo" >> "AmmoCoef" >> "audibleFire") < 1}; - if (VCM_Debug) then {diag_log (format ["%2: WEAPON SUPRRESSED - %1",_return,_unit])}; + if (VCM_Debug) then {diag_log (format ["VCOM: %2: WEAPON SUPRRESSED - %1",_return,_unit])}; //systemchat format ["%1",_sup]; if !(_return) then diff --git a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf index 120241b..6da4816 100644 --- a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf +++ b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf @@ -22,6 +22,6 @@ if (isNil "_toAdd") then {_toAdd = 0.25}; { private _kv = _x knowsAbout _unit; _x reveal [_unit,(_kv + _toAdd)]; - if (VCM_Debug) then {diag_log (format ["%1 knowledge of %2 is at %3",_x,_unit,(_kv + _toAdd)])}; + if (VCM_Debug) then {diag_log (format ["VCOM: %1 knowledge of %2 is at %3",_x,_unit,(_kv + _toAdd)])}; }; } foreach _snda; \ No newline at end of file diff --git a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf index 5f73473..f4bba87 100644 --- a/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MedicHeal.sqf @@ -18,7 +18,7 @@ scopeName "main"; params ["_medic","_unit"]; if (not (isNull objectParent _unit) || {alive _unit} || {alive _medic} || {_medic distance2D _unit > 50}) exitWith {}; -if (VCM_DEBUG) then {systemChat format ["%1 attempting to heal %2", _medic, _unit];}; +if (VCM_DEBUG) then {systemChat format ["VCOM: %1 attempting to heal %2", _medic, _unit];}; _medic setVariable ["VCM_MBUSY", true, false]; From e012948dd567a8ba6c3dfe19dc4c3a1d2ccaeba7 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 11:06:49 +0100 Subject: [PATCH 64/83] Tweaked forcemove behavior --- Vcom/FSMS/fn_SQUADBEH.fsm | 16 ++++++++-------- Vcom/Functions/VCM_Functions/fn_ForceMove.sqf | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 0cfe5ea..af43ad9 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -29,7 +29,7 @@ item24[] = {"Combat_BEGIN",4,218,675.000000,325.000000,775.000000,375.000000,110 item25[] = {"Return",8,218,475.000000,75.000000,575.000000,125.000000,0.000000,"Return"}; item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84.000000,"Arty Check"}; item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; -item28[] = {"Flank_Orders",4,4314,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; +item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; @@ -43,7 +43,7 @@ item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.00 item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; -item42[] = {"COVER2COVER",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"COVER2COVER"}; +item42[] = {"MOVE_UP",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"MOVE UP"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,710.397644,1382.855103,830.991211,-192.085358,436,828,1}; -window[] = {2,-1,-1,-32180,-32000,1069,-1224,-479,115,3,454}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,782.369873,1310.882690,948.285583,-55.403885,436,828,1}; +window[] = {2,-1,-1,-181,-1,1060,-1228,-483,106,3,454}; *//*%FSM*/ class FSM { @@ -668,8 +668,8 @@ class FSM "if (VCM_Debug) then {systemchat ""VCOM: WAYPOINT GENERATION"";};"/*%FSM*/; }; /*%FSM*/ - /*%FSM*/ - class COVER2COVER + /*%FSM*/ + class MOVE_UP { itemno = 42; priority = 104.000000; @@ -679,7 +679,7 @@ class FSM action=/*%FSM*/"_Cover2Cover = time;" \n "[_Leader,100] call VCM_fnc_ForceMove;" \n "" \n - "if (VCM_Debug) then {systemchat ""VCOM: MOVE TO COVER"";};"/*%FSM*/; + "if (VCM_Debug) then {systemchat format [""VCOM: %1 MOVING UP"", _Group];};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -870,7 +870,7 @@ class FSM priority = 0.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/"if (VCM_Debug) then {systemchat ""VCOM: CONTINUE"";};"/*%FSM*/; }; /*%FSM*/ diff --git a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index 549b156..5a571b6 100644 --- a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -14,18 +14,21 @@ */ params ["_leader","_moveDist"]; +private ["_movePosition"]; + if (isNil "_moveDist") then {private _moveDist = 100}; + private _grp = (group _leader); private _units = (units _grp) select {alive _x}; private _nearestEnemy = _leader findNearestEnemy _leader; + if (isNull _nearestEnemy) then { _nearestEnemy = _leader call VCM_fnc_ClstEmy; }; -private _curwp = currentWaypoint _grp; -private _wPos = waypointPosition [_grp,_curwp]; +private _wPos = waypointPosition [_grp, (currentWaypoint _grp)]; private _dir = _wPos; if (_wPos isEqualTo [0,0,0]) then { @@ -33,7 +36,14 @@ if (_wPos isEqualTo [0,0,0]) then _dir = _nearestEnemy; }; -private _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; +if !((_wPos distance2D _dir) < _moveDist) then +{ + _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; +} +else +{ + _movePosition = _wPos; //Don't move further than necessary +}; { if (isNull objectParent _x) then From 117de18b0d74842b619d48e587c4b93c8fc06f06 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 15:54:08 +0100 Subject: [PATCH 65/83] Removed extra tabs --- Vcom/VcomInit.sqf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index a022ab9..daa6520 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -73,14 +73,14 @@ if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABL { if (local _x && {simulationEnabled (leader _x)} && {!(isplayer (leader _x))} && {(leader _x) isKindOf "Man"}) then { - private _Grp = _x; - if !(_Grp in VcmAI_ActiveList) then //{!(VCM_SIDEENABLED findIf {_x isEqualTo (side _Grp)} isEqualTo -1)} + private _Grp = _x; + if !(_Grp in VcmAI_ActiveList) then //{!(VCM_SIDEENABLED findIf {_x isEqualTo (side _Grp)} isEqualTo -1)} + { + if !(((units _Grp) findIf {alive _x}) isEqualTo -1) then { - if !(((units _Grp) findIf {alive _x}) isEqualTo -1) then - { - _x call VCM_fnc_SquadExc; - }; + _x call VCM_fnc_SquadExc; }; + }; }; } foreach allGroups; }; From 31614f585d5f2dda334c0cd6f18337b311adeeab Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 17:45:58 +0100 Subject: [PATCH 66/83] Overhauled "Light Garrison" feature ##Fixed This feature would never fire previously ##Added Debug messages More comments ##Changed Search distance lowered Many unneeded variables removed AI will garrison the closest building, instead of a random one ##Also included FSM now has a script handle that can be found through ```_group getvariable "VCM_SQUADFSM"``` --- Vcom/FSMS/fn_SQUADBEH.fsm | 40 +++++---- Vcom/Functions/VCM_CBASettings.sqf | 13 +++ .../VCM_Functions/fn_GarrisonLight.sqf | 84 ++++++++++++------- Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + userconfig/VCOM_AI/AISettingsV3.hpp | 1 + 5 files changed, 95 insertions(+), 44 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index af43ad9..ede1fa6 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -31,7 +31,7 @@ item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84. item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; -item30[] = {"GarrisonBuilding",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"GarrisonBuildingTemp"}; +item30[] = {"Light_Garrison",4,4314,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,782.369873,1310.882690,948.285583,-55.403885,436,828,1}; -window[] = {2,-1,-1,-181,-1,1060,-1228,-483,106,3,454}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,790.898010,1363.081055,769.759888,-88.514755,552,828,1}; +window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; *//*%FSM*/ class FSM { @@ -163,6 +163,7 @@ class FSM "private _BackbkCC4 = -120;" \n "private _BackbkC7 = -30;" \n "private _BackbkC8 = -120;" \n + "private _BackbkC9 = -300;" \n "private _CurLGar = false;" \n "private _VCOM_GARRISONED = false;" \n "private _Beh = (behaviour _leader);" \n @@ -175,6 +176,8 @@ class FSM "private _CurUnits = (units _Group);" \n "private _ehList = [];" \n "" \n + "_Group setVariable [""VCM_SQUADFSM"", _thisFSM, VCM_DEBUG]; // Script handle, global if debug is on" \n + "" \n "_Group call VCM_fnc_ArtyManage;" \n "private _isskilldisabled = _Group getVariable ""VCM_Skilldisable"";" \n "if (VCM_SKILLCHANGE && isnil ""_isskilldisabled"") then {_Group call VCM_AIDIFSET};" \n @@ -768,23 +771,33 @@ class FSM "if (VCM_Debug) then {systemchat ""VCOM: ARM STATICS"";};"/*%FSM*/; }; /*%FSM*/ - /*%FSM*/ - class GarrisonBuilding + /*%FSM*/ + class Light_Garrison { itemno = 30; priority = 88.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_BackbkC3 + 300) < time && {(round (random 100)) > 20} && {!_CurLGar}" \n + condition=/*%FSM*/"!(VCM_LGARRISONCHANCE isEqualTo 0) &&" \n + "{(_BackbkC9 + 300) < time} &&" \n + "{" \n + " private _rtrn = false;" \n + " if ((random 100) > VCM_LGARRISONCHANCE) then" \n + " {" \n + " _Bacbk9 = time;" \n + " } else" \n + " {" \n + " _rtrn = true;" \n + " };" \n + " _rtrn" \n + "} &&" \n + "{!_CurLGar}" \n ""/*%FSM*/; - action=/*%FSM*/"_this call VCM_fnc_GarrisonLight;" \n - "_BackbkC3 = time;" \n + action=/*%FSM*/"_Group call VCM_fnc_GarrisonLight;" \n + "_BackbkC9 = time;" \n "private _t = time;" \n "private _Wait = 120;" \n - "_CurLGar = true;" \n - "" \n - "if (VCM_Debug) then {systemchat ""VCOM: GARRISON BUILDING"";};" \n - "//systemchat ""GARRISON LIGHT"";"/*%FSM*/; + "_CurLGar = true;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -893,8 +906,7 @@ class FSM { name = "Five_Minute_Chec"; itemno = 32; - init = /*%FSM*/"_BackbkC3 = time;" \n - "_CurLGar = false;"/*%FSM*/; + init = /*%FSM*/"_BackbkC3 = time;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index abd07e7..11e8ef7 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -227,6 +227,19 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +[ + "VCM_LGARRISONCHANCE", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "SLIDER", // setting type + ["Chance for AI to temporarily garrison buildings", "This is checked every five minutes. 0 = Disabled."], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + [0,100,20,0], // data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_LGARRISONCHANCE = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; + [ "VCM_ARTYDELAY", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "SLIDER", // setting type diff --git a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf index 2ab9b80..28873f2 100644 --- a/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf +++ b/Vcom/Functions/VCM_Functions/fn_GarrisonLight.sqf @@ -1,6 +1,6 @@ /* - Author: Genesis + Author: Genesis, overhauled by Freddo Description: Function for telling a group to temporarily garrison a structure. The group will leave it shortly after. @@ -12,45 +12,69 @@ NOTHING */ -private _leader = (leader _this); -private _nBuildingLst = nearestObjects [_leader, ["House", "Building"], 50]; -private _buildingPositions = []; +private _group = _this; +private _leader = (leader _group); +private _foundBuildings = []; +private _units = units _group; { - if (count ([_x] call BIS_fnc_buildingPositions) > 3) then {_buildingPositions pushback _x;}; -} foreach _nBuildingLst; + if (count ([_x] call BIS_fnc_buildingPositions) > count _units) then {_foundBuildings pushback _x;}; +} foreach (nearestObjects [_leader, ["House", "Building"], 50]); //Exit if no compatible buildings found -if (_buildingPositions isEqualTo []) exitWith {}; +if (_foundBuildings isEqualTo []) exitWith {(_group getVariable "VCM_SQUADFSM") setFSMVariable ["_CurLGar", false];}; -private _tempA = [selectRandom _buildingPositions] call BIS_fnc_buildingPositions; -private _groupUnits = units _this; -if (count _tempA > 0) then +private _buildingPositions = [_foundBuildings select 0] call BIS_fnc_buildingPositions; + +if VCM_DEBUG then {systemChat format ["VCOM: %1 PERFORMING LIGHT GARRISON", _group]}; { + if (isNull objectParent _x) then { - private _foot = isNull objectParent _x; - if (_foot) then + private _buildingPos = selectRandom _buildingPositions; + _x doMove _buildingPos; + [_x,_buildingPos] spawn { - private _buildingLocation = selectRandom _tempA; - _x doMove _buildingLocation; - [_x,_buildingLocation] spawn + params ["_unit","_buildingPos"]; + private _group = group _unit; + if (isNil "_buildingPos") exitWith {}; + private _t = time; // Break out of loop if time passes certain amount + // Move to building position + while { - params ["_leader","_buildingLocation"]; - if (isNil "_buildingLocation") exitWith {}; - while {(alive _leader) && {_leader distance _buildingLocation < 1.3}} do - { - sleep 3; - _leader doMove _buildingLocation; - }; - _leader disableAI "PATH"; + (alive _unit) && + {_t + 60 > time} && + {_unit distance _buildingPos > 1.3} && + {(_group getVariable "VCM_SQUADFSM") getFSMVariable ["_CurLGar", false]} + } do + { + sleep 3; + _unit doMove _buildingPos; + }; + + // If move times out or unit dies, skip. + if + ( + (alive _unit) && + {_t + 60 > time} && + {(_group getVariable "VCM_SQUADFSM") getFSMVariable ["_CurLGar", false]} + ) then + { + _unit disableAI "PATH"; sleep 120; - if (alive _leader) then + }; + + // if unit is leader, ungarrison entire group. + if (leader _unit isEqualTo _unit) then + { + private _group = group _unit; + (_group getVariable "VCM_SQUADFSM") setFSMVariable ["_CurLGar", false]; { - _leader enableAI "PATH"; - }; + _x enableAI "PATH"; + } forEach units _group; + if VCM_DEBUG then {systemChat format ["VCOM: %1 UN-L-GARRISONING BUILDING", _group]}; }; - private _rmv = _tempA findIf {_buildingLocation isEqualTo _x}; - _tempA deleteAt _rmv; }; - } foreach _groupUnits; -}; \ No newline at end of file + private _rmv = _buildingPositions findIf {_buildingPos isEqualTo _x}; + _buildingPositions deleteAt _rmv; + }; +} foreach _units; \ No newline at end of file diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index a6dce06..a743242 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -18,6 +18,7 @@ Vcm_Settings = VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine + VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index f31b0fe..cee8ea9 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -18,6 +18,7 @@ Vcm_Settings = VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 75; //Chance to lay a mine + VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. From 72cd24f934b95e0185baa268b165cbaf57e8013b Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 18:31:01 +0100 Subject: [PATCH 67/83] Mine plant bugfix AI will no longer plant mines while unconscious(?) Chance of placing mines lowered --- Vcom/FSMS/fn_SQUADBEH.fsm | 28 ++++++++++++------- Vcom/Functions/VCM_CBASettings.sqf | 4 +-- Vcom/Functions/VCM_Functions/fn_MinePlant.sqf | 6 ++-- Vcom/Functions/VcomAI_DefaultSettings.sqf | 2 +- userconfig/VCOM_AI/AISettingsV3.hpp | 2 +- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index ede1fa6..9a58c74 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -31,14 +31,14 @@ item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84. item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; -item30[] = {"Light_Garrison",4,4314,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; +item30[] = {"Light_Garrison",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; -item37[] = {"MinePlant",4,218,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; +item37[] = {"MinePlant",4,4314,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; @@ -114,7 +114,7 @@ link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,790.898010,1363.081055,769.759888,-88.514755,552,828,1}; -window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; +window[] = {2,-1,-1,-181,-1,1034,-1254,-509,80,3,570}; *//*%FSM*/ class FSM { @@ -807,18 +807,26 @@ class FSM priority = 86.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(count _MineList > 0) && {_BackbkC6 + 30 < time}"/*%FSM*/; + condition=/*%FSM*/"_BackbkC6 + 30 < time &&" \n + "{" \n + " private _rtrn = false;" \n + " if ((random 100) > VCM_MINECHANCE) then" \n + " {" \n + " _BackbkC6 = time;" \n + " } else" \n + " {" \n + " _rtrn = true;" \n + " };" \n + " _rtrn" \n + "} &&" \n + "{count _MineList > 0}"/*%FSM*/; action=/*%FSM*/"//[_x,(_Vcom_MineObject select 0)]" \n "{" \n - "private _Foot = isNull objectParent (_x select 0);" \n - "if (_Foot) then" \n + " if (isNull objectParent (_x select 0)) then" \n " { " \n " [(_x select 0),(_x select 1)] spawn VCM_fnc_MinePlant;" \n " };" \n - "} foreach _MineList;" \n - "_BackbkC6 = time;" \n - "" \n - "if (VCM_Debug) then {systemchat ""VCOM: MINE PLACE"";};"/*%FSM*/; + "} foreach _MineList;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 11e8ef7..f3060b1 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -217,9 +217,9 @@ if !(CBAACT) exitwith {}; [ "VCM_MINECHANCE", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "SLIDER", // setting type - "Chance for AI to place a mine, once in combat.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + ["AI mine placing chance", "This is checked every 30 seconds while in combat. 0 = disabled"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [0,100,75,0], // data for this setting: + [0,100,10,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; diff --git a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf index a0e167e..93f91d0 100644 --- a/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf +++ b/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf @@ -14,7 +14,9 @@ params ["_unit", "_mineArray"]; -if (VCM_MINECHANCE < (round (random 100)) || {isPlayer _unit}) exitWith {}; +if ((lifeState _unit != "HEALTHY") || {isPlayer _unit}) exitWith {}; + +if (VCM_Debug) then {systemchat format ["VCOM: %1 PLACING MINE", _unit];}; private _mineType = _mineArray select 0; @@ -82,7 +84,7 @@ _unitSide = (side _unit); if (_mine isEqualTo "") exitWith {}; -VCOM_mineArray pushBack [_Mine,_unitSide]; +VCOM_mineArray pushBack [_mine,_unitSide]; [_Mine, false] remoteExecCall ["enableSimulationGlobal",2]; /* diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index a743242..4604d63 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -17,7 +17,7 @@ Vcm_Settings = VCM_ARTYENABLE = true; //Enable improved artillery handling. VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 75; //Chance to lay a mine + VCM_MINECHANCE = 10; //Chance to lay a mine VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index cee8ea9..6aeb610 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -17,7 +17,7 @@ Vcm_Settings = VCM_ARTYENABLE = true; //Enable improved artillery handling. VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 75; //Chance to lay a mine + VCM_MINECHANCE = 10; //Chance to lay a mine VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled From 54c7df43f14974a47aa8852ff297ac2bdc537702 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 18:55:29 +0100 Subject: [PATCH 68/83] Tweaked VCM_fnc_ForceMove Will no longer trigger if distance is too far, or too short. --- Vcom/FSMS/fn_SQUADBEH.fsm | 11 +++++---- Vcom/Functions/VCM_Functions/fn_ForceMove.sqf | 23 +++++++++++-------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 9a58c74..fed4a8f 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -38,12 +38,12 @@ item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,9 item34[] = {"TwoMinuteChecks",4,218,-400.000000,300.000000,-300.000000,350.000000,940.000000,"TwoMinuteChecks"}; item35[] = {"Two_Minute_Check",2,250,-400.000000,150.000000,-300.000000,200.000000,0.000000,"Two Minute Checks"}; item36[] = {"SatchelPlant",4,218,900.000000,150.000000,1000.000000,200.000000,85.000000,"SatchelPlant"}; -item37[] = {"MinePlant",4,4314,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; +item37[] = {"MinePlant",4,218,850.000000,125.000000,950.000000,175.000000,86.000000,"MinePlant"}; item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.000000,"ArmStatics"}; item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; -item42[] = {"MOVE_UP",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"MOVE UP"}; +item42[] = {"MOVE_UP",4,4314,1150.000000,275.000000,1250.000000,325.000000,104.000000,"MOVE UP"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; @@ -114,7 +114,7 @@ link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,790.898010,1363.081055,769.759888,-88.514755,552,828,1}; -window[] = {2,-1,-1,-181,-1,1034,-1254,-509,80,3,570}; +window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; *//*%FSM*/ class FSM { @@ -682,7 +682,7 @@ class FSM action=/*%FSM*/"_Cover2Cover = time;" \n "[_Leader,100] call VCM_fnc_ForceMove;" \n "" \n - "if (VCM_Debug) then {systemchat format [""VCOM: %1 MOVING UP"", _Group];};"/*%FSM*/; + ""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -807,7 +807,8 @@ class FSM priority = 86.000000; to="Return"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_BackbkC6 + 30 < time &&" \n + condition=/*%FSM*/"!(VCM_MINECHANCE isEqualTo 0) &&" \n + "{_BackbkC6 + 30 < time} &&" \n "{" \n " private _rtrn = false;" \n " if ((random 100) > VCM_MINECHANCE) then" \n diff --git a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index 5a571b6..b5b8e5b 100644 --- a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -44,16 +44,19 @@ else { _movePosition = _wPos; //Don't move further than necessary }; - +if ((_wPos distance2D _leader) > 20 && {(_wPos distance2D _leader) < 500}) then { - if (isNull objectParent _x) then + if (VCM_Debug) then {systemchat format ["VCOM: %1 MOVING UP", _grp];}; { - [_x,_movePosition] spawn + if (isNull objectParent _x) then { - params ["_unit","_movePos"]; - sleep (1 + (random 10)); - dostop _unit; - _unit domove _movePos; - }; - }; -} foreach _units; + [_x,_movePosition] spawn + { + params ["_unit","_movePos"]; + sleep (1 + (random 10)); + dostop _unit; + _unit domove _movePos; + }; + }; + } foreach _units; +}; \ No newline at end of file From 2e4605ecf478059342491e8851670284b0075306 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 18:59:42 +0100 Subject: [PATCH 69/83] Added parameter for AI healing --- Vcom/FSMS/fn_SQUADBEH.fsm | 8 ++++---- Vcom/Functions/VCM_CBASettings.sqf | 12 ++++++++++++ Vcom/Functions/VcomAI_DefaultSettings.sqf | 1 + userconfig/VCOM_AI/AISettingsV3.hpp | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index fed4a8f..9bc2c8c 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -18,7 +18,7 @@ item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000 item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; -item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; +item17[] = {"Full_Check",2,4346,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; @@ -43,7 +43,7 @@ item38[] = {"ArmStatics",4,218,800.000000,100.000000,900.000000,150.000000,91.00 item39[] = {"True",8,218,750.000000,75.000000,850.000000,125.000000,0.000000,"True"}; item40[] = {"Exit_Cond",4,218,675.000000,475.000000,775.000000,525.000000,700.000000,"Exit Cond"}; item41[] = {"Exit_FSM_2",1,250,700.000000,600.000000,775.000000,650.000000,0.000000,"Exit FSM"}; -item42[] = {"MOVE_UP",4,4314,1150.000000,275.000000,1250.000000,325.000000,104.000000,"MOVE UP"}; +item42[] = {"MOVE_UP",4,218,1150.000000,275.000000,1250.000000,325.000000,104.000000,"MOVE UP"}; item43[] = {"Clear_Building",4,218,1200.000000,300.000000,1300.000000,350.000000,50.000000,"Clear Building"}; item44[] = {"Combat_END",4,218,684.709351,384.913361,784.709351,434.913361,90.000000,"Combat END"}; link0[] = {0,1}; @@ -113,7 +113,7 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,790.898010,1363.081055,769.759888,-88.514755,552,828,1}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-416.698486,155.484497,769.759888,-88.514755,552,828,1}; window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; *//*%FSM*/ class FSM @@ -453,7 +453,7 @@ class FSM "_L1 params [""_StaticList"",""_SatchelList"",""_MineList""];" \n "_BackbkC = time;" \n "" \n - "_group call VCM_fnc_MedicalHandler;" \n + "if VCM_AIHEALING then {_group call VCM_fnc_MedicalHandler;};" \n "" \n "if (VCM_FRMCHANGE && {!(_group getVariable [""VCM_DisableForm"",false])}) then" \n "{" \n diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index f3060b1..95cc3e2 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -160,6 +160,18 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; +[ + "VCM_AIHEALING", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. + "CHECKBOX", // setting type + ["VCOM handle healing", "Makes AI heal themselves without being ordered"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. + true,// data for this setting: + true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer + { + params ["_value"]; + VCM_AIHEALING = _value; + } // function that will be executed once on mission start and every time the setting is changed. +] call CBA_Settings_fnc_init; [ "VCM_HEARINGDISTANCE", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 4604d63..80ce967 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -36,6 +36,7 @@ Vcm_Settings = VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL + VCM_AIHEALING = true; //Makes AI heal themselves VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. VCM_WARNDIST = 1000; //How far AI can request help from other groups. diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 6aeb610..442a706 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -37,6 +37,7 @@ Vcm_Settings = VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI VCM_RAGDOLL = true; //Should AI ragdoll when hit VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL + VCM_AIHEALING = true; //Makes AI heal themselves VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. VCM_WARNDIST = 1000; //How far AI can request help from other groups. From c1bc3aa034781bee237511b0d5a42c51691f5c0c Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 18:59:57 +0100 Subject: [PATCH 70/83] Added ACE note --- Vcom/Functions/VCM_CBASettings.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 95cc3e2..2384d33 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -163,7 +163,7 @@ if !(CBAACT) exitwith {}; [ "VCM_AIHEALING", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. "CHECKBOX", // setting type - ["VCOM handle healing", "Makes AI heal themselves without being ordered"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. + ["VCOM handle healing", "Makes AI heal themselves without being ordered. Disabled when ACE medical for AI is active"], // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. true,// data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer From fbd9753389df98dd6d3bc2adc1dbe188404e8f4d Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 19:03:47 +0100 Subject: [PATCH 71/83] Minor tweak to light garrison --- Vcom/FSMS/fn_SQUADBEH.fsm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 9bc2c8c..78be52e 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -18,7 +18,7 @@ item13[] = {"Continue2LeaderC",8,218,350.000000,375.000000,450.000000,425.000000 item14[] = {"Hold_WP",4,218,400.000000,200.000000,500.000000,250.000000,48.000000,"Hold WP"}; item15[] = {"RearmCheck",2,250,-200.000000,150.000000,-100.000000,200.000000,0.000000,"RearmCheck"}; item16[] = {"Return",2,250,250.000000,200.000000,350.000000,250.000000,0.000000,"Return"}; -item17[] = {"Full_Check",2,4346,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; +item17[] = {"Full_Check",2,250,-100.000000,150.000000,0.000000,200.000000,0.000000,"Full Check"}; item18[] = {"Continue2StartPo",8,218,0.000000,300.000000,100.000000,350.000000,0.000000,"Continue2StartPoint"}; item19[] = {"Continue2StartPo",4,218,100.000000,300.000000,200.000000,350.000000,0.000000,"Continue2StartPoint2"}; item20[] = {"Leader_Cycle_Beg",3,250,475.000000,275.000000,575.000000,325.000000,0.000000,"Leader Cycle Beginning"}; @@ -31,7 +31,7 @@ item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84. item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; -item30[] = {"Light_Garrison",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; +item30[] = {"Light_Garrison",4,4314,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; @@ -113,7 +113,7 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-416.698486,155.484497,769.759888,-88.514755,552,828,1}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,741.142639,1313.325439,769.759888,-88.514755,552,828,1}; window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; *//*%FSM*/ class FSM @@ -793,11 +793,12 @@ class FSM "} &&" \n "{!_CurLGar}" \n ""/*%FSM*/; - action=/*%FSM*/"_Group call VCM_fnc_GarrisonLight;" \n + action=/*%FSM*/"_CurLGar = true;" \n + "_Group call VCM_fnc_GarrisonLight;" \n "_BackbkC9 = time;" \n "private _t = time;" \n "private _Wait = 120;" \n - "_CurLGar = true;"/*%FSM*/; + ""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ From 75e2023ff2f93685f891264f2410186511a9e8ca Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 16 Dec 2018 19:47:37 +0100 Subject: [PATCH 72/83] Removed duplicate config option --- Vcom/Functions/VcomAI_DefaultSettings.sqf | 3 +-- userconfig/VCOM_AI/AISettingsV3.hpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index 80ce967..ef60c69 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -13,8 +13,6 @@ Vcm_Settings = Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. - Vcm_ArtilleryArray = []; //Leave this alone - VCM_ARTYENABLE = true; //Enable improved artillery handling. VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 10; //Chance to lay a mine @@ -29,6 +27,7 @@ Vcm_Settings = VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + Vcm_ArtilleryArray = []; //Leave this alone //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index 442a706..b4e6111 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -13,8 +13,6 @@ Vcm_Settings = Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI VcmAI_ActiveList = []; //Leave this alone. - Vcm_ArtilleryArray = []; //Leave this alone - VCM_ARTYENABLE = true; //Enable improved artillery handling. VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. VCM_Debug = false; //Enable debug mode. VCM_MINECHANCE = 10; //Chance to lay a mine @@ -30,6 +28,7 @@ Vcm_Settings = VCM_ARTYET = -(VCM_ARTYDELAY); VCM_ARTYRT = -(VCM_ARTYDELAY); VCM_ARTYSPREAD = 400; //Spread of artillery rounds; + Vcm_ArtilleryArray = []; //Leave this alone //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ VCM_FFEARTILLERY = true; From ee817ceca2db2e309413498bb6d82a308124e17d Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 29 Dec 2018 17:47:45 +0100 Subject: [PATCH 73/83] tweaked VCM_fnc_FlankMove Removed redundant knowsabout check, vcom only replaces MOVE type waypoints. --- Vcom/Functions/VCM_Functions/fn_FlankMove.sqf | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf index 7e601e2..83623a7 100644 --- a/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf @@ -29,21 +29,10 @@ if (isNull _nearestEnemy) then if (isNil "_nearestEnemy" || _nearestEnemy isEqualTo [0,0,0]) exitWith {}; if ((vehicle _nearestEnemy) isKindOf "Air") exitWith {}; -_grp setBehaviour "COMBAT"; -//If they don't know about the enemy position, then just exit the function -private _knows = _grp knowsAbout _nearestEnemy; -if (_knows < 2) exitwith -{ - sleep 10; - [_leader] spawn VCM_fnc_FlankMove; -}; - - if ((count (waypoints _grp)) >= 3) exitWith {}; -//If first waypoint is DESTROY, DO NOT change waypoints. -private _index = currentWaypoint _grp; -private _wType = waypointType [_grp,_index]; -if (_wType isEqualTo "DESTROY" || _wType isEqualTo "SAD" || _wType isEqualTo "SCRIPTED") exitWith {}; + +private _wType = waypointType [_grp, (currentWaypoint _grp)]; +if !(_wType isEqualTo "MOVE" || _wType isEqualTo "") exitWith {}; while {(count (waypoints _grp)) > 1} do { @@ -86,7 +75,7 @@ switch (_wayPointType) do { _grp setCurrentWaypoint [_grp,(_waypoint0 select 1)]; private _waypoint0 = _grp addwaypoint [_finalP,0]; _waypoint0 setwaypointtype "MOVE"; -_waypoint0 setWaypointSpeed "FULL"; + _waypoint0 setWaypointSpeed "FULL"; }; case "Retreat": { @@ -104,8 +93,7 @@ _waypoint0 setWaypointSpeed "FULL"; case "Flank": { private _myEnemyPos = getpos _nearestEnemy; - private _rnd = random 100; - private _dist = (_rnd + 100); + private _dist = ((random 100) + 100); private _dir = random 360; private _positions = [(_myEnemyPos select 0) + (sin _dir) * _dist, (_myEnemyPos select 1) + (cos _dir) * _dist, 0]; private _myPlaces = selectBestPlaces [_myEnemyPos, 250,"((6*hills + 2*forest + 4*houses + 2*meadow) - sea + (2*trees)) - (1000*deadbody)", 100, 5]; @@ -124,8 +112,7 @@ _waypoint0 setWaypointSpeed "FULL"; case "FlankL": { private _myEnemyPos = getpos _nearestEnemy; - private _rnd = random 100; - private _dist = (_rnd + 100); + private _dist = ((random 100) + 100); private _dir = random 360; private _leaderPos = getpos _leader; private _positions = [(_myEnemyPos select 0) + (sin _dir) * _dist, (_myEnemyPos select 1) + (cos _dir) * _dist, 0]; From c71f20434782e80dbd600e71f18a41d0b37d50a2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 29 Dec 2018 18:50:31 +0100 Subject: [PATCH 74/83] Added optional parameter to fn_KnowAbout Firing your weapon repeatedly will no longer reveal you to level 4 due to this. --- Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf | 12 ++++++++---- Vcom/cfgFunctions.hpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf index 6da4816..93e9143 100644 --- a/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf +++ b/Vcom/Functions/VCM_Functions/fn_KnowAbout.sqf @@ -9,19 +9,23 @@ 0: ARRAY 1: OBJECT - Unit that will be revealed to above array 2: NUMBER - Knowledge value to add + 3: NUMBER - Maximum knowsAbout value added Returns: NOTHING */ -params ["_snda","_unit","_toAdd"]; +params ["_snda","_unit","_toAdd", "_limit"]; if (isNil "_toAdd") then {_toAdd = 0.25}; - +if (isNil "_limit") then {_limit = 1.5}; { if (local _x) then { private _kv = _x knowsAbout _unit; - _x reveal [_unit,(_kv + _toAdd)]; - if (VCM_Debug) then {diag_log (format ["VCOM: %1 knowledge of %2 is at %3",_x,_unit,(_kv + _toAdd)])}; + if (_kv < _limit) then + { + _x reveal [_unit,(_kv + _toAdd)]; + if (VCM_Debug) then {diag_log (format ["VCOM: %1 knowledge of %2 is at %3",_x,_unit,(_kv + _toAdd)])}; + }; }; } foreach _snda; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 4c47aaf..8d04e8c 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -110,7 +110,7 @@ class VCOM // group call VCM_fnc_KitChk; class KitChk {}; - // [array, unitToReveal, revealAmount] call VCM_fnc_KnowAbout; + // [array, unitToReveal, revealAmount, _revealLimit] call VCM_fnc_KnowAbout; class KnowAbout {}; // group call VCM_fnc_MedicalHandler From 645b163fad06386016a1b5133c0604d50bdb8fe2 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 29 Dec 2018 18:52:25 +0100 Subject: [PATCH 75/83] Tweaked CBA settings --- Vcom/Functions/VCM_CBASettings.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index 2384d33..a0e3505 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -178,7 +178,7 @@ if !(CBAACT) exitwith {}; "SLIDER", // setting type "Distance AI can hear gunfire.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [0,10000,800,0], // data for this setting: + [0,1500,800,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -191,7 +191,7 @@ if !(CBAACT) exitwith {}; "SLIDER", // setting type "Distance AI will call for reinforcements from.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [0,10000,1000,0], // data for this setting: + [0,2500,1000,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; @@ -204,7 +204,7 @@ if !(CBAACT) exitwith {}; "SLIDER", // setting type "Time (seconds) AI wait before support called.", // Pretty name shown inside the ingame settings menu. Can be stringtable entry. "VCOM SETTINGS", // Pretty name of the category where the setting can be found. Can be stringtable entry. - [0,10000,30,0], // data for this setting: + [0,300,30,0], // data for this setting: true, // "_isGlobal" flag. Set this to true to always have this setting synchronized between all clients in multiplayer { params ["_value"]; From 585e246fc671e005809bf804cddbd4c407bf86d1 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sat, 29 Dec 2018 18:53:24 +0100 Subject: [PATCH 76/83] Formatted fn_ClstWarn --- Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf | 118 +++++++++---------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf index c1f63a8..75da873 100644 --- a/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ClstWarn.sqf @@ -15,16 +15,16 @@ params ["_unit","_killer"]; -private _unitGroup = (group _unit); +private _grp = (group _unit); //If the squad is a TOUGH SQUAD, we just exit here. -if (_unitGroup getVariable ["VCM_TOUGHSQUAD",false] || _unitGroup getVariable ["Vcm_Disable",false] || _unitGroup getVariable ["VCM_NOFLANK",false]) exitWith {}; +if (_grp getVariable ["VCM_TOUGHSQUAD",false] || _grp getVariable ["Vcm_Disable",false] || _grp getVariable ["VCM_NOFLANK",false]) exitWith {}; //If the squad is already calling for help, don't do anything further. -if (_unitGroup getVariable ["VCM_RQSTHELP",false]) exitWith {}; -_unitGroup setVariable ["VCM_RQSTHELP",true]; +if (_grp getVariable ["VCM_RQSTHELP",false]) exitWith {}; +_grp setVariable ["VCM_RQSTHELP",true]; -_unitGroup spawn {sleep 300;_this setVariable ["VCM_RQSTHELP",false];}; +_grp spawn {sleep 300;_this setVariable ["VCM_RQSTHELP",false];}; private _trgtPos = getpos _killer; @@ -42,10 +42,16 @@ if (isNil "_checkStatus" || {(_unit getVariable ["Vcm_Disable",false])} || {!("I private _arrayOrg = _unit call VCM_fnc_FriendlyArray; _arrayOrg = _arrayOrg - VCM_ARTYLST; //Remove players -{if (isPlayer _x) then {_arrayOrg deleteAt _foreachIndex;};} foreach _arrayOrg; +{ + if (isPlayer _x) then + { + _arrayOrg deleteAt _foreachIndex; + }; +} foreach _arrayOrg; private _array2 = _killer call VCM_fnc_FriendlyArray; _array2 = _array2 - VCM_ARTYLST; + { if (_x distance _killer > 501) then {_array2 = _array2 - [_x];}; } foreach _array2; @@ -56,76 +62,70 @@ sleep VCM_WARNDELAY; private _EnemyCount = count _array2; private _RespondCount = 0; -private _aliveCount = {alive _x} count (units _unitGroup); +private _aliveCount = {alive _x} count (units _grp); if (_aliveCount > 0) then { + { if (_RespondCount < _EnemyCount) then { - + private _checkStatus2 = assignedItems _x; if (!(isNil "_checkStatus2") && {!(_x getVariable ["Vcm_Disable",false])} && {!(_x getVariable ["VCM_NOFLANK",false])} && {!(_x getVariable ["VCM_NORESCUE",false])} && {!(_x getVariable ["VCM_MOVE2SUP",false])} && {"ItemRadio" in _checkStatus2}) then { - - private _group = group _x; - if ((count (waypoints _group)) < 2) then + + private _group = group _x; + if ((count (waypoints _group)) < 2) then + { + + private _WaypointCheck = _group call VCM_fnc_WyptChk; + if (count _WaypointCheck < 1) then + { + + if ((_x distance2D _unit) <= VCM_WARNDIST) then { - - private _WaypointCheck = _group call VCM_fnc_WyptChk; - if (count _WaypointCheck < 1) then - { + if VCM_DEBUG then {systemChat format ["VCOM: %1 moving to support %2", _x, _unit]}; + _x setbehaviour "AWARE"; + (group _x) setVariable ["VCM_MOVE2SUP",true]; + if (!(vehicle _x isEqualTo _x)) then + { + _RespondCount = _RespondCount + count (crew (vehicle _x)); + private _Driver = (driver (vehicle _x)); + //systemchat format ["_RespondCountDRIVER %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; + _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; + _waypoint2 setwaypointtype "MOVE"; + _waypoint2 setWaypointSpeed "NORMAL"; + _waypoint2 setWaypointBehaviour "AWARE"; + } + else + { + _RespondCount = _RespondCount + (count (units (group _x))); + //systemchat format ["_RespondCount %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; + _waypoint2 = (group _x) addwaypoint[_trgtPos,15,150]; + _waypoint2 setwaypointtype "MOVE"; + _waypoint2 setWaypointSpeed "NORMAL"; + _waypoint2 setWaypointBehaviour "AWARE"; + private _Driver = Driver (vehicle _x); + _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; + _waypoint2 setwaypointtype "MOVE"; + _waypoint2 setWaypointSpeed "NORMAL"; + _waypoint2 setWaypointBehaviour "AWARE"; + }; - if ((_x distance2D _unit) <= VCM_WARNDIST) then - { - - _x setbehaviour "AWARE"; - (group _x) setVariable ["VCM_MOVE2SUP",true]; - if (!(vehicle _x isEqualTo _x)) then - { - _RespondCount = _RespondCount + count (crew (vehicle _x)); - private _Driver = (driver (vehicle _x)); - //systemchat format ["_RespondCountDRIVER %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; - _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; - _waypoint2 setwaypointtype "MOVE"; - _waypoint2 setWaypointSpeed "NORMAL"; - _waypoint2 setWaypointBehaviour "AWARE"; - } - else - { - _RespondCount = _RespondCount + (count (units (group _x))); - //systemchat format ["_RespondCount %1 GROUP: %2",[_EnemyCount,_RespondCount],(group _x)]; - _waypoint2 = (group _x) addwaypoint[_trgtPos,15,150]; - _waypoint2 setwaypointtype "MOVE"; - _waypoint2 setWaypointSpeed "NORMAL"; - _waypoint2 setWaypointBehaviour "AWARE"; - private _Driver = Driver (vehicle _x); - _waypoint2 = (group _Driver) addwaypoint[_trgtPos,15,150]; - _waypoint2 setwaypointtype "MOVE"; - _waypoint2 setWaypointSpeed "NORMAL"; - _waypoint2 setWaypointBehaviour "AWARE"; - }; - - - (group _x) spawn - { - sleep 300; - _this setVariable ["VCM_MOVE2SUP",false]; - }; - - }; + (group _x) spawn + { + sleep 300; + _this setVariable ["VCM_MOVE2SUP",false]; }; - - }; - - + }; + }; - - + }; }; }; } foreach _arrayOrg; From 179409489436475f3667873401c94a848f68f685 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 6 Jan 2019 15:35:19 +0100 Subject: [PATCH 77/83] Tweaked vcm_fnc_forcemove Added "forcespeed -1" --- Vcom/Functions/VCM_Functions/fn_ForceMove.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index b5b8e5b..c1230fe 100644 --- a/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -55,6 +55,7 @@ if ((_wPos distance2D _leader) > 20 && {(_wPos distance2D _leader) < 500}) then params ["_unit","_movePos"]; sleep (1 + (random 10)); dostop _unit; + _unit forceSpeed -1; _unit domove _movePos; }; }; From 6f39806ea9306061efd9f5740302af026a0cdd9f Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 6 Jan 2019 15:57:18 +0100 Subject: [PATCH 78/83] Overhauled initialization Initialization is now done by being defined as a Function with preInit = 1 tag. This allows us to deprecate the init.sqf file. Client init has been split into its own file. Loading parameters has been reworked in order to have more control over when it is loaded. Furthermore, config options are now only loaded on the server rather than broadcasted to all clients. CBA settings have been reworked to be properly visible in the editor by using Extended PreInit EHs. This may solve #67 --- Vcom/Functions/VCM_CBASettings.sqf | 8 - Vcom/Functions/VcomAI_DefaultSettings.sqf | 280 +++++++++++---------- Vcom/VcomInit.sqf | 65 ++--- Vcom/VcomInitClient.sqf | 11 + Vcom/cfgFunctions.hpp | 18 ++ description.ext | 5 +- init.sqf | 3 - userconfig/VCOM_AI/AISettingsV3.hpp | 282 +++++++++++----------- 8 files changed, 328 insertions(+), 344 deletions(-) create mode 100644 Vcom/VcomInitClient.sqf delete mode 100644 init.sqf diff --git a/Vcom/Functions/VCM_CBASettings.sqf b/Vcom/Functions/VCM_CBASettings.sqf index a0e3505..f364efc 100644 --- a/Vcom/Functions/VCM_CBASettings.sqf +++ b/Vcom/Functions/VCM_CBASettings.sqf @@ -1,7 +1,3 @@ -[] spawn -{ -waitUntil {!isNil "CBAACT"}; -if !(CBAACT) exitwith {}; [ "VCM_ActivateAI", // Internal setting name, should always contain a tag! This will be the global variable which takes the value of the setting. @@ -656,8 +652,4 @@ if !(CBAACT) exitwith {}; } // function that will be executed once on mission start and every time the setting is changed. ] call CBA_Settings_fnc_init; - - diag_log "VCOM: Loaded CBA settings"; - -}; diff --git a/Vcom/Functions/VcomAI_DefaultSettings.sqf b/Vcom/Functions/VcomAI_DefaultSettings.sqf index ef60c69..eb9b689 100644 --- a/Vcom/Functions/VcomAI_DefaultSettings.sqf +++ b/Vcom/Functions/VcomAI_DefaultSettings.sqf @@ -1,163 +1,161 @@ -Vcm_Settings = + +/* + ADDITIONAL COMMANDS + (group this) setVariable ["VCM_NOFLANK",true]; //This command will stop the AI squad from executing advanced movement maneuvers. + (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. + (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. + (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. + (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. + (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. + +*/ + +Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI +VcmAI_ActiveList = []; //Leave this alone. +VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. +VCM_Debug = false; //Enable debug mode. +VCM_MINECHANCE = 10; //Chance to lay a mine +VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled + +//VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. +VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. +VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery +VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. +VCM_ARTYDELAY = 300; //Delay between squads requesting artillery +VCM_ARTYWT = -(VCM_ARTYDELAY); +VCM_ARTYET = -(VCM_ARTYDELAY); +VCM_ARTYRT = -(VCM_ARTYDELAY); +VCM_ARTYSPREAD = 400; //Spread of artillery rounds; +Vcm_ArtilleryArray = []; //Leave this alone + +//Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ +VCM_FFEARTILLERY = true; + +VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI +VCM_RAGDOLL = true; //Should AI ragdoll when hit +VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL +VCM_AIHEALING = true; //Makes AI heal themselves +VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) +VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. +VCM_WARNDIST = 1000; //How far AI can request help from other groups. +VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. +VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. +VCM_StealVeh = true; //Will the AI steal vehicles. +VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles +VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. +VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. +VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. + +//VCOM DRIVING. Experimental feature + +Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. +VCM_DrivingDist = 10; // Distance from predicted path to search for objects. High numbers may cause instability. +VCM_DrivingDelay = 0.75; // How often the script should look for obstacles +VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle + +//AI SKILL SETTINGS HERE!!!!!!!!!!!! +//LOW DIFFICULTY +//VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//MEDIUM DIFFICULTY +VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//HIGH DIFFICULTY +//VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//VCOM AI Skill Variables. Default values set to medium difficulty (old default) +//AIMING ACCURACY +VCM_AISKILL_AIMINGACCURACY_W = 0.25; +VCM_AISKILL_AIMINGACCURACY_E = 0.25; +VCM_AISKILL_AIMINGACCURACY_R = 0.25; + +//AIMING SHAKE +VCM_AISKILL_AIMINGSHAKE_W = 0.15; +VCM_AISKILL_AIMINGSHAKE_E = 0.15; +VCM_AISKILL_AIMINGSHAKE_R = 0.15; + +//AIMING SPEED +VCM_AISKILL_AIMINGSPEED_W = 0.35; +VCM_AISKILL_AIMINGSPEED_E = 0.35; +VCM_AISKILL_AIMINGSPEED_R = 0.35; + +VCM_AISIDESPEC = { - /* - ADDITIONAL COMMANDS - (group this) setVariable ["VCM_NOFLANK",true]; //This command will stop the AI squad from executing advanced movement maneuvers. - (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. - (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. - (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. - (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. - (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. - - */ - - Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI - VcmAI_ActiveList = []; //Leave this alone. - VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. - VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 10; //Chance to lay a mine - VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled - - //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. - VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. - VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery - VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. - VCM_ARTYDELAY = 300; //Delay between squads requesting artillery - VCM_ARTYWT = -(VCM_ARTYDELAY); - VCM_ARTYET = -(VCM_ARTYDELAY); - VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; - Vcm_ArtilleryArray = []; //Leave this alone - - //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ - VCM_FFEARTILLERY = true; - - VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI - VCM_RAGDOLL = true; //Should AI ragdoll when hit - VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL - VCM_AIHEALING = true; //Makes AI heal themselves - VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) - VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. - VCM_WARNDIST = 1000; //How far AI can request help from other groups. - VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. - VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. - VCM_StealVeh = true; //Will the AI steal vehicles. - VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles - VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. - VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. - VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. - - //VCOM DRIVING. Experimental feature + //Reallocates skill variables before group skill settings are applied + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. - VCM_DrivingDist = 10; // Distance from predicted path to search for objects. High numbers may cause instability. - VCM_DrivingDelay = 0.75; // How often the script should look for obstacles - VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle - - //AI SKILL SETTINGS HERE!!!!!!!!!!!! - //LOW DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //MEDIUM DIFFICULTY - VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //HIGH DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //VCOM AI Skill Variables. Default values set to medium difficulty (old default) - //AIMING ACCURACY - VCM_AISKILL_AIMINGACCURACY_W = 0.25; - VCM_AISKILL_AIMINGACCURACY_E = 0.25; - VCM_AISKILL_AIMINGACCURACY_R = 0.25; - - //AIMING SHAKE - VCM_AISKILL_AIMINGSHAKE_W = 0.15; - VCM_AISKILL_AIMINGSHAKE_E = 0.15; - VCM_AISKILL_AIMINGSHAKE_R = 0.15; - - //AIMING SPEED - VCM_AISKILL_AIMINGSPEED_W = 0.35; - VCM_AISKILL_AIMINGSPEED_E = 0.35; - VCM_AISKILL_AIMINGSPEED_R = 0.35; - - VCM_AISIDESPEC = - { - //Reallocates skill variables before group skill settings are applied - VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - private _Side = (side (group _this)); - switch (_Side) do { - case west: + private _Side = (side (group _this)); + switch (_Side) do { + case west: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFWEST; - }; - case east: + _this setSkill _x; + } forEach VCM_AIDIFWEST; + }; + case east: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFEAST; - }; - case resistance: + _this setSkill _x; + } forEach VCM_AIDIFEAST; + }; + case resistance: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFRESISTANCE; - }; + _this setSkill _x; + } forEach VCM_AIDIFRESISTANCE; }; }; +}; - VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? - VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. - VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. +VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? +VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. +VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. - /* - EXAMPLE FOR VCM_SKILL_CLASSNAMES +/* +EXAMPLE FOR VCM_SKILL_CLASSNAMES - VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; - VCM_SKILL_CLASSNAMES = [ - ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], - ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] - ]; +VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; +VCM_SKILL_CLASSNAMES = [ + ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], + ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] + ]; - */ +*/ - //Set AI Skill levels - VCM_AIDIFSET = +//Set AI Skill levels +VCM_AIDIFSET = +{ + //Skip if Vcom Skillchange is disabled + if (!VCM_SKILLCHANGE) exitWith {}; { - //Skip if Vcom Skillchange is disabled - if (!VCM_SKILLCHANGE) exitWith {}; + private _unit = _x; + _unit setSkill 0.9; + _unit allowFleeing 0; { - private _unit = _x; - _unit setSkill 0.9; - _unit allowFleeing 0; - { - _unit setSkill _x; - } forEach VCM_AIDIFA; + _unit setSkill _x; + } forEach VCM_AIDIFA; - if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then + if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then + { { + if (typeOf _unit isEqualTo (_x select 0)) exitWith { - if (typeOf _unit isEqualTo (_x select 0)) exitWith - { - _ClassnameSet = true; - _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; - }; - } foreach VCM_SKILL_CLASSNAMES; - }; - - if (VCM_SIDESPECIFICSKILL) then - { - _unit call VCM_AISIDESPEC; - }; + _ClassnameSet = true; + _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; + }; + } foreach VCM_SKILL_CLASSNAMES; + }; - } forEach (units _this); - }; + if (VCM_SIDESPECIFICSKILL) then + { + _unit call VCM_AISIDESPEC; + }; - diag_log "VCOM: Loaded Default Settings"; + } forEach (units _this); }; + +diag_log "VCOM: Loaded Default Settings"; diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index daa6520..dc0991f 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -1,71 +1,40 @@ -//Parameters + +//Global actions compiles +Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; +Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; +Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCM_PublicScript = compileFinal "[] call (_this select 0);"; VCM_ServerAsk = compileFinal "if (isServer) then {publicvariable (_this select 0);};"; -if (isServer) then -{ - if (isFilePatchingEnabled) then - { - private _Filecheck = loadFile "\userconfig\VCOM_AI\AISettingsV3.hpp"; +if !(isServer) exitWith {}; - if !(_FileCheck isEqualTo "") then - { - [] call compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV3.hpp"; - [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; - } - else - { - [] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; - [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; - }; - } - else - { - [] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; - [Vcm_Settings] remoteExec ["VCM_PublicScript",0,false]; - }; -} -else +//Parameters +[] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; //Load default settings +if (isFilePatchingEnabled && {"" != loadFile "\userconfig\VCOM_AI\AISettingsV3.hpp"}) then { - ["Vcm_Settings"] remoteExec ["VCM_ServerAsk",0,false]; - waitUntil {!(isNil "Vcm_Settings")}; - [] call Vcm_Settings; + [] call compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV3.hpp"; //Overwrite with userconfig }; - -waitUntil {!(isNil "VCM_AIMagLimit")}; +[] call VCM_fnc_CBA_Settings; //Overwrite with CBA settings //Mod checks //ACE CHECK -if (not isNil "ACE_Medical_enableFor" && {ACE_Medical_enableFor == 1}) then {VCM_MEDICALACTIVE = false;} else {VCM_MEDICALACTIVE = true;}; -//CBA CHECK -if (isClass(configFile >> "CfgPatches" >> "cba_main")) then {CBAACT = true;} else {CBAACT = false;}; +if (not isNil "ACE_Medical_enableFor" && {ACE_Medical_enableFor isEqualTo 1}) then {VCM_MEDICALACTIVE = false;} else {VCM_MEDICALACTIVE = true;}; -//Global actions compiles -Vcm_PMN = compileFinal "(_this select 0) playMoveNow (_this select 1);"; -Vcm_SM = compileFinal "(_this select 0) switchMove (_this select 1);"; -Vcm_PAN = compileFinal "(_this select 0) playActionNow (_this select 1);"; VCOM_MINEARRAY = []; [] spawn VCM_fnc_MineMonitor; [] spawn VCM_fnc_HANDLECURATORS; -//Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ -if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; - -//Below is loop to check for new AI spawning in to be added to the list [] spawn { + waitUntil {time > 2}; sleep 2; - if (hasInterface) then - { - //Event handlers for players - player addEventHandler ["Fired",{_this call VCM_fnc_HearingAids;}]; - player spawn VCM_fnc_IRCHECK; - player addEventHandler ["Respawn",{_this spawn VCM_fnc_IRCHECK;}]; - }; - [] spawn VCM_fnc_AIDRIVEBEHAVIOR; + //Begin Artillery function created by Rydygier - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ + if (VCM_FFEARTILLERY) then {nul = [] execVM "Vcom\RYD_FFE\FFE.sqf";VCM_ARTYENABLE = false;}; + [] spawn VCM_fnc_AIDRIVEBEHAVIOR; + //Below is loop to check for new AI spawning in to be added to the list while {true} do { if (Vcm_ActivateAI) then diff --git a/Vcom/VcomInitClient.sqf b/Vcom/VcomInitClient.sqf new file mode 100644 index 0000000..5821852 --- /dev/null +++ b/Vcom/VcomInitClient.sqf @@ -0,0 +1,11 @@ +if !(hasInterface) exitWith {}; + +[] spawn +{ + sleep 2; + + //Event handlers for players + player addEventHandler ["Fired",{_this call VCM_fnc_HearingAids;}]; + player spawn VCM_fnc_IRCHECK; + player addEventHandler ["Respawn",{_this spawn VCM_fnc_IRCHECK;}]; +}; \ No newline at end of file diff --git a/Vcom/cfgFunctions.hpp b/Vcom/cfgFunctions.hpp index 8d04e8c..8ceef63 100644 --- a/Vcom/cfgFunctions.hpp +++ b/Vcom/cfgFunctions.hpp @@ -2,6 +2,24 @@ class VCOM { tag = "VCM"; + class Init + { + class VcomInit + { + file = "Vcom\VcomInit.sqf"; + postInit = 1; + }; + class VcomInitClient + { + file = "Vcom\VcomInitClient.sqf"; + postInit = 1; + }; + class CBA_Settings + { + file = "Vcom\Functions\VCM_CBASettings.sqf"; + }; + }; + class FSM { file = "Vcom\FSMS"; diff --git a/description.ext b/description.ext index 4423572..7d4c128 100644 --- a/description.ext +++ b/description.ext @@ -4,9 +4,10 @@ class CfgFunctions }; class Extended_PreInit_EventHandlers { - VCM_CBASettings = call compile preprocessFileLineNumbers "Vcom\Functions\VCM_CBASettings.sqf"; + class VCM_CBASettings { + init = "call VCM_fnc_CBA_Settings"; + }; }; - class CfgRemoteExec { // List of script functions allowed to be sent from client via remoteExec diff --git a/init.sqf b/init.sqf deleted file mode 100644 index bfc1776..0000000 --- a/init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -//Exec Vcom AI function -[] execVM "Vcom\VcomInit.sqf"; -//End of Vcom commands \ No newline at end of file diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV3.hpp index b4e6111..5d7eee2 100644 --- a/userconfig/VCOM_AI/AISettingsV3.hpp +++ b/userconfig/VCOM_AI/AISettingsV3.hpp @@ -1,165 +1,163 @@ -Vcm_Settings = -{ - /* - ADDITIONAL COMMANDS - (group this) setVariable ["VCM_NOFLANK",true]; //This command will stop the AI squad from executing advanced movement maneuvers. - (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. - (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. - (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. - (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. - (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. - - */ - - Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI - VcmAI_ActiveList = []; //Leave this alone. - VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. - VCM_Debug = false; //Enable debug mode. - VCM_MINECHANCE = 10; //Chance to lay a mine - VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled - - - //VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. - VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. - VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery - VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. - VCM_ARTYDELAY = 300; //Delay between squads requesting artillery - VCM_ARTYWT = -(VCM_ARTYDELAY); - VCM_ARTYET = -(VCM_ARTYDELAY); - VCM_ARTYRT = -(VCM_ARTYDELAY); - VCM_ARTYSPREAD = 400; //Spread of artillery rounds; - Vcm_ArtilleryArray = []; //Leave this alone - - //Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ - VCM_FFEARTILLERY = true; - - VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI - VCM_RAGDOLL = true; //Should AI ragdoll when hit - VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL - VCM_AIHEALING = true; //Makes AI heal themselves - VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) - VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. - VCM_WARNDIST = 1000; //How far AI can request help from other groups. - VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. - VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. - VCM_StealVeh = true; //Will the AI steal vehicles. - VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles - VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. - VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. - VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. + +/* + ADDITIONAL COMMANDS + (group this) setVariable ["VCM_NOFLANK",true]; //This command will stop the AI squad from executing advanced movement maneuvers. + (group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. + (group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. + (group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. + (group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. + (group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. + +*/ + +Vcm_ActivateAI = true; //Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI +VcmAI_ActiveList = []; //Leave this alone. +VCM_AIMagLimit = 2; //Number of mags remaining before AI looks for ammo. +VCM_Debug = false; //Enable debug mode. +VCM_MINECHANCE = 10; //Chance to lay a mine +VCM_LGARRISONCHANCE = 20; //Chance to perform a temporary garrison. 0 = disabled + + +//VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time. +VCM_ARTYENABLE = false; //Enable improved artillery handling from Vcom. +VCM_ARTYSIDES = [west,east,resistance]; //Sides that will use VCOM/FFE artillery +VCM_ARTYLST = []; //List of all AI inside of artillery pieces, leave this alone. +VCM_ARTYDELAY = 300; //Delay between squads requesting artillery +VCM_ARTYWT = -(VCM_ARTYDELAY); +VCM_ARTYET = -(VCM_ARTYDELAY); +VCM_ARTYRT = -(VCM_ARTYDELAY); +VCM_ARTYSPREAD = 400; //Spread of artillery rounds; +Vcm_ArtilleryArray = []; //Leave this alone + +//Fire For Effect Artillery handling. Only one kind of advanced artillery can be used at a time. - https://forums.bohemia.net/forums/topic/159152-fire-for-effect-the-god-of-war-smart-simple-ai-artillery/ +VCM_FFEARTILLERY = true; + +VCM_SIDEENABLED = [west,east,resistance]; //Sides that will activate Vcom AI +VCM_RAGDOLL = true; //Should AI ragdoll when hit +VCM_RAGDOLLCHC = 50; //CHANCE AI RAGDOLL +VCM_AIHEALING = true; //Makes AI heal themselves +VCM_FullSpeed = true; //Enforce full speedmode during combat (Does not reset after combat end) +VCM_HEARINGDISTANCE = 800; //Distance AI hear unsuppressed gunshots. +VCM_WARNDIST = 1000; //How far AI can request help from other groups. +VCM_WARNDELAY = 30; //How long the AI have to survive before they can call in for support. This activates once the AI enter combat. +VCM_STATICARMT = 300; //How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away. +VCM_StealVeh = true; //Will the AI steal vehicles. +VCM_AIDISTANCEVEHPATH = 100; //Distance AI check from the squad leader to steal vehicles +VCM_ADVANCEDMOVEMENT = true; //True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements. +VCM_FRMCHANGE = true; //AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS. +VCM_SKILLCHANGE = true; //AI Groups will have their skills changed by Vcom. + +//VCOM DRIVING. Experimental feature + +Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. +VCM_DrivingDist = 15; // Distance from predicted path to search for objects. High numbers may cause instability. +VCM_DrivingDelay = 0.75; // How often the script should look for obstacles +VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle - //VCOM DRIVING. Experimental feature +//AI SKILL SETTINGS HERE!!!!!!!!!!!! +//LOW DIFFICULTY +//VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//MEDIUM DIFFICULTY +VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//HIGH DIFFICULTY +//VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + +//VCOM AI Skill Variables. Default values set to medium difficulty (old default) +//AIMING ACCURACY +VCM_AISKILL_AIMINGACCURACY_W = 0.25; +VCM_AISKILL_AIMINGACCURACY_E = 0.25; +VCM_AISKILL_AIMINGACCURACY_R = 0.25; + +//AIMING SHAKE +VCM_AISKILL_AIMINGSHAKE_W = 0.15; +VCM_AISKILL_AIMINGSHAKE_E = 0.15; +VCM_AISKILL_AIMINGSHAKE_R = 0.15; + +//AIMING SPEED +VCM_AISKILL_AIMINGSPEED_W = 0.35; +VCM_AISKILL_AIMINGSPEED_E = 0.35; +VCM_AISKILL_AIMINGSPEED_R = 0.35; + +VCM_AISIDESPEC = +{ + //Reallocates skill variables before group skill settings are applied + VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; + VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - Vcm_DrivingActivated = false; //Set this to false to disable VcomAI driving from executing. - VCM_DrivingDist = 15; // Distance from predicted path to search for objects. High numbers may cause instability. - VCM_DrivingDelay = 0.75; // How often the script should look for obstacles - VCM_DRIVERLIMIT = 4; // How many drivers should be calculated at each cycle - - //AI SKILL SETTINGS HERE!!!!!!!!!!!! - //LOW DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //MEDIUM DIFFICULTY - VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //HIGH DIFFICULTY - //VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - //VCOM AI Skill Variables. Default values set to medium difficulty (old default) - //AIMING ACCURACY - VCM_AISKILL_AIMINGACCURACY_W = 0.25; - VCM_AISKILL_AIMINGACCURACY_E = 0.25; - VCM_AISKILL_AIMINGACCURACY_R = 0.25; - - //AIMING SHAKE - VCM_AISKILL_AIMINGSHAKE_W = 0.15; - VCM_AISKILL_AIMINGSHAKE_E = 0.15; - VCM_AISKILL_AIMINGSHAKE_R = 0.15; - - //AIMING SPEED - VCM_AISKILL_AIMINGSPEED_W = 0.35; - VCM_AISKILL_AIMINGSPEED_E = 0.35; - VCM_AISKILL_AIMINGSPEED_R = 0.35; - - VCM_AISIDESPEC = - { - //Reallocates skill variables before group skill settings are applied - VCM_AIDIFWEST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_W],['aimingShake',VCM_AISKILL_AIMINGSHAKE_W],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_W],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFEAST = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_E],['aimingShake',VCM_AISKILL_AIMINGSHAKE_E],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_E],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - VCM_AIDIFRESISTANCE = [['aimingAccuracy',VCM_AISKILL_AIMINGACCURACY_R],['aimingShake',VCM_AISKILL_AIMINGSHAKE_R],['aimingSpeed',VCM_AISKILL_AIMINGSPEED_R],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]]; - - private _Side = (side (group _this)); - switch (_Side) do { - case west: + private _Side = (side (group _this)); + switch (_Side) do { + case west: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFWEST; - }; - case east: + _this setSkill _x; + } forEach VCM_AIDIFWEST; + }; + case east: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFEAST; - }; - case resistance: + _this setSkill _x; + } forEach VCM_AIDIFEAST; + }; + case resistance: + { { - { - _this setSkill _x; - } forEach VCM_AIDIFRESISTANCE; - }; + _this setSkill _x; + } forEach VCM_AIDIFRESISTANCE; }; }; +}; - VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? - VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. - VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. +VCM_CLASSNAMESPECIFIC = false; //Do you want the AI to have classname specific skill settings? +VCM_SIDESPECIFICSKILL = true; //Do you want the AI to have side specific skill settings? This overrides classname specific skills. +VCM_SKILL_CLASSNAMES = []; //Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above. - /* - EXAMPLE FOR VCM_SKILL_CLASSNAMES +/* +EXAMPLE FOR VCM_SKILL_CLASSNAMES - VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; - VCM_SKILL_CLASSNAMES = [ - ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], - ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] - ]; +VCM_SKILL_CLASSNAMES = [["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]]; +VCM_SKILL_CLASSNAMES = [ + ["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]], + ["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]] + ]; - */ +*/ - //Set AI Skill levels - VCM_AIDIFSET = +//Set AI Skill levels +VCM_AIDIFSET = +{ + //Skip if Vcom Skillchange is disabled + if (!VCM_SKILLCHANGE) exitWith {}; { - //Skip if Vcom Skillchange is disabled - if (!VCM_SKILLCHANGE) exitWith {}; + private _unit = _x; + _unit setSkill 0.9; + _unit allowFleeing 0; { - private _unit = _x; - _unit setSkill 0.9; - _unit allowFleeing 0; - { - _unit setSkill _x; - } forEach VCM_AIDIFA; + _unit setSkill _x; + } forEach VCM_AIDIFA; - if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then + if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then + { { + if (typeOf _unit isEqualTo (_x select 0)) exitWith { - if (typeOf _unit isEqualTo (_x select 0)) exitWith - { - _ClassnameSet = true; - _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; - }; - } foreach VCM_SKILL_CLASSNAMES; - }; - - if (VCM_SIDESPECIFICSKILL) then - { - _unit call VCM_AISIDESPEC; - }; + _ClassnameSet = true; + _unit setSkill ["aimingAccuracy",((_x select 1) select 0)];_unit setSkill ["aimingShake",((_x select 1) select 1)];_unit setSkill ["spotDistance",((_x select 1) select 2)];_unit setSkill ["spotTime",((_x select 1) select 3)];_unit setSkill ["courage",((_x select 1) select 4)];_unit setSkill ["commanding",((_x select 1) select 5)]; _unit setSkill ["aimingSpeed",((_x select 1) select 6)];_unit setSkill ["general",((_x select 1) select 7)];_unit setSkill ["endurance",((_x select 1) select 8)];_unit setSkill ["reloadSpeed",((_x select 1) select 9)]; + }; + } foreach VCM_SKILL_CLASSNAMES; + }; - } forEach (units _this); - }; + if (VCM_SIDESPECIFICSKILL) then + { + _unit call VCM_AISIDESPEC; + }; - diag_log "VCOM: Loaded Userconfig"; + } forEach (units _this); }; + +diag_log "VCOM: Loaded Userconfig"; From 46c6ab8c9a44036b9e1922b4ce7dd8d5bfc5f9f1 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 6 Jan 2019 15:59:35 +0100 Subject: [PATCH 79/83] Updated changelog --- Vcom/changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index 82af928..a3f12af 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -15,10 +15,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Rearm search radius has been lowered - VCOM Advanced Movement will no longer overwrite zeus placed waypoints - FSM files were moved to functions library +- Initialization files are now stored as functions with `preinit = 1ยด tags +- Config files no longer produce functions and are instead directly called ### Deprecated ### Removed +- init.sqf ### Fixed - VCM skill settings wouldn't apply to units. From 8f116b3e8f2407d1b8192d28a5a07f50de9baf72 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 6 Jan 2019 16:01:21 +0100 Subject: [PATCH 80/83] Renamed userconfig file Old one doesn't work anymore and needs to be replaced. --- Vcom/VcomInit.sqf | 4 ++-- userconfig/VCOM_AI/{AISettingsV3.hpp => AISettingsV4.hpp} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename userconfig/VCOM_AI/{AISettingsV3.hpp => AISettingsV4.hpp} (100%) diff --git a/Vcom/VcomInit.sqf b/Vcom/VcomInit.sqf index dc0991f..3705a01 100644 --- a/Vcom/VcomInit.sqf +++ b/Vcom/VcomInit.sqf @@ -10,9 +10,9 @@ if !(isServer) exitWith {}; //Parameters [] call compile preprocessFileLineNumbers "Vcom\Functions\VCOMAI_DefaultSettings.sqf"; //Load default settings -if (isFilePatchingEnabled && {"" != loadFile "\userconfig\VCOM_AI\AISettingsV3.hpp"}) then +if (isFilePatchingEnabled && {"" != loadFile "\userconfig\VCOM_AI\AISettingsV4.hpp"}) then { - [] call compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV3.hpp"; //Overwrite with userconfig + [] call compile preprocessFileLineNumbers "\userconfig\VCOM_AI\AISettingsV4.hpp"; //Overwrite with userconfig }; [] call VCM_fnc_CBA_Settings; //Overwrite with CBA settings diff --git a/userconfig/VCOM_AI/AISettingsV3.hpp b/userconfig/VCOM_AI/AISettingsV4.hpp similarity index 100% rename from userconfig/VCOM_AI/AISettingsV3.hpp rename to userconfig/VCOM_AI/AISettingsV4.hpp From 86cbc4b4d334cdc2a8ebe189c02257a503d07229 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Fri, 11 Jan 2019 15:54:40 +0100 Subject: [PATCH 81/83] Skip player squads Groups with player squad leaders will be skipped. --- Vcom/FSMS/fn_SQUADBEH.fsm | 19 ++++++++++++------- Vcom/changelog.txt | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Vcom/FSMS/fn_SQUADBEH.fsm b/Vcom/FSMS/fn_SQUADBEH.fsm index 78be52e..20a35b6 100644 --- a/Vcom/FSMS/fn_SQUADBEH.fsm +++ b/Vcom/FSMS/fn_SQUADBEH.fsm @@ -1,8 +1,8 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"Begin_State",0,250,50.000000,700.000000,150.000000,750.000000,0.000000,"Begin State"}; -item1[] = {"Cond",4,218,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; +item1[] = {"Cond",4,4314,-100.000000,700.000000,0.000000,750.000000,50.000000,"Cond"}; item2[] = {"Exit_FSM",1,250,-250.000000,700.000000,-175.000000,750.000000,0.000000,"Exit FSM"}; item3[] = {"Continue",8,218,50.000000,575.000000,150.000000,625.000000,0.000000,"Continue"}; item4[] = {"Start_Point",2,250,50.000000,400.000000,150.000000,450.000000,0.000000,"Start Point"}; @@ -31,7 +31,7 @@ item26[] = {"Arty_Check",4,218,1100.000000,250.000000,1200.000000,300.000000,84. item27[] = {"",7,210,1258.500000,21.000000,1266.500000,29.000000,0.000000,""}; item28[] = {"Flank_Orders",4,218,1050.000000,225.000000,1150.000000,275.000000,105.000000,"Flank Orders"}; item29[] = {"",7,210,296.000000,21.000000,304.000000,29.000000,0.000000,""}; -item30[] = {"Light_Garrison",4,4314,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; +item30[] = {"Light_Garrison",4,218,1000.000000,200.000000,1100.000000,250.000000,88.000000,"Light Garrison"}; item31[] = {"Five_Minute_Chec",4,218,-300.000000,300.000000,-200.000000,350.000000,950.000000,"Five Minute Checks"}; item32[] = {"Five_Minute_Chec",2,250,-300.000000,150.000000,-200.000000,200.000000,0.000000,"Five Minute Checks"}; item33[] = {"CheckIfStatic",4,218,949.004028,175.000031,1050.000122,225.996094,92.000000,"CheckIfStatic"}; @@ -113,8 +113,8 @@ link63[] = {40,41}; link64[] = {42,27}; link65[] = {43,27}; link66[] = {44,27}; -globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,741.142639,1313.325439,769.759888,-88.514755,552,828,1}; -window[] = {2,-1,-1,-32180,-32000,1034,-1254,-509,80,3,570}; +globals[] = {0.000000,0,0,0,0,640,480,2,623,6316128,1,-602.326355,300.841248,816.916199,6.357727,985,884,1}; +window[] = {2,-1,-1,-1,-1,1036,136,881,82,3,1003}; *//*%FSM*/ class FSM { @@ -142,7 +142,9 @@ class FSM priority = 50.000000; to="Exit_FSM"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_Group getvariable [""Vcm_Disable"",false] || {!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; + condition=/*%FSM*/"isPlayer _leader || " \n + "{_Group getvariable [""Vcm_Disable"",false]} || " \n + "{!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ @@ -312,7 +314,10 @@ class FSM priority = 700.000000; to="Exit_FSM_1"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_Group getvariable [""Vcm_Disable"",false]) || {(((units _Group) findIf {alive _x}) isEqualTo -1)} || {!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; + condition=/*%FSM*/"isPlayer _leader || " \n + "{_Group getvariable [""Vcm_Disable"",false]} || " \n + "{(((units _Group) findIf {alive _x}) isEqualTo -1)} || " \n + "{!(side _group in VCM_SIDEENABLED)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index a3f12af..e39cba5 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [3.2] - 2018-12-15 +## [3.2] - 2019-01-11 ### Added - VCOM Driving (Experimental) - AI accuracy settings can be tweaked in CBA @@ -27,6 +27,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - VCM skill settings wouldn't apply to units. - Infantry would get stuck in a rearm loop, chasing large vehicles. - Hit reactions compatibility with ACE +- VCOM will not affect squads with player squad leaders ### Security - Loaded config files are logged in .rpt From bfa5a85df164ffe3fb6611fe6701f94b1537817d Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 20 Jan 2019 10:57:23 +0100 Subject: [PATCH 82/83] Updated FFE 1.14 to 1.16 --- FFE 1.14.pdf | Bin 473326 -> 0 bytes FFE 1.16.pdf | Bin 0 -> 811945 bytes .../Functions/FFE_Functions/fn_AngTowards.sqf | 7 ++- .../FFE_Functions/fn_ArtyMission.sqf | 49 ++++++++++++------ .../Functions/FFE_Functions/fn_AutoConfig.sqf | 4 +- .../FFE_Functions/fn_PosTowards2D.sqf | 11 ++-- Vcom/RYD_FFE/FFE.sqf | 5 ++ 7 files changed, 47 insertions(+), 29 deletions(-) delete mode 100644 FFE 1.14.pdf create mode 100644 FFE 1.16.pdf diff --git a/FFE 1.14.pdf b/FFE 1.14.pdf deleted file mode 100644 index 2beefc08b60c7151e0278a57ec9bd852fb0c7357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 473326 zcmdqJbzD?k+crFel!WvkUD7c_cS$MTQc@#Q0}S0D64G5Fp&$*Sbax9%cQ?`{NW24H zUU6S{JP|9r!5|7M20_gd$<)?UY2>zMOA=v5xduz}clurTP$;V&!<5EUntt%)TT zhOjV)hMOIPL(16E*xJ^dL&ew};y?w4pH|~gFov2l+F7%yC@@iRs5`=(OdT~~5Qv(s zts@n;!0jc9#xN^+=rdb*F*hF}W>oOYAfoUW76t@rc3Z_wVSlOXwhj&{TPLU^6(7fA z3o{2jDz2O2s6d>zZ(yFEZ~V7!TtB~Y-PTCOePg|F2)xIyd!U;`?+ z+fYZiSq@a(Hzjk(!fc)F;MLuB!tEChbq)=fG1S5C#(YyZ4k>kxhY)8AQ;3?ZB)oJD zV-pAXB|p34r;83$oPTbOn}UC}hKz-^BLv1FV{PmRc?dDJHG^;{K%nN1&*28~-`wQj z2!j~gU}3nXmg`I@(Ma6$VpyQu#8oKV_(2bP(9`bpNd_|U-N@63@Cn7ku_(pwKZ;0z z#z_))apmO9@&^PAW}Nal1>D|5P@|5sOV zQbamKXQ$mHwArH3@No@Z)ALdq)ZLcTgZrvOyT<%Eu|bs^|7vB{RGkZm5^L z$GSlY*F|F*Xh7=o4bx z`GEF0CPPr8H?MZwimt}dI;$(gmjDF?RY`PJ7;d?AHh*wPC?kz~g3RZKj(!Ig{K0{t z&yi%XGgc5S!#nKnkrS)Brac@$E|UP!2Py{3Yx|)G&~!J)%Y2R@O@@VM7wkOIexoNc zss4!PF3j{yLr+>M14&Seh^{iFY&e(oZj7E1vnyuIo$exr6#~myV|$iI7M&ujP|E!=U5I&j<>P?(wxBdti*(zF?9#Lx~=8W!bP|m7N%7#``c0`55Am z+O>LYZXCsT9uxjbhblZZGfD-GA0xM{)yAVI-$QUihE?d8C?&GFtP7;Oo!FSmg<{ND zH>cm8&k5Q&PrO%X>wpkLmE3C~8GV-PV0BZ*4=stYItQ+mws>HiLs9uNRu(olE4H`8 z&4rJDguNLX*Y9myuo~jMXXaj1nnw!j#EjG7k?!HqI$WWfjFWQ~=>?-ZiA&CLp$kC9 z`CetJYHh!1yW^Su&hwCkA;>0Mu6)=p#n3`Gyg37%>TN*^zi8>wqZBHYdS&(5vL9`t zV>?;$KBAh6*<+8DUW}Qk_`QrJmR=0s2$Oq!x3(I>WBO>FM7PL$)e*zlFbFgX19Gy5MjU6DjS4c=oJ(QMakutWnFo9WcNJHTR*#c_Lp=|+`fI3+G z{{80ShY$x-n1!9AEsToy7GY#8U=EH_&y8VJTwpk)|MnRK2E%VRbA0YV1rqoT+tz=pQBDBIvD^|6my$XUrXL>XC=fCKjd=P;+Yt6(@&;gXs+t^YL)Pq3q{pHZc5) zl(C&0#KQdf&r=f4=C>A6@qj__*~Ind7Z4ve*KK{;Kdw!a5RK~;r`yj{+}W9rUCxq?{D+K?|pMS8~kiA zDiFNZ-wfae@xuY#+7_m6XKV`j1E)D8EgT(GATTLg8#`O*jqm&%zd`XsDUIKNSROtR z!0c>qp!s&z{DsUQ5H}b2&)9rDemxJk_ee%w27rKo0GNjV0j{S2QUEj*6jYQuXsD>D z=;&w|m;_juckg17;NjyCkl&}IAiqyWMn%WYKt;n!OGd`X$HdAB;^yY2WDpSH2Me=v zaf5FPK|n`G$GnRP#KHoCsmZ9p|Krzn695+t;VmEm34sQHh>L)Pi*VfrpacLA?!c|R zG5EI^0wNOf9TZeFbd0<33(D^S5D}1&5RsAY+(AZ$U+o1y4?xDfgGUXLK*3ivMy0VQ z0Q*H}qR~p0HWR9S-J|0&fxSS-AR-2m+^2uQz{teR&BM#bFCYjX95S+U@{iOtG_|yK zp6HsIL7tgEx3F|@baHlab#wQB84ws0{3;|SHZDFPF)2Ca?Ype(_c^(F`5!-(l~+_& zRoAq%wzYS3c6Ij*4h@ftj*U-DE-WrBudJ@EZ*1-#93CB?oPIw$zwrwJfb`R?-#z;W zzi{DxAtECqA*0^-g@EV+Kag;d?@)tK@FY}GjqUMizGW1EliEYdqqUkzA#0SHv3|Kq{+JxG{BP<@k1!kN4Sbu>EzF@*6y985Tm z0QnJEOPHoB$6MXkfUV)d&tzzZ+8V0UDQz*|b!R{G^6{c+_9Kz)UwM~zxCXWLL-0vt zrhREyxdteM9OiPodzMPa=UfvQ`R=;b^&z_8N6fzQNqp26h~KF; zP|5rmU36?JnJJy=9BrfJ#HWS?#mumx1OG6)xmVC1=WVc?uZ^Yt9yB&QE$6NZUpr@XCWtiP`m_Pb)S`=3;$h~w{PI$LAE z&wekbDop_R$3tCbK~XSwW*Rw-(WgH43vs?@>3l)9|=>;_0;+h)VdX$c|Me2;Q(%Y`QiO!vFdT~tVcCQoJAGnpkLxh zV22NXYCrc`sV)KAvs7h*5DZZb&b#rnLnT16D~j@33o9oZ+!R-I4f+?z$Pe`9BC3`E z_D4K}-^E%pvh$ujwO>Xt~Z0b;siW7mLBZ1Yn!BFz=C%?x5!b;sLsp52&x?0&pC z)b%wMSh-&9hyJwK{u>=$^HUeM})CFu8roX(zu{Vmgrh zK$56qQ@<_0xx$9l0%>(^On}bx%%wzP@1)@6y}IUiNI z#zSpear-p?DEseMBJYEW%^nKB$e%ZL^u@*&ZFn=F;J6$z|ILG*Ffnub^=kl{K-f0w zWI2nZBp2CAse3VcAhhZ-#Y;d-)Jr7hu`%|=Ijfm0DrQQ#`tpil#upKQ z=uL*>)0$B{BwkmUO!ItJ;^3lZMFYQ6lD{AH{r>#&pw_IkT%3Yg7%s32DfNZ@80GMl z$UxxyD@mzFuu~%JgybsKyb72nWnS{#jNwEOTu`j{rZvs~sDlNXXAz3Gu@~&8ITeGW zfBM;=fbO4RCNmRYIV}hf=9FhyKSfaKjKojUVV?phuw460`ob5MuYq$QNFi2a7)_)z zK?cz=8WZ5zO=NWd88tVtH(|{PIy7w!)H|xmeQNp0!Mv4%;-*wSaPS3;445d(q3epM9i%h!OVM!%D(B0OH=$G8Y)iW#QwQMU})iUpr2 zvpUG8v&oAw3ZRakbgiRiKS1lWf>fm{#qi$q?HvHDH40NIZy8Yd(!|K)>MjuXwbCG! zdBmnhTmy<=l-7Pbo*$hH-#B!W?T?jc0+#BX8?g2CE)Az;)`!lTOM#euTmvGd!%L$% zxf9!?TKkg|?U>JTHN_{HKQmbBe*9;T8)B}dTGBjFye$>b88&j>J(`5}PM<8s&TAcs zOS{q)4}GayEu$oZ%4K^avZJ(dfx`=5`LQbW$$p$Uoo_uhrx2yS)@n(?WRY($3tk4~ z3F#5fnm0qhM8j}!FErox0jP?_-3|>tahwu3Rz1z!bmz_BupUXeI%Mz}t&3fxf1zj9 z*MU%){0dgM1&m(s~#bl6yh&>If?o^tmz#*)hA0T?XP_HoGM(rl%1ypPcJAert z2>Lu~tJueAzbkQ=GzVlL5fSmh9A!)XAydGbK@j#xr;8Yfn!_)Acz!&u@^YZC@c1+D z6@ARzs)%n`0Uw&u+TB;n)O40fWVO!kpOwgu6-U!`MWsS8($KpFx_~ESC))<~X^pJm ztL;oSbDm)_${9!eohx&MCL%9FR?22fEV7Wve{=)s7D}fn4+m?WFF&Eh&bsHdj&Sr3 zb2p*?B25SXqp*b<^J3ScA^od{u+5OHz)AZT9?`M#erxAL-9WF8Vlc^W31H*gv zQze9-w*0@@^<7 zgD`Pg+D0Y+REpHoylO3wEoL*lA)#AJf9b}XziPcNF#m;)~E$+&)a7NN=5TS~0 z&YV$R)ohx5oz(N;z~kaTMP7?68Lgh0!ItYS!zZL#@#_`|KF8T3I2%*bCy9zdYqBos z5j9w%OknNQNijPoxgUng&WXY~b$XT=>5AO(nnQ&y40OP@$?9iLLfCIp_^dg9! z-n#%vV9kN&to()BfaTPufRVB1LTK~mq#pY_VwXPObqShdk>wqVL%`7GNlA2s*i2 zyGpDiW2(}GW&s4M;&*;K(Dmnn<#0$?HG`3;oOgUKod&h(7ZWF#KQ>^@P3B{ ziF418mMMiQTqzUJR;zzxVjd**(ssS0ik%V>d(@%JrC~IyTlh7p2h-2L!$E(VNGYaf zqK8!21~NcfB2rKmb26r!D*W+HQin3_#?ZwTPp_V(L#qSb2JsGg#P^c}k^P5IhIjNI zV{K-8MFZ$oyAEzvtS^bw!*Z$eFa;yU zflikKgiG4@vkqlhP@|XbC?Va`KA5*Ri1eGuiXqZsp_6sr7GvtBvp?<<>o0rM)xP7! zUzxCN_l4EBs}5I-r5{>uG+8-CmHZO+whLRl6A&fFWv~)I?UIlO=Ct0k^BBpo*D04K zP`~%v>JEV{yj*@a?oK|M8tSP`Owp66m?xQenSyApFXRb$m->(>i!`!dp?`*fnK|gTeb3(*86mv?%)`}FMDW)fm7KV~- zpXA3jL6ZsB0O_!e7EOQ>=hPG>=We7@Jl0n3;5QMOlpZ32$`xdKbET?32URCtU zxsl3B%tZ)kOMs_}qpOVUQyF)6^_4ORlOy|Fo3%O!Opn%m2DGts9!v2u@xJ37)clA- z+`xZv;FE2!k*FqRPp~gvp^5xL*|6cl+=X_0R4-PQGP2%476<+o@FR&<4O}&^U21vYE57*vUB76a1n{#yUE;qcboD0 z(g@o{T1>9g`_)>%t@^1q#0i{8#KZ4V*0t1`FA}!RP2yXJ_0*K{CT!V`q%43sT%Ri%$N&Mt>)*>R0LLhu@J z{`v8AcIme??0T@?OVhUG%?Y6(`0j=Bs<@%9wWZ%U9b=8z^9zdHfRc9=&qmV=1acf6 zx#;I_LyQOl6W%2XVc!90HM$W^O5Tf~bnyS|$`SG`Q0Tq6Z{k@Tr)no%8VZ=d^BRy} zAEcUQ^O4Sav(00zbRBfA9b@@Lk-O8hiz+%KZ@V_ko1fy+>oY?xg?2unJfzPuoyEma znY@v88L4yOiAVagy%|_WjKhwXo!I?dVZDWo?W0;R32o@!95tDFMDkYZReZZw8c!5W z#es$mb-kc@$%h;xK@M!)>1m=Ur7le{F|v^}5>E~+_FY0$koEEha^-BpvLVBk$w^Jg ztVxz1OSaz3h3pWwhnW$hE502*1C(zdykE1_xH7^O3h9Dz$DK*e(+@*F<#rQj_0t41 z38=Xrz3(fb{iNp~HBaU@m}LWAo#*sK>+VDnyL5kZY`S5J()LcmF02#CfEwlz(K%SU z`ao|C!{5DFp3adn+i`B9gQdC^59JFnQksa^`AGk)INtV}j3&lBLTq};*;V}WK+QUY zp0LX4nW0FZbuo+ijYNTQc*Dl;C?@*g0J^;_LWuNjS7RDXb12L-r4b0 z04{zwcb)7SHXB_*Qq8}Z)M>W{$h1#3C-NHv@y{PEO$lGaH?!nq>81IpN2qCKRL|lG zR5flk)QIJi{uZ1~-D;>5BP*v`gWT=>BVA`dQCNz1EJFZm+)dlBL`64HqBpQm@H$ zroxXfqezF??c)-w@3DB@3*SjzsT9h$L_!6Y(&C$4iIsks2N$W*OkO>=KupEN7NBTz zrtEn={n&K4{3(jmH303Pj_Jqxb~F%Sy^3eK0Ghzrn6y<@ArJ6RzpB(d6~nVs%(D0t z9Ov01-Yuf&N>oqZl%ldgrv|IT6Td(;#M#(-qG*sJ{({8hhe8PDWoFZE=Yk$+rX`wI zVBoVqe7fnCfPK_QNn`?%$~lBNUWhp8J}h{zP~D2v6v35t9P9TsrPNeAWhSm0FctYa zI_w${ZRq7i>sCw`m0C*gx^{u(r0b8_Ne14Tmcl$H?6ov`T4o((^NgRC;@D1$MrlP! zxDFMebl3-nT(p{UGznaMpR*08hB!SB4ubAlVN6M$^{+!A>1=bc-N)_ENQk(ZVpCIn zz3aS0gQ|;gQ5BKD%v!Jk)Ar&i9X?}1`k8g;SvMF`knnU;4>-{`zPSz513X*;x_?L}VgWsKHP3u$;mA^RqDUAy z5l2x42d}YUSIck7Z;dn(5qdGPGnP#mQjgEI%bw#g1xT7OgK+6Vb)*HJ;izmrL{;e z1f4s-J7*%%?oXG#VeTfS6=>>|>Qo>1NzbMXaChU|bzUbna|74`;6pbeFn#e9--0OP zh1sO5)G)*$29@yB-lb`7ng_r;rVrNh^@NP>@m=HGlutjY`GtG)f$<(!0DEbVoKW* z5B`cJdo9V6@d^~Q`P7sA4>O->YI#qT8$4Wcto*V;3gEu^9nvbc?G3+(v=QEfuL^IG z7{jRO$XhYdJHH&x7U<#IJo;h?G@Ii~KA4Y9Ye>Dc%${jWV-XBO%!^K%~~Gh)1Gb8CVJF9HH{c&g#XFKN`sFT$7x(HD$kJLDS+{t;Xfw zbq$~?l#G?hKw&01!@yPs&YKR2Mo?Ye-JG^*Jon4B#^$p_fF?5G0u!X_;V$LboK+Z@=#D5!qkA z+Y)1287b7Qg0gzSHBjyv6!gwkz=*MgV!N;jPri!*RWxUxHllpnkWi&GphNkzhUgj~ zdW10bRZevMZPHz70+ljJ`bjtaI#rJQTs8vA7lICx z7tSQCai`twx29(6#-3IpX}ppcm+hH0ic;b_r?{-&V$VL}->7;up|kcq6w^!WQN~Jh z>paui-m26;ogM&-^ah<%Np$~_|aXn8c)?;{pdME#eQK zOm~@>J;;W2`@VMfJkW0YK-x}>-L?aj?ZNgz(%R15#W1bb3oj7OWaC#Mkzye$4x%Y8Hh>s(-DkvX#S7T5Ga%@b!{yJSef< zYt{>n_ah_Y74hLXOxY7bPuZKQrbat!CbJ$;XTI7lx5WC+d)D2&NH|g#5a#s_V^vrZ6QX}l zfC@j=aZN1VaZS`DWX)5V6e|pLXdgR7xg>?`wo|r}W6Qc@2Lq+S5kj8-0UZ51j7Og* zJwDY&Mj@l9-ikP$wG1Mje^*UHwT$hbe+egKn!cw9tTvj%t{$4xE+2OftW9k^;mPyD zM%l7%bzVA%QKp!^1}G1{rS|TBLb+>Nsf6>?$Gy@6Uvf7dc&48qARv6&t`)A3mzp5d zpyGx)RJQ0fc(dprc~Ov)AvQO>4?% z6qo~-E-tM;>^&xp<*7EZOZ64q%euo87TWTOuctOyulk5`ZMO1THt$<>sr*}P(jLtFCfDG4hj5@bB0_zn;dqPGca~Px0(7!z-t$J z>Z|-5`_acVG!bRn(eg)EN4!F&JhIvt=bnw6X9!)He#`D*52uq6A;$EtSGK|^n=biJ ziyv#$^IcIy1%Ij7E0j21Mu^_nFpzoYV{?)houxUOMK~3`aek%m&C~v5y4}HnFw1xr zi6iNAC7I39MfL9asD(j1gBh%5`cbyhZfy4??Og31#qfFMQZoS%LTA6xyaW&yUb$da{?ksWjLR|vx9h`jS*p7kAK1Eb}2T<+Gk z!v!lk1RY*pjm-Vi*8s>J@_s!ARMd2z*1U^6YE$yBFufT2Lzs8kj2N>tdEJ+yG3u5; z{((H6u-vbGy|j*YRl-;Lj(N~Enh`|&QdNgkC$Xo8qa_=5*=+?UFEP;vkbo33*MLjS z*Q{&DBM&yRXrE(!usd5x*(*SXn z)L6UosjFWQ4iGdmEnOeYP_PbCPf_`WBSbot${(BH$P9jA&;Ry~7`7+Ago;XcZeFRZ zROjImNQ;ga8MP$9?2ztrI9nGfsmhw-(bj2I()ZXn5=gSuAtGWm;R!-wWvP}-#ZE67 zh9er!2XbAnNha~8c7i5d_^;1E0ccKy;Ls-hH9)rwPgW|eBTIx4ku>?C3fHn7n5Dl? zdl5zM87|0Z!k}(G{b|mZu_yVKa-}sWq<$SRev0xX3Z6zvZdIge9bX-D`+hsnQ07HV zh{E$_o~_fAg*1Uz`b(ItND)EPPUl`$Lh{2`-LSP46T5d|``c5Lj{=g5cX*ex0O{3V zmLfb(#0)Lc&0{qA9`QY-T#5XG&D1HQP)_1R7b~+VZl)!IqX1twZlQsg$4O`tx@J?Dt)vm{Ukf}ZyF!IOrn0G9E*H!N zDd3yf{fL<-*%)HZa$Tk!I}Xj;L%I16)5_-y>c%CXNO9Ya_$@e$d#Cz@duRvlAjxEa zjMJ1HChLfs#8|EULOYu=>x?3B3=z(}eBOAJ1e&7Ef(7xTBi___sGvTPrdkX!VuMrH zxPGrlH%7DGQ+0Tq<$OU+aeeVDWcB%k(vd^w%*CYj)b>6wO@hwc9*}Ae z-%>15Mh@0TcB*po6>ktdezA$r$xpI&aaw{iy7IWT+sutG(6(W&H4s2KuyI;zp1dg< zsP&rQ)Flx3&{v2#A9|LA3-{mo((0>|?cE3ASyPjVXG>30OY*kPQoejwU+B_hiM(gv zt2G{dPlWH7Ve5(~bjcRK@H8f$EPsCt>97cIa24i0KF>pN;H^>!mIIQVUb+DbYy0j7 zu>-;*l&~F+F7j9UKHD>z$czBHpjlySXCp#+*p%pHP!iNsN=YB=v=MrmdtJON(lO|p zO77V3pI9;URM5H&##aKrjt$W{y~iYi2enw6-4QBH%QnMyC)Hh$mwonQjaO&E<*(jlS)l?+XGhWeoTn zro`|WGe%FbP@vfNayCzW^Dv*9ER6jsjI+}9HDeOr^2L*0GNb4S!HDFI(T1SCWz%oQ zXH92rz-6bBvKg;1`Jtfs%eCnA(j_qX6MTK$pzqvi~XQ4_YLqfzKuG{ zKq;BEZAn*DnBUn-(V}9an|J?$n&!H2IxW|ZJ)&6q5inqaW zg*+KpmqxtD)(~VH>%@E(?u(7&ZScK>yf%4f4cym;8H1oc;JNfAa>a0NpRXkm*RUc7 zgGHAgU?206{R>V8+0w;Y_l|W6RraDNblL_g712qVUP*EUXYkw2*f{To;a3qMm5A0W z!Ne{#b@vg^@@ict(HKNieV!hsd`)4ZO>{_=6SbX1#1>p@JUcGzt%%|d{u;IRf;h(- zzT*XG*zx%;;iSK25ZE|sf4(s;f6!h{hx5A8TX2LyxxU;!&HboZ#Am>IIN_5U9&LOF z3TR5;_yYd)Y^j;b91W4>`=B-RlaMRQgWo;jZEXZZ;gAd*=i`>eSVMg3W*gToQtI>h zCTzqeagA_08E7vqnI8${_HX#HBM8`h??5kbeq1LUy%UPe6m`!ohau7%a31OYz71s} zJ&qRv*$XsqwtQS%D>an8P^^v{~VWkA+V^}RLc(@4vmh6w?h`r9Ihm18*)TWQrzC0-R$ES{Z3uJAJn^UP6m?k zBG23zjSI9Etokxr>)|1MWC#;N6hs9anu{KLx3d8RnIOA_uW!>?_ z&6XA3Ckmn_s})68@3d9&q0~KQ?%3OjaC{@o+Q!p+NQ<+g$KAvT?|WvFu7hBK<)w&n z9$99n`U}}XUjeJ$SKFsp2lt2zmUl(d4eRS!;zr8-Rt1Iq-ikkInWwNr5qo+K&~&V6 z{SYf`!illdfiB{Hg|uIcs`AoopSGI{A-IF9AJs62&VTEOo0G>=Y!PkySnml`&rW>m z9MeAa(rshxphW)D=+Tc6b%J^PulhC&vvs6O^6!KCqCSEvI5m)}9Lej&R1H4+E5y9x z$2uf32?}q*#`Z8rx?rLbdGwmGPXWihXRsIo>WGmof8sg`^xKH>!5B$QnoOc_SPYnR z#J8A=4g}bF!IxzQpIrwc9OoV!PxKa;?=ny=n*uu(PIkXzoMJ)l&RIK|WLEAV38-Gw zn$FgFwA;N7J)@%oUj3j34MmjOufO$<&NB#_L- zI@@r7T~d6*lQF?GQmn~%(a&b>NkX*R?UmHrU1 z=rgO&IsH25{Db(sdA8e{FSi_ao;g8x*}KaQz)lm^z{>Z-0pTCn&&7X5xv5damAzC! z;W>^>)yJ=@Y90`sgELqh?k!bc@D>$2=*DsSK)#)oXD7v)0{Ga>GoUxULt$R9EQ%mQOaU?oGWwnMNcA&f^%4!O3opg6)F==8xf3% zX~~w+$e@lc#D$OUDPLoEC}fu&nl{G%npwnqmSlQ**MaLd*9l?Lm*fb>P zaH_`_c}f;9Fi)A=?|R8HnpOEk0HVItsax>iHR(Ox@T!h4{24g76j)IeZPL%b%B>(Y zFYiaV|2WR0*#n~k>1&G@0gPa-;WW2nF@>=*_Sg5rtdaI|t^wwS;jx@q>FgqI>q z>rjCC$ecPw;PmBaoFV=b?LMc=J!n-cCCm%-&HajS!&Eu+hyQzK>5pNUreUT8g{Y)i z>l~(bbdD1dgnrAII1=3(2HEA!F+4b@rDFv9h+#Hev|ol=<}Xnn8Ocj?V`4K6{~lZz z_ggT?&H4;o9v*e*0^fuqNZ$k+uo0-hKinRu*AxFV=KUtK<}abuw-N3CBIX_Zx0v^b zPEd1*E%d*RdHlk}Bj%l3;7>8{+ycD+F6LbUVtf<-PsQ^q`knjF(eGeRJ}NeNRq*I{egP_Y zE&mYxe%nNUj()$*y84UjHyK+0gZwEjcvbM$Q{#}~rUL!UYm(ui0{xbMz)JYE*HC{anjG^y&Uq~Zv{TRN-*lPg)h_&6t9fh8oLDnnv2o?o{Ncpq`Nr17<~C6IlDgJ~1c2;1_EX{w&qd*a@?dvQ9|OPt)&ins?b_4_K$`-U(q&Ti0eD3xCC+;utaXiMImn7W!it6n)HD=q1O|} z+yaB;x7tK4bXvohw;Mk{3`FqcGA?z^inJuvh*c*n-haBcq!*}M0Pwj?8jehlb`rR2 z$Lg-))mkDT+94nPVO(L8p&1F=xN-1#^QrlT4*NPWSO@PSftuui!z(3T?ZZQ7;%fon zOI5d}lK!1Q0w#=%uxo_*!cx`vOIy7?0Ry96DhvjoRksH$| zm*}R#&sBBW63wd0dZ!Q^ZBj>aAp(SuB`C*E>hlTcerS3M8fUM$ObboAYSQ;JM>n4z zi{?JK07RVd^Lz`mm#$&zk;l^&aCH6jV6OS8e!$qFfN>|mkq$XACQ(b)x4Z9cBkn$U z*kcB#K#{1a2}3=~NUXt`t=4ago>3NojaBjXqDE<3EQ9cmUt>R2?Dz9*p$+m;FHGBG z$f)j&Q0Q57O#KcX{_0#R^`%%j6;SJB6u#H3-Kp&BS0nXW9_rad$ru@BcVyzBKFFK`S-$~=PCvW(rOkJnh4^*gH~wq6j)mk%8mM|B>Fa% z>-m*^a%O2DPNwH5EF`q<0g<+e4+fu!u!Md?kbSz^uwt*YVV(HdDk)WAFq6Ej&&*6= zbehUC90D_prIt zbd2xZd~3oll)a7954VCDv{ebZ9qxTKVzwvmJ~~K6a?0YM@g_`vogmRctV-9nZ!KjR zY!<Q?>fF0y%drOWQ|fJmr%O%p#tfDpr9eUY@l!fSCd@oYHF;kOO7ZC*kH0%bfXieHA~1>{neypd_!T#=fJqJ z&wL6lqJ{qTxeu})nA_%HC^avM_W}XQV{EvXKOmRhHYpJbvelKK)o$4( zU@2-VbTIb>-*uuhbnd*_do3x-QOfw+2h85(?V__!D%N7Jo*j8iSH9!EM-JT|gj8IOgmJv=tSO~S8OYD&s`sLO*rdWBQPANQqy9rqC6ZeSFg ztF%%J9s8gd_N16Ab1cQ!D%{zkyJQq=99ox)^{R5Gl$~pn51*Fid!^R8Wuo+gEjjz- zg~B9R!E<$7+f!*@_G%#pD2wxnG3P{)dC=mAkk7MesXFp0_Y$Ylk44F(pP{=_LEbfg zdlfOOFd?~q)L_B#+i4pUzKuXzGe1f?qSsP*r-_zX>-G%v@lTJc>JA$ znx|ecUgN!Lp0lt!;wH>o;N4qHW#nfk1{EOH)pd!7;nj$Ne5fF8K9wQfoQq~rX%ZpR za3nqXOL-%Wy1E@^a*Gw-PfM3KK=D3pweXV?3j3`>h{m4D~ zQzk9s{twlOx-yoLH9*Asm>numA>UcC^VpP zc?Bi(aZv9rDtahRuqKL7c*TU(kD<-b1%&TUKWv^wAV&jj?jz+^lBaaA#?Q$66KQ%+ zl$abDaxurCqC^FvxOy65JAPRlhmblNQX|tOy?gVtzO0*~==vhm)MX^|QaEbkaJK3x z+w+VH$afdf%Yj;iUVOmon#%SP6cs=)*(45Ur_bDly}#B%yEGHMRx|ceB8TB3a%k7= z33RO=VQ7aQA)h6<+F;7NkM6itLDQ<*A4QPlX)$75ty>Ax7g?N(O!-&}1 zef=rQ+a$}*Y7BOB^@%EG%$&6@GG~yC#<$G(wwmNEE-E_=!Ly> zv9~|@^24CU(e(6Y$sW%LFEf%s+*a;N%LR0^Q!5XGU=Y&lIHP+EilL;2=5rfn_zIDR z95x(u=#&YL7>_hwFb7p-awcHBO)Zlp{!SsrQGNUYg-BM6_$ z?DO@QSWEDi*^F-PmXJgZuWVAfe>Ff!$J;h&w16{Oscf5vG`KOue69MEjBXrJb$gj zppzn?P^;yzDzbhjiO(}j2h^#TjBTUE8(rv8%YsEr{{)d_Y^Z4@O~<1w_vGCh3v7vJ zpQkh{x~}*v?mNv+X+Dzr?y$CBjvvSCHCQaTUd&74)7Qj>V2S^ur0;1%()H4~(1m8> zsL_rWB35yHNLo{6dL#@aaIYQ~_b9n4lj9Dcz&HW!l>AEkRUt!DB zN^;44dXdiX*675i&NT|IPXf=F|HtI{+b!l_cB%i4N#Ob$lc1IswdiD_ruIP2=B0Np8&jH+;fh?ECkm0zZ$ypGXC6 z(4RX;3SRPGhy*a_ z?S}g=KL1&IPmtp-oHL6Diz6Cl1sy`m2+yDG}kp7iq z$uGWFO8((Zy*JnZ{;7F%^OXbsZw*^n`G<4*!4BMY*MG|K{-Tswn@USi|?PoKjrkIM09J z;dh0anVuz87@U>c3FQz^>5$$no{^qv_mT@0FD2C06FTWpa-VqW!zHDLN3X6LN`({4 z)w*CeYo;`?CFP{Yiapz#n6nlnRr+0*y}n>bd1@wcNIA0h;ONvubA~X;(!<4hwcg!p zq5k~nVqzoJEi6Fwn^%q3RhS#DCx|1wC9Kmhg@O81)CTbFvuv7s!R4WObY%;rZJJo^ zLH&H_>BiH6ba-yS?!ioe%cjxd$cf!JwBziaA#|VW3B@Yt0z;YzA78s+oppWH@PI## z_wAU}HyaJJ1(4iitjoF3&gxA2)R>{;dHN!B7sD?Z1PC8rU5T~&r&ATYlbK?KQ+dD>Cwx-*< zVP@F2%?xMQwr$(CZQHhO+l~yI8IF@@?Y(x@x>eQoz30^3e<#NL#%N=X)_VV*-rt_C zoE|Tv$-pm>-qx?Z_l1p}ZBAHC0PpnyyhEAK-Z&Gx)PQl4%#bj`Dg|@%+^;Z0xYX3HNpmdb47j zdeKXKAgyc%{>(Fc+J2H=Wj1t^ft6n6nhb=I(BREZ!Y`cR58fPpVDNLo08T?+i<4aj zwDdM32F|Bmeya+myOKKrN8Gog-KT~-7(CKH@}CkKbuZ}zStl7~xSarHEQv8)Y$3^| zDPy?WhgD;Kzi+I7;)?pf@h)%S%m1W2XTfEgamVak2n8vLg(GK1oD23f0IG&-Rcz8u zv3+VH9C+97p)=F>@yD_)2UP8bXTAR3y6S~L;z9#L9@NO-H!xU*VTU@7+wXo!oFiE1 zpmkyuOKDYt*SOV{yx#3e&iBH{T*&6$Xg~&5p-y2p%Qba5DNR)<6B|ysLYd6tbjLWM z-s1hxTHX_o+L$B3R^HnRr7mJ`{|!Xd2RgA|G%wmOnrS&%b~|4fvHcF}!QpT}I)XT{ zYzjxLM7}Z)01GAv6feA;KPW$FrDy?*9=9G>t;M}akJd_cs7bq_0V7_t75w(Ys52c* zJ|A%U!Nf?D7!%`V2q+-VE}skaHFx3>(KOBJisSyUKF;90&cZ+PV}^&LJjpeR=X&AIAQB{3_9G@j^#h0s{LF~3Ka>#_jacchQGR!H2G2vxgviG zR^PErrowd4@tMF%JuRMXK~1fyh@ncicA|%vCjMMN-<93}?OH{2A#nhr5m=fQ9i4l9 zbz){x57Bc)WnkNH;T|Wd>C82n{Jky?QYD0ViKC;umKUQbh)$KVkrb@GrWSoBYdBmU`gEQ#+soFI;gCwnpVW3D&=)^Jcl=zUnRO-?yX!LM>X!H#o zevI=aG!tG#f|TFS#mK-~;>p6PM9x4VRZHo0>X_VAUDk_UTE&GCaxU-4ccrM$BxH{j zKf&zq9sI3@is$pD6J@}uuaKz0M@pi{w27LB?t#c@qF z%lMWX3I4z zu^zq8M8jKI<~lT*LxjUnYZ@bF0q~UZgTXl8`HwGGLlK67uEV{@Av#J|Z0wE|XK=*p zheCj&P2|PM=2F`ShsE2u8uYf}SPxg>>wL44A@_JL{hj^o9~2h``H2$irXeLpez|kV zfFX|aAy^`GMXGvxvqtQ-czO*JK4*=G)=iLy53W&**%F51>kCm&K*~ymro@TT&43U9 z$?MPfMG#Vc<7bs%@eQ;qRta#6o1UT0G_5{@himQ6gLWo;gy`VP*qha*$c%hmi#*tg z(?9JTDet_fbu3F3qm6Zz2r)6|@~Sd5LUU)l5)A{fvr9H>GgUUTXeD94-ZeF*m48JN zN}J@YPpX0#X}Kvp!>R#Zv(Vq97k(T81*260fJva5qfv3fv0rH2|1g-v@ZT>MEA1@q zY*jd9YhTMMBU|2}q5UP5L{z3lDxsy}yYOaht5ov)M&z8YPTbqdZ&ES|2XivYT(5m? z52+V%*z@=3Sg|I%+Jxk4r^M;|ZKj`cL~){uk-PWO%HTwBNeZ)me^{JW0k@W!auC%V zl5sPKetdOu6OcdONx-(^4H#&e+v;W?&JF zwy1MwqBvFA6?J*jJu34=-Hy@a)S5y_Y!)My^JZh#jE}IS1}VXt*uqu5_KZ)4?t)#Q zT13zZ^I7V)ifXOlqKZx_`*EYGlbz8XI}N6|6o$-C@XW|sz6uQ!X*9hOBg`$uZ?3f# zKGpJ{?YR}_ao$`rw;a0j<=FcOivg&W-LNOkg4gMyo6ZswQIGF?b8iR zI**3|rabD4gls-NeQMUB#u6QQqUU4lvd49)MqV;0j3I+PpbfOF%8#}y7J#={Xzypa zK2BUyV7kZEn!TMjTlf}Hjrk5U(KO6-1(nAcYHA z3~nN!6k{)TU(Cw+59gLXv%ZEpSVc-du!e`oJ1y$*I^9+{75z?D3k4X1b@^>LRW2?| zewb1q6jSx|3wNL5T`18R%}&ciw+L0l$MPpN1J73YK4YeM64xQKULQm^Yj4hwFW~wi zZCy6vMwX%_a76H(vshMub7JOGl`X!20lZaaRGHuRX3GdyKN*?dA9;h}%l)EW)iX+p zD0mDs*2e3w{C?nlOjy*F%qkY3Ml%+cbE3?^?w&w!79Vx7KX=I-)cZYmnXt-BIMuGE zqMm_4$Y(bGYSinZC{LN_!llrdAyMNIAlZ+u9pr^H1geg05)sSo=E#qBBhh4iHb5=? zRTzpSgq_jykd|KVW=_LWOk>tQxoVFkIpC^O%x#R~B%-4xD{|8gdXHMJL6+V_;mQPq zIx+}`Gn+rU=NC^pzdq`tL)QZ>DQT>36`BPJ6k8NU*1h09=PfOc%V#oBB(yzwXk5r) zUCQH57nU5v86xYN`Grm%l8;=U&WbAHB~T~0Adcv1M`g|40*z-68^LH54Esc8?sfzg z`sKj1W^XGc&`PWs2!ocy{>Tpm%#ET53wIc{LLR|Xc6!RL!O!UIZ@WZ?4ARW2)DFEY z8^AS$?{eufY;dBHX>Kkr{h$%tfw-2xcZNxFQ+Fsxk%2QT-0j>AO*9hcKtP&=VtdCg znzYPV0UaWn)OZfxvjTJcH*iy6E{ZCzwM2z;f2p71$_5dtWR9KYC{`lrafi!bb4}E3 zFM``d&T3~K%;xuIJ)qpMwQQ1vc^IHWRnM4%TkpRDgV2MpFdFt_XGnSW4%pET0GCes zh9P_ddh_oHu3XLvka+(}+t!PG(>^}e_y*{fN+#k(r|2_Q_l1$~69#NGs){*WhZba4 z?7et+Z_@JRY7YD3)C_|R7yz;z>{}DaJlB^U{AA*REU`KBln^@14Hf|Zb)T#phOt@$ zC{Q{_L;+OpRz9e{D!t$&tT%S3^xIbo7XbG^-DLSgxBn@D|8TheOWM=%OVLT&*jwpY z(i!OC{{@g^{0Eov|JZW)o6+z$^Wh&Y2RdOke5U{0a{2$mV)zeJ^xtDKF#W}x`7bN= zw^Q=3Ed~~P#y^b5zq1&)Hmo;9>#qUt;MTvNT1qxt|IGFS90>zglcet(WO|FmK#v?8 zU7s6@MLvGMmQi{P+DcR}j_QpQQg%{tS?MbG@^0Ir>tY9mMyCt>VeTzPrQm*Y(dPTxhq05pGedbo8cIck zdcOz(rI>;b#)N4<*Hrife^F=wuD*?1K4moDe7f*)jx7sb4NoUl(s2*-`HSgh^^Ery z*QpJzOlhg1+`zl=QqZ3DO~W?~C8gAQ@C>51U^^o?=O1zh9b;+Obj}517&R}gYt|WK zY3M)pf0Z}de7|{fW!F1&4c6hla3ma_Fh1_7zSU|lNAOA^@Rv|Cbxz;Cw^-Ogs@CmM z3V%9w?T@8QjXHVrTWHb9HCw+Ry|D-eksI$1)$<@#Ra+ztDjHix0#-P`J@{dt%8zCQ zcRw@6z$&Ri34*@}T$Vr|!p6V#olThonJuTekBrH6-uhCE0)PRR0l1)*$Ef_7ZxQcjT#(t{ncd%TIcu13;Rynl2O4<<_@7NhHR+3+uMQx^JEP~-c@Gb zdl|9LG~R9{=b3lCefmqNoZYd7g^|hnB7~qLilsKBl;K=NXU{ifV5fZ|>$ks=41B)__I-oxhHu%pqET1cc}YGPGP_q$o#(ZZaB zrTksWtb3n^+Vp9rU~V%w)oomC`tk+4>s%vMm$zHlinsuz$rC_X-R^~S~)ul zA)wbJL-17zcBU|@+6n?Ck*5T7Boa+XWLv5LdBM$ZqD;Ru^Kd|uyWrBTuZ4;;^?6^y_R~vzI7OQ7w5N2*U5znHD6FbnTYFFW6iI0;^UOZ+!FLom6**;h>Zp|Uf#u89XX?9 zNnw>xDDOo5je<5k1wJxR(SpTjg|TOZPIUwX>=7W^;C3n6iUjkMI924(TE9+e139zA zHzGgJ{3bAlXPxpU=bAKi0o_6#(v_X>NGfprI)^uXTaO6Vdaf6L| zC4nz23Uw1lDIkjBH3-zd5<;EO@7#v&mJl<`HFWMNV( z5||FVL*H&;c!KR39jmRk%wggYhHVBTog6j~)a zXPu@?qU%(%J_2V_CNiqqv_n%~J(OY%VTpvuu=0oJrapxli$;#DAv|Uq!UrKlu|}9c zNg!fWg+3L`bt>9m0u;ZQZ57wX#y9lv#+AH%QPqH}cm3Z_V+!@-Rnahil7g6N@l|T} z_O$rxWPu7^FoVi?_-gMLoaDO~u!n)S9de<$N;?4)?S=PuPWX>KoNl)-+H;*z{(8qD zH=RM`$->&7q*0byrt;vEG7#4DvYzK}A>?Ec1V>R~~4!NL*(2cpVL9S}XqeO9zwKAti}Dm^0==#l+_0vH(OAvGF-zK4Kt72W zrCo<xR}notJsYfCc668h>){+?sa_a~i!fZFV#zhjB zw&Y|$s)5+;O5!FZlqRmJ!$Dld|h7jpEWz^!cC3btxs1)Hh3rz}WJr+Mo!K z)G`L7=qPy6_<{QI#S!I|8UEx~DTC8$v-B2a=w}MWuPpWFbFd3kxlPJd^cfXXtiSKO z6o8*lLlX}iSLkS%otSDA1CFORp;L##4HHYinf_iQ2v4e6ibU@2B9C1MD<7ts;+!^p zTfWt@p(V<~?^=J$Csga)cc7#327#rOr|huDOUq7EhZ`r!vlEO@i+pWrTltD%qTaIB zi2_Z0vu_2@Q5dFRR9F-UD>4DPM>!N9?|!I@q|6w!ay9b__#lVfhy@Na ziY51t4ikckX>`|!XEhE9=v!Wv>=puN-Dw;VQ2sfn1Ri1$lsi))$UgpIE8aS_aKwm% zxn|j;>GG({0vgvq0AVngJkP@ccbvq1I_ifIo9D6x!-zAbe4|7)%znyz+CuSCoJ>`D zuSu>7Uy?;9sEsN#0sJ1+yL&J4)0IRJ$7Cf&0^;vMtOKTq{sgi>78ANWwVHwVPfe9k z-09J9v8pbLir>hZ=cA4FC!AdR{Ydmew{TE%k|&mh>1Biy%0t(-E^HH03Vd1ZOhHnhIW@p%bF>dG2DC~sbHUWIJbZ`7zSV`3F3Qv~UvGiXnUjk>o zAze^0J5V`)1@Y-zSihH*?@x)iWY#HIAvwZE+_(4kT?A6FSrfv023&%E2Y@gyw=@KY zZvS{6v1xV8pxUif6q7O$knG$`Jrys;FGfl*K^CYmiFj!D&=)NF^J2#4n|%j1_u(01Sq}(7Y51Hm8<=mZ8b2I0k7a%{kWP+WulL6XzriHtZ z`=Dt`9e&lvY;7^V)qLemt6LFJu0{ITtXs;{fCQ%E1Jl{#m~N%t>05K$hyRGBXTV_K z89>F>a!W_nj;)}#Y4T#aS=LLtib5~=Jx$SjCf)vMFO%^pL603#^}GA!OD*N}YOkwY z!Sg~!HA*q*rSWR3=k{uKB=~q1{q!&%zs=cb^Z5pV{{|_723T>l)r^f?4J4YJeniTM zhx%z258GU?lVjzw;DIkIP@~r_!Tq37dgd_r=-}SG-&U=0^x{WEHbn)BIC}mr>|xF= zmh2^yeXlZY3n)X`IW%$!4q;DMeZQbgd=tAZj{gAso$WoV1`eXXD;w_jiEE%n1R1@A z>GlBibO&rX-zrKDt@8e2i_oY9$a*p8+1vC($R8ICKkRNPEj-zr^s;W0d16st{Jurg zPKZ3OVO!ab7ZOX_#CQInflBfx&9W#Y2O}+Hd72mzfRWa^`Taaz45A#z?dt>iiJ0Js zLB)6bJwO&#=81t=b*c$tf6)unG?>Or5C?EaS4E-GRbtjd-!_; zYBxOmuj#C1D_4veoxFF{$_5+d=m->k>_#Nz60Xq3Ht^`zFZFi3Tkb~6`~`h!!FYV; z(P@S-!y*0_zmvFc+W-NU%S2~q&B7W^O5mFFq>kX~He^>Z_AYnH4c7fN zr{i0Et{E z^hs2!+-&wCY#vEh9M@PgrQI1NdLH1D3K+(0+YZ2j4l{Z-m!V98eIJMx zy1^t`0%>-M@k<-%KJaXkRfO8mjt5kkS~nTG#iXp>jp7^@a(wxE~^NHXl3A2Qa-?A6FtRz3o;_}s%uoqs+uk%+95b&_ViGBlBf9CR~bU) zK~LrGQ2KeGCZk0BRtwi06h`>t4f=|}eYBckp{t1|rZMSPo^RC7Xd>b0T@>if8%>Lj z-GPhM_w){;tBRB@$haM)_Du$DZ8-8&1VA722H25s-W{?$(lkB803UK9Eo<7=*y8>R zH=qcgs@_A*5&~yi3-7yeECDRsm_S!&l{c13qIcPqpeq>v_Zw#bw0#)HZ0Ve364RQm zr*#w;`{PZYQwYu7oo!Qw5k9zkR_B&_`S@~eLAglWS9_)9q&&N zUgU9`+l!~C<^I?oN3u|p!o*1Osh@{6CQG<%A7yc_seJ_PR|eS^7!~e=&V0Tp-(zb; zJWxiw*-x(f({)og9hLao?VE{8M!!(d#{-Jc+8{ZOBbHVp5sVDI~eQDg% zVJL%UozjT=FG-R|DH>>B@ExuU8~el6;OW}8D=)H+Wp|&@${!y=sXD9yJY+C5V5+@H zvT=oQz`a2VtiJka2G&OSTD%QZLs+h|mLT zu`BC&aHf2BB?{)72b`AwPr1BCj=H~w7b{}sjg z$FKZ(r2h{T=bu;M--ZVMWz60G1oQpJB-Ov1`Twy`|Igg{zj^n6qJe+&>FI>o@tOXF z0{?4I;eP-ZWcqjFg3N#UU;XbR|9Lh4wU^Jx%EJCvTyO}}!sej$*2DK5oF%7_Q280T z?0lIQcY3=S>w<7B56?b=H!7*pt`29EN7JFFo5^!E-*Wx#NdRH6el%^*md)n%qEk&e zyQ0MCZf{`i#a@lut7c?uVD01ma%1h|O~dP{$vthd{LqjG3pOF5V&doi=kv)$I%(pO zAn~u65fNsB8xbTS`zgWvaYB=^59D5+ZHA;y>gX8JJAXX9m>Ar7;atu=*win#UXXQ`zwi zHLV#L6EZ50>~ES=+VPFqFy3twKu<>eYP~_IZjk3xYDeMh`z;tUJ4|uW4S*6gH6m-i zB{9cqyz6mx#q%Q>ZV51g?Uk6BmyFiV*tCKY*=Wp~Co9Ox?$2NnAL&LLrN~;8k$0Kp zzT@EiN$6KvIemOi^aXduw#=0S=PsMpTZ_-4^?;USUO8Xe?jHU)icE>|Sgu*r$;xaM zFDsU^#Y_4O1Gnbt2L^gaY8)bKJT4IFpwwyXp22ET7!|pl5}4Si`yYyXurI{JQ_h3{!|p6C+4kO zEeag*gJDU3p(?uMk6+tz8Z3Iv>{W#0-D^10R0l?Ja&FUCWc=a_fM#w_7a9rM zSW_EkMBH_~1^PjiX}?D&Sa`QIO9`?oED#V! z6yGaHm*)c9Qpd#on|-8gb@reHn64I?3w3}G2)smy*ots6ekhHevh>Rb;~*s_i6p``&I#Z z;)$~$rK;8tD=bNvSO%kd5MlCs8y<2Wef2;mN3_p=x*LFcy`)RIN8Im~&lJBLBDX#B z!FcWylGwca%BI&m1l{n({v8V$PyO8`^Trq9Ab3viOE!F%eJZaLS}=;8_TcpAT4B?3 zleu}0qeoXZx`Ica8`zmNrx^>FcCBgzPnCB0kErE?GAydmy!_bS2a zAp_j|W@eeT5~LO-FSz%^x(r6(Wiq9`gwZaC*Mdtd3@t*j4RJBGZoul<=Ft73@Q%(| zUAdh%jyHI@QHFfiZSBGYc4bn2`$(}#ZWtc%6`Eho?LLT<^2<#<$5m5j!$JnU=Rm5R)Fww2Go1?b92T8uUNv=#N%~#Bc zzfcA&qw9ex_h2T1R<1;M^{p0q_cH@UDzwd!HQuTO>QDoCCqo8sRT=0(J2m{Y`g9?N z@Ha3+?8T(J4S)aiYx6J|XKe6}+F{in2v;@}FKgaZ=dQFVVQ_O0w;va9ivTjBMDb>% z&FbtZXbG;rlpnpc&sMGtK_hGUA!X%<2(ni-_-R>zHi~?k^(;9Ete0F!f-SHoqnC7J zDq_`TA8=~E_1;(lM=IghR+97`*Mn&cyGCl#LpI+*E3hH-;Ee-sbm*Orf2;0t~JtW?Ymn*9U$FQxKog=fYZc5) zKgkp*+)O?rOQckqQEABYCsSvPdnVc_Q;Oq3Co6OSOfg6@@`ElY!s@D07HAo1ZKd&^Z4@ml`5p!l@LHuM2r7#Gu0+$>idZ zDNk5f(oo`V+0I5?x+6}`@D0qVFJ zJQA@};}4+lGjg&Y#0JaS2+VJcSA!CG@JFKRn^JegGzKkCDCht3#zK3eUfBS8MeUjM zx1v&D=B#JH?>*~#iM9w+jUI%K0=3LJpEbqGmyn;;^vLm4k<#MB*eDxB=IUKro{HE< zlLa_|-*I`Xh03GON=IcYI_;4v81IB%k*pl~Y>%rB*Vk>aQ*pOpo0rTL9qRj~AW}Lu z?mQCzYB5n)iJEY+tW2qiuoaIzq+KI z9;>mm$+1`AS*MV?jiqWq61A3~6_O$vPsujfpw+YBm*x$?l<;biOOK4V zD-3Rw9hU3H>R-QTK?m@l8bJ?O@YhNG1!J9LrKK6o)yX%VBh3poZEQUyN;HZrWWOU7 zAkfWCBcO2|8;SC``w&MC!04_t>!DRr$s*PGc6yPqoNQ|YCM>MdM8c1+8hDg(fkCHf zqdB)guc-~5UfEQ2{vbfs81*_4Id5$RHiX)D`T@S$LTiAZk_{AwYOED6OWUA5M6{*B z%O0OfaI4)TS>Qp1BU4XK(01zN*ZrN~k+{#+s3zyUw##lKAuzVU;}KhxIk)<)2g+ki z_9an2gIX#Z2v<#kd2U)&K6!5Py;Cl zM~P%+4D1uCH`hfs7GS1H+o})XF>6Q;x^`P1U|;P<@EsNwoDuw8$1eTnzmTN=G(h>U zvRv%{nB}r@vNtob{~e;1Hgfq}w(!51LC*A_)nEU8jO!nD>pxIMe+~WpW7_U7EBvQ2 z?Y|HH-W^^Z$!nE-U>X3;WN+=kGb||53)q`a4U< z%E0v32=#x&%l{%O{vHteL!AB_CEEXRQtNlb^?#Sb{d+JfmcPGBe;oP0mtIUv41av> zZx~gQx?0R8E28)J-LKr1%WYR?LW;9dOfY-)+bb|g)`n4mOmH{#1){GufeJTUj$biDo^&tC{T2tqqoVA_p5Rre=h ztz^T(gFUf^;6BR0K|Kp~XlMp7N4qTTP|VL93PJ7;eP1F>5nMEerEdjmZetr<{<@W! z)^OL(D?@#%j-OC= zGqCcwakQ5QKd)M9B!*%~P~!-h7Nk$&69j#m6^a}|y}%-V0whs)l!&_}KU3{b)=QXz z3L4ar91Q2+a8Hl1MDp}8pNokBJ_xm}Cs&XQt{*}sfF7NoEW8wbsxe@~2R21H_C~dc zuqYb>QPmn{R#2(LQKo4?u(GsaF-+7K+`y?~<>UdMZ-|=KEsTn)I)B2eYgnPI3UB>p zf=PaC&U>nOl7@L>R%6y%av5#iAPoAEFu@@bU3&7K8hnU^pi z+p>GMvXWMbcwpm6+E&?yV<};i>ypUPkz4Ya`!)xAE@mVH4~+>N*f&Zpb|lYr;Oz2Y zfY9F)D!(Bsl~cd;%A=6$UO87vjlpqTv5Y${(JY@VidM4tdFU z-4k>Ab8-JPCc$q(7J5>6t*;ni7S83h`Z5xljS|Fn`9`I6O9y`oP+vF~UBK21LR zD-G?WhK8@TFEaE*>4IJ&tYSvKgfgPB+H0M-!2T9@c8-U&%s*W{Fu_!q>+>kp6*z2k zha(&@vnwh+m(g})C>=0-z*#`H#>6Px?xDEWcF4v-t2jxki~H6u9?t9TV03!_ck^~m z8n^p`-_KsV8m@soqNE@s9?}MmDnat$!k8roFG(ZU;Cs)>lBieon<;0R!Fi-qm1P1e;d2y492*;8Gb$Ew zCYre;f@eNGJ4TyR3duB!0%(;s55JV)hu`+gQ;dK+>w6nvcQ~N^#fU1^K1bE*FHTAP z6FNM$YsAXj3z(EcEM_5^ z<XcMKvf#7V2A-gA}nXt{MAgHW@ z3_o_$8Zvw13l z#uJnBaH*2NCQ8ip6k5^0JhDhA3{9Z6$U~FQG;~8fq2FK_cSM;f#H5X(3TgzBiZP%w zuCLk#HwDbhwZPLG66r)Vspcc(H0_ueyC`>)4-y#gR$L+sFzBbMkyy>+KZZ2O@+8Z> z{}W6RIO0Hf!Ie{~gfi6$R&&Nc>H*gT*}_n&iXHW13z)LfnGI1F7z}LL)(Ti4iiE!P zM`rK%uAH1*8gCV{RRl*i)5bN)PhcDf=9O!sG-Ib$6y$+cFAsVW4$=D|ZMr;b@0vhXtRuN`dCDxEEWMpczI( z=j=fd2QTXi?qx?}i{J0B9xQqbNl);_)FpU-(n#C`5*Vxpl%U=2jymGYQl?Z?_-3ak z!iqQddXq0SI{7lrehuR?uKuKS$XN|hwYBanqWk6EAMeJ!YrIfP>d0HHq|I6dB_*)| z%UjtveydKuyAu^nDWnZ_2MQiT$rZ!M1*d?jm>yG*&Ia45*pIzigTo0684l2RJO^u) ztAv!HIMyJx$rdhMTE~eh8i+xnPpB3xN|zhm+*yAY$r=p>dI+B5oQXGDPIHZWM+l(^H0XGfs|f9W9=ydw`zAuWc1XT4YJ6u-7$<9o(Jc9q4@xSQ&ccPjxl zuJ)G;EqDO)zse{b0Sh$^DNfWhBZ9kGms0_1% zT3Rd>K313u2i{1q7Bou~OrgTx{l=2Fe`=!`iqht@>>Vxw(seTm#9WaYBC%!!)pNUI z4QpA&tTT{bltYKg_hLvDfmmj^<@jN1+f65b(oES>nNfW|Xv?{nhV3%Dd`a-fw!uuM zH=fNiJF=rovF4+$=WcxBFLThPvjj9)nEyRSnCV;hn3I{y%r~51Cu<%ssw+<1GUFW; z=&BGpc)D^HJgvx&sBZJ|Hi!00bi{oshm||DlEY^y38CVv8my=*e*G@2*-uGE@2h5z zuf%rb=qV+GN|2<~YoOxH$nRw4nM2(}vhmiV#$wS7<){RgMH$q{j{!~LL?b`A$+x}x zRNX)96?@_dij@K34{3REy0%n*-s4b#T z0I#3M;(p*dW6y(npIwAJOlx}K0DP`RCazxf!LMDqff#KRY5@{gpV{*LN(wfUZ7nq; zK+)-j+1v6e)g6Deq2IO40EyHfd0@aJSY|<)K-1uy28zJ8Spl+}C#TW!0Bc-0i}AkY zWF%w*&C+_Uj^arY0g@|rg9Vk+zReMMyBiwVsfpT4z*u&(6VBCpX}>{Fbow|XR`e_` z-)%91seQ2QCdxe}!Yl`wFSpmg&u=SuPKFGo0V7rhnHapU|*#9H8lcc6$ zv(bv^4Hx^BD{`7!Jd{E16agfbj_NUus?oSza=}yDoOvSH46Jr(_W6-UK%tQ+8Nvr3 zl(IKDvNzH;dtcF9v2s`+vE7xSE-yb zN7}BfsXh5)K2$zF+_bK{Ggl7EhgqItEG<+q4gr;h760iJOJVNg^Nuj;>h|vRZl5+f z-Y0*khmOvgPtNh}g*4rRSM$2vx`jO^KqM%DZ{8mn=o29u8fKqX892cEAs&)&%Wuwf z*EFAttc3V6GyerGbLu!_=ZE0wdyKsY-q4cs(@Klsh44|XZV+KwWFmE_KEZgI%!?|K z2>^#65%f~3xTBM=Fm5S>0;pI6d{qCnJcb;DwgxF9p=sh+Vy*U9$i}%L>3$F5_`b|o zWB?z6PxtF<&PL4+*ZH)NwBlYlJG4T#{-FaOl&i_mMJ^QbAA;shGYGX*5fiY*OQ%i2D(U1Bo1|NQ?nNVP z)`qL5(YK^|Wp(+d1$q}2KdYBju!vEUjZ3`0YyngXfIh789!n>tR;|E;`AkcQYQBz= zPy!WtbjU0f^DHOr<12VsVU2Y9hWBc(d5{tj&ca#UxoK?tys0!}a4NmgdIdyd?m!1c z)NU>zj(i={^aKh5qP$hA5P4K@qN1f_QBvVk*)L9E^=T_sz|&YMU>BGDAVW1%ciD?t z0wm5$H{2thz!{piuk&63BDGoh=8L_LB}WrO;>Bd;k^KxY$GiO{NAzy84M8=bR!1*C zPKH)w03EUPXC2@28U%Yf1JEI|hskJ=5y6duS=Qk%PTS{62;1j`l$tqnBVmo)w^X?O zs44s?N6Q%KVloxG*hn>Gs3#q8phKKJjyM82gE<>Feou^!__h{$tFh3$E)vpW1+$-C zr3KeBq-Ya-GIrUeiSkaZMQTXHKPFD1#}!*Cu!diMRG@bRUB9@A;ohw6Zr`s}Av&H! zQ?F`#?Lv?TZ_$@mO-~8sGMk0elj^Uu%o`Y{I2F@<)}Rvy?$lvP`Q{nV@fraeZ21s+tT~0a@ZYMINM!tB9ODR_!KA0n*M{4 z#P7jgluUv0#hhoad(oenM3KP}-KGvZ;cT?D%W5 zi!ywfCbP{&?*^!OoBKfqqzn_khymLAmh7@BBV|JJGB6ij#_J~_Hgo3a4uhmx%*Xw~ z&RAM{X>K()9xLCHVDsj>_?~X_rtg>J216mC;~8!fB9sr0dgl)H)^eDcn&dQ3&ojFs z{>Sr~iW#B3LRXM4dldefWKG-WMqztsd3&y%SHinTfbG%Lk8OJL9GHcR;FvsSr$WfQtS+UunvGk} zCvFEyg)`;;aEf}P1eu14&rz#A6-)e;Y0()%0B!6?;!kv5)J36>qb5lVS3F$vdR7{^ zF}cm^F{!H7IkG&mA<4+wx8#OQ289CVOYRb)H}MF}x>uua;=Itisw|1tKeN4+8@jKT zt;?9T+f-cdx}mankmwx#3DwVADi>-wI+b_f!Uc9V+n0J*0mXpb-k22qi>VmROvcge zlG83AS^QN`QtWx(t(4mYNfKwHu_DK4D{)7P@;2_w_i= zxg%zKj5_umI1LaCFMJTtc-#_;{=MafqBphvUN-+|TI=X7nclrdC{X_dlo5WQHb z&yRH-9uUxIF^dlgi)h*2fUl*c^SqOq$GIFUHSj(cS4B_LY6g9-5N1EuLGlpzUEv&= zQLYdw83;GL*Y zbW;37a**jXWEVG)56aZs5Put6w&a!yvLaM0AyKlX2<xBkI|k8@Sl6Pu$5zG%cl^Ca zNeL(e#(MWedLpCN^;S=BjNg8ycI_m-eYt*YNC*IRBqC##7I=2T34zJ-u{x;tO7r0R zqfPfqvXllS@(IcbBZhn%XqMRK5|=Cro2EOlxbi0J?D>H0>~P`u-=|-HB}f0rCjOIv z_CJxB|B@W|uX>yR1vQZEKge|dObz^-3iU7lqyKfx-;wBkV*6Vh^`EJMf4BT2&VNS@ z{5ziiK4Ku-f6%r573ulJ_BV5k@h@WF-+0o$T*E)pu>P-zfq$RnAJ_Yz_vQbiZXn}- zjW==r5f1)qq`x#J|I%swC&}Kwy8ctLm;L{DiBYzHhS`MOTrC}(sa3p8y)6EKeSfqt zMV-xzT>mt^e}Kt@S%H~=IfFTXx%~N>gSmoLgM9+i{Np==nf~!q|FjtW@m;~p{%k+} zS^dle#tg>vk3p;)?8W{_1X7Ff{E-f3XJTXFU}k3FW@4pdVxeMUqWW`~yo2fg;Rq#X z2U9l_v;Vtr{(1JW|G(4{6^*S`UF{eZ{!}vhgZBM}TmGqT#PXMG>uTow*KKw+6Epiu zE0s~s%-+J)@)I*B%inSc{}X0f(9w6ml0@^B+!Y)bY^lm|fF~0NPl5|XlNc2R^&4>v z_C4h9ed+C1yjRH78XYlz35>^mJk!^-Q*^suAMxQ1rP;?|5vc}G3|@zDMrwskSD{vo z&k{{QE5VRKO1MnL!T>5cOZgU3XQZ2M*Qs?)PK#u>oaLMAhjKVYOiO72T%}5xU0D`D zYXwYk%0>XNzAq_|K#f0zUpgj-IoGhzibG%|zOunfDT|OR?&jh&zLO9;XU5Ehd;#*%4hiBJ*8 z>DzG3Z!XFB@%fThoZ(JFP0e|hIFa2$J*xpwk5djvjxdy0DdVQDZICwmWMm>*DjPpZ zSEF!p21D(el{cczTQmX?6H27RRZr9n|D3Vjs^mw*NT)8`8$wHM>lnFj^i{4L8xY5h z&R{yJ7IYe>^`lQ(tL-qp#`-!TIA%?p!e~rd7t8qQ5KVe{K`o&=J#XZ0LXE9;T5@`S zGz3Sn_DA@kD?=%Z7I^zu-w(%ppcHda(SYhu(mYH=Ft;@ed_8ThlvV*{VvXe(CVYi` z*a5Iy9(ZtqtC2RczAVw`ciI8L8Bf&&XDgbM5}}k>apS50V~5z4VFks&gX_w*f#a-} z?S@rwIxc@$tky(JwU9nInl2+$Ldm#EVWgZm{nA=WXVs+Fs=u0ysGg%gE?cI4q?-Jb zC%@cx0bl)qThL5p?P?G@@zC+T0mm^ovUIY+3Vk8nMfJ~+8KsyzM43O9T^xgDW_Qa> zMr_$jf)I(@CHe|bN(5zQ0t@Sk>tYNyip%YeoxA!?Cow~oj6SfpNo2OzI~ly>O{`ev=Bz^Sc)SR^t~cRs|*|VmeNC&{zdkL7ktrT z!zjt=f_ivtf6+^{G0BfN^=&k}t~0%xX!E>_NHhf?Dfp2RFELDxh5U=q*@Ib<%#FXO zD$I2#&ogw4S>G`lm*^IHC}5|Q{IZuz4lE3Dy9S&{04)r4zZ6xc1GAq|*2Cc>*2w;3 zGm!tOq4OE{j?(Wo%b=^v#RUl4{ZRQnuN{I8OUc7D5;%e)=VVw8IY*RsaZ)x0M?%$O z0`1uW7Kgv>1j*+fFob%A2SFm4Mn>^d5MRRx6c~Xb=WJL9sY;Y~+QSA5^zlAr`91`H zr3FsH*kc0YxegXbY>(v-JEI%)?@thtc{v-a7_N@zWLN;1NR)Qgg9QuZVVVd$$;oMp z-gbiE(+C(syh;Nn;p{Pi^?U`3BinWg_9P;!uJ7Fo&pd70+t&FnhW|(WK@q7n-y;8g z&|LN*^A195Z#$N$gC+@j5~bt~=r}d+v4-$?Mny>pDiSipG;T%n*PvpQQ=XibznoaY zgi8tH4VM9Fk`fR{~;UPC+s*&|bTLc{awx4_MogM|Y{d!(nd`Q3e)f~rx zNd$}6;?Yw^t^C2p=?PGyVFw}i0E3BsNr=;Ls|q%&0nah2YR8t=4EVRGaY7F0Iw*B6Nk&+%~O# zCVJ=#%59549qEkc_&HO1|0@bBU+CTz4B@+O|GT;1)K8E0{=@qV<8QTZSfTsg)Z?0C z?MC6TfZxe33lJ<>QC@2BP}9zXQf`P#YD6;U&{4$oh_1Q#P) zwLiYOIelZ#^G+ic{^w4zg6wLZ)JTPv3HfjF&ZQuOT;#J4n*<~s}Mwcr% zeruFv!`M{vvQhQRK=A6a>KE0~TGYl$6|MrqZ^!xKPcpCZ>hGhYi!OLN{O$L)Lqsi;%d{SQI#f22kK z{w>J%zpCPfBq`eLF`*4yzGLw;g&Ds^P{4lAcQPI}YBrn8N#W;e`a!_aq?{$%^)`CD zZoemDEwz2*#d^!;iDi+w04(#t5qxP{Z_7FV1-!YK&+$81o+Lh{{P9EGZ6!|ZHMN}EIIS`B{p^->7k}fq~n4SmF%c{_h6QrG6H%$$?iZwUzx{%4HlQ)(^I8sxIa;% zx{T5(s&b>tmyWMYUCD*Pizj|K+&n{yARauXHdsm!!%EuJJa0wlyX$}yfS%(PGh1Py35X!zJH;0en4L*H@O4gq=CmI|hh6!lOCd1p;_6(dap zj^n4JP3fymCjD7D6fU2~ge@JcLXA<@Gy)CRc3WhTXLGAY7#CS+$ymVI2NUo+8a&hW zp0F{yWeO8J_@Ro+GG>jgx`Xt3tMp3z?KKTxvXM$&fX@UAE~WK!W7azJ)WeJYPRZGU zSeCDHw`<7s1UkOpH<|bosmoCBt;aPs{mECg!v`xbHT|v*(>EwKx||n#)+ej>!vxR0r(hkC zYm#P3M3RPshcZQsGW~=oyDY*I4+Q}apBX8%jE?3(SY+R_-Q|#{0Fyw?P^$LJzDl-Y z(b}%c4!oA3O6bR>z-Rr<@u$vU+yh2#XO^#0m#aq6t0}}He-UVs%;xTlossvBh zzRSb4$CdYpTPs>hifotU1(CWqjFz?nb?(0qkNr_b!{|eM-}9^xZ`Kkn>pf4(-O_(r zbjX=fe;)NZ7>A~}*fQ#J7MO{0KpXhxxL5}q^p9>}$2=Fyj6RViT%w;M$~YH#ac_9c z-e_?ZKCQ;ijQCa`H7sEMRF_=Q#^=gBlZ!HXb3l)nlKWJXj~Vw3D$XT7+HQW2wA=AL zK=^i7!e5@o{D;-n7Dw0Tr+angOH$s|TK2=d6J=AAVWF&Ph72BQqMCL0v*VdHV-yMR z(}d`OS&UR!TxBeIF$7-o`abK@W!se*)4+E{^(oeAK9tLKCF$L1S_z-ziObZkKVZ zx`r1vjbbOT@HX6rOvQhRxA2kX9*UjxraE-ro!$V+b~iMiSgWGb5p?@bMRC1U-Q1q* zaU}hA_PgtOW}>0+=(dYBrGS*vV&ne4YoCbVD^IHdeIl*D9BF76^=%2?ZFeHmg-0>s>y4kANta z{?c4^gNAG>#1sEocE(3n5g_}SwMd{VSq+CqaPxlRv59x{{#^P#bymCwrk~cE;J5T+ zAZa29e6<|8xQgEnxc+fc@_Gq)&GJ3$_CaDXBEk#^3&1f%XF}8ZGz9xvl&kpRFTd(U z`{5Cn{~uv^t2&&@|0AY<-I-IA$%tipr;kXBBTC{(juv_6-1@dpPCl}=zf2Q#W62d$ z5WyA#ocod?f6o@jF>QC3H?<>sRs5T!t?hH?>I`k_jTHrS>384^Qm4I1T$@!XU0c`t zWI$b`Kt@<;#mH5Z;-UZS?-8!q4}mymrVMa31)De^h=~cJY##Qrk zy}c71C7T)RhWdt}RkHJ%hgNs77m=6thhh%d%(4x*sVpqTkt+e%J^DNm0(p~CER!5; zF9}w9U~+>Do>-RSA2fyRIr5}HVLl45`=wT{62}HadCgj@u18so#u?6U-0dmB$M_ZP zr=?4ymky?QR8T^K-*xtuNW`!K`wff%bqSg2__bo%w87z93=`V}6I-w^Q*y2z)xJ%*+HJNT zYd{8~Vj2E+M&Lz8-wvUC;S28X(bul&isEku?WGl!ftwnqKkq|O#P5>AIS$2G+)Y_n zXZkc#I$Gv&F_63Jl%6sMs?3m!kAF^B(_E*1skvj!<)%5+XDz%Z<@|$Q^ z)ymd7SIHkGfdb_Ujm1@O>EU$J(c9F}8;)0Id${v`WQf#IQ)Vyg_;m>_&jcP<|#xVvPJN)**Se0j$G^qg>M>sz>vJL^nv$Vs2F z-jcUqpfl=JQ4J3*Lk1Dk_S4J`5>dIk7F^*=f>CKDJoa;HnBKdS9ym;HRuDj)J%Q4@ zKE8rN3|Zd0Ldi(Gj41VIWn+F4EcMHc<|3a&P`iLN;qL7jiJWMuMl5-f)_3U<8k;Js zuXr~co*A_QxX;#n>G?wReVV_1YAexMj9kJU_yrG{N#x*JL2oIPRnf{$$*-6j#Pk*} zjIMm|)r>{`XqlmQG;I5<&0V-B@nRhurpC@E{*!D$`t4JpS*l#Tc!sSGOK+lf=EwE(QRx&Zm3hUP)q8oyOwO>D#k}o}ZG2p0 z34*dRf3-jOWR8>FHzzAIT_HUkb$T^+%0p&SlBYf-h-h{ZNd)AfQe9>GN+5F$4q^Fom?rL|39!rryTEXHN;#Dq<6yiY zyY!#h3R8ot169b4&MwNIff!q#DPB#eO|RmtFhebMhj$H_7)gRWj#vq6y2D6~iwfMZrq?;RTD>g79@dHq<=^Nbw)_*9k z09SQLd?`F4zJgD=2Up@LE5s?CBBK#w$tRigJ_7K{E1#p!fOXmCzn6AQ6M|yzOhufA zbNFk~!vvd~`*s;sVkT~)Yfk-$3@fC)?M2rc&rTnzecpbt`V_rGe|vI{M@;04Gcr=O z`&AY?efIheeW+UX5Z>CjVEge7L&R9$nOQue8QKh^%q4N#NXXzzL8&eGy+tVEHknH? zf?g)80%Q*0ps7`ka7kLu19<}$X=*hh*kvj;jFU0wlC|kV)?_Zx z2!PBN4dVn1#AK~Jv3d-7nQ_em

zSAq}%;gg4-jnpro32Vk9Cs%)Hs!I}(5t6U|P zjKP{zs%G4VF_)B94#EOZ(kbVIC;*hS%)$}ZGD&pGK(R6mfK0TiaU}*gATk-R5Og9F ztzn#mL7t44FP4DOpNt0tDFH&MnYAM3lJJT^LI8whygV^~07BBRW&}uRtss!yF(dBSwc_9IOm44jaE$&0SHzw-OMnOvg`VNG95rr zg-k~QXiTP~2oxprsuF>lb zlb0(%g)(Q#yXXLSI&_T!`G|N7RJ!Xw8`@ggh-?|YJkXoWdI_jgX1x%!A+uf#%9dHr z2c65T13^_X>jj_*ne`%2jLdo-2nA5Bxyu8nR^KH6G|@RVVrbGh6=P^pJGEj6Y8q!^ zq|(%?M`!@P0YSwwdIg{X8NH(5wg))3bM(_y^7%%|QkyuXC6fGVei412|5FFOOzBIU z(j#g9g`miWe{kCeoZAQb={x!So8*6I$A3n&;U3&}4(GOpe%eGnZzoy07OT`uoNv!7 zvf(Z^Vo&2}gJKbVy*o)X=@>M5wC=SNosdVL#hYs7!qpG63Tlm!J7Tgk)FD+MMbyDn zU<9u+)9G)>7}IdF2dE+vY6i~@1*WjloA6{-d@!kFol!TgCrd+DS7IS5MH%dGfnqiTI@v15bI?O>|R&4m4~Jad-S+>urk zoTR;KAhs+kyg8){TevyHivu>GupDG-y$BF|y;@KeTvb3-5XcAYl51UeLs8{;TnQVQ zN*d6&V0miEPNfN=$)<@J=}#h1$VQMcl0hj^fCMlD>SiYPjZGj_`4SVyh~%7Xqs{7A zS6aqLO^qUVSXdJyXn3+%h_SF0%AoMm**FNesM4rK3ZlwbRm5E#FSzEIfrWYx^hfU_ zcc?&zv@R4X&7dv>D$T&I{q?Q%E<>I^vs{-8ra3ZTklq6)u)FS>Q7)JHE&W8b`i5%q zEx{$%@d8zjl+_Pp)@|_|AJc8}9B|?Xd~6wY;C>_odh|=z3ta{$nt$Ik_l}C`Hup|E z(Ufy=OkPU=YO+@$_min}{0>9YE8!&7);I9P3uwSZZ0H?pBQVx#k@mpKKVhcG%s(l5ww~nB8SS#54!s_#{kThLk-4s`Wp4p zn);G|O|!RXi#gG_IK#O(Fb8I~oJjx))7+W#r;w}n)*I!PnCy<~ zDq2%3(yI6C=+YQ0p1J2ZfMYF(8k3DIZ_y_zK-n|~ly*X4+>ni1VO$n{G?zl; z%fwK2@a;}`Q7-)#MtKu*nJrHe_8us6p*8LJ4LO-VO?1W@Lao^6Xo1P=Zit))y$yV4 z_7L=Ylaq%Tvgwn?Jc%cNrsKLj^W0~W6%qTcfUkApNTq`=E%2sx$8O^ zgTiYgT$m;in(b^AZAgp2I}{Wemd&1LWMn~XNu7#pL_p+@6QHn{5!9z}vfNXndNJ|W z{Ou4F%nzW+<^463G?aaBHflC%G>XD&mh{Z@)H?O$f;Ex%)`{^e5XnAuGHGz%NXASC zp7&IE#ArxQNoAQCHEDR?+?g4`G~fbB#pzhX97~fjGHJS(p;2vRWP+5KJ_5p;U@vR| zCd3dV21+w2=h4}BX%?_nkF23Do$;giA#ox2BCZJ-ON&e&tolN+dLg6s8x)xP{9xsADv+A~z+2ldW>MRvuzF9_C++5!8D z^E>8E?y~(sc+;cDVQuQB%WUfUoxl_GS@Xg7lCbAjj}5gyc9Z6rY$u~=H`LqbJH~Sh zPlFo9YXJv?v$qhxgh#Mdfw1=+=p1ke{g>+}wkxcwBD;`Bc-<(ET)W~&r#0G36CvIj z+y}`(erg{mvvwmyNIM}o&*iqwmw30JN8w)*mkhrsFBN{7Uqbf0_4xI4_VD*?EWU5H z_jo{f^Z-1!_pvPa zw3=l+9;JwH+NHF2rfOf@e=RceVVsZbzzzR=`P56_d+TlwpF_Bgwcg>PI^8C%#p%VN zZp&jaHz|MVfB=%z<$&RYnp$ZkYY}MSXt6(9-QEk0vdZ5n=sDib$gT()T&P~C(6BM6 z!r|47nq4s7wl>OJh+XJf$goqd0kk+<$j0jcn{BP&8}TGVbOfxKm7;1IJkGZ^c1NgT zVL6(Xi4W+$k9{BWU_i|2bhNrcLUNRzDcIi4j{1%ml@WyK&Hqwt){$`h0Dak%u#1%ep_w11WO%?>ar3}fi?pz ztHnjc(O22425C|?gM1-g%Gb1uZ=rhb+I z7KfYB90B!m3I+h(Iks>VN7zY2fX(@Zpt9Cn_l^rD&_F~>OEs71CzORfZeYZ4>S%oOxEI8AM`sgJgthUva_=YYC>z&@VJV)jY# zqt99Nq$WZU18xIv1L%8Nd&~_nYtXr1m%%Dw7r|`;*?X)Fv1>52z`wwzfLlPy2G$3# z2C@bKdW;RxYtXd7*dXP5eDlyP!4AP)0=*4Um^l5KQDPBfU+0JJNnE3~UmHHgdb zd|>OS>#*yH>yYcn>(J})>)`7s>oDsG>k#Wm>rm@(>tJVK)v(o&)zH=8O^}+9n&6rc znqaArg0M~Cso=VS8rv2<#XW$YfgbUBKKH1eciiOO@mdg;ZD%?E7?rQ;y0c#l-d2ZB7&4!R{e7%k*5Lba zmbAr;3J>oOUP7~|t5!7br_={7+0V~nRb~xDmig)p8H?LC+;=kkRAU-qHx*X&U5hi` zt3pT9601f2)iGKe1*W1D-6+d)N50M z`9883K2p8cq+98(+yMF^_ceblGCJ|Dj3PV%s#Y$EpK(spyV5O2e`$wF(IuBj5fGl5 zBk>L=0ZNkB+KS9`eWqnVBxlx(#j_0#!@a{}9&)hrXyEAgIMJ=RIN@2Ix|}hNA(7O+ zg_z&}>PceCn5hr}!oCW;hmYg(kOzHWF6JmdkyS(v$@719F`=MZC|mR|{#l$^3+XUa z5?!w5AynVSUf{Fpa8m7~OW{woA?{(qa1ld2VA~4&{Iw0$=LLLKy8X&ca?WBE>}QTi zLD?xXMjNLKFK=+FdD%ObPLZE;jPXA7H&3$rn|YikOLx^ZqHmG!-=|Q#$xq|3WK9k} zTuGd|A`W-y5K3lc&gHW{6Qo;0$>*1`y};M)x#dcc59IJ)%&NHfJQ6Ap)s1*8X4 z!-MdVA3Dp*2HrbG3!AMbBhCvx$OnLSEr&QBzRTA-Mnhp?yOLNW7$My+zx(5e4LS~q zl(~NIH4BiiDRHr8qqi6%Qzp`_=Cb!Nv2j`~Z}*nOFe4HF*qe%E7qb-&MJ6po7NGCX zYfUnX7CsDlIK1Yu(~)d2s_*tZ+%Aot=St=08I4aN+VXd8DztWgI0iqVoWQCQPnY)# ziyJHFs`&DYKaq7KJB`GFW2l6xZ7v%a`&eik_s&oIpcQdlX|mRMtn3o`V!5O{4rAi# z>LcMS)2*D2X)y@kie7{YW1X>$^jLjPnLKG(&Zc~ka%pe<8A}5f)%~l~$t5YOjylZ# zTlBN5-$VEW8Rg5GTf*F?+dev7usS@V*eCUJ+pyOLNddcrDItRd`Y6OoV;NF^g$GTJ z3VLq34Tst&vBDTzl*}EYkGc1yw~VdB=7Ex_a8wECvX&OEZ=mqLzGrWXSvaa9mzuq4 ztI6JQ&u{$Q2sDC%yv)oz7&m(Ks!$Hzrihxk3i?BzC&#kBu`W6!5)Le~;yw=3F2aYUK@Z zZeG**M29;(3SH+MSgH5N<%`XQFSGd|u^h#Zmb#RXze?C};#nhqov_yp7F@GSwsnL$ zYu0|$MP8g={|ST4av$-kc`{0N-nVLA4%`(TNO0p7!CLeuf?u_AIH(Wc7W9X*fm*<} zxw9}oKypLD=itJeaT&YM%8wv}MEcgP%5WHrIZNFkK9`{(cjik?!^kMTU%9&Js$=}V z{7v*I>HhpoioQG(OF)UmL~C^Z?Ak)3%iUE?UOHCG>$w2mVS8Gm`;)}v&m)R&+3$y==l z)=aG@%uMa(zI0zOB)8UtMjK0o@*w=Xqe!w-?y;n(RUY0n4lAbabCoDYLHveChl}BK zkFBPyYn&ba`C@a~dXK$ksPHp=YVwSEI7>Uk?PPk()4^DYn*K|LOVng3-D6rITj7dz zEWh1qq!nv3J1Xg_>%bWe9bFhG{mabiS4n5zN;<|RRlgj~UmkUzST#LD?U_~mZswOS0^b7VyM~4q(^iqh0|faL3*EW_O6(4)lzNMj5|E>rYVpurY$a&w5l*VFsAM;Bv^rdIiFk)P(b7R!^roMFN zuG-9OB9yl*pNg(`p-178p@X6gKHC=6YKYb~@)_q*%q!44C&3c_1V>_( zR@KebX>$4qDLy$d_R}B@p0RZ=8t|YjIxMmPtetuguYBvDQ8FnPWMq$83UlJwYz>)z zm%9G6(|kf!_m|0nfQ;ywB%d>p>~&N~E26v9CAMe_9g=67M{j#+x6q}r9QOt=q~b|Y zO48)OlT?4a7DFRY2u9WwePg|Xpn(IOH%D;V_PO7z;SruH)%NJ_(c^3Qjbtxt-LGuO zRvne^sm>v1{un$l*EDx7pEA2xMo#{$nX{6dob}^`g%BvV_*sp%AP!)`N;v4sSJ80I zU(6FrP>{U%m|80Qy3Xe3;56G%6qd*~D=Os;Cyh#WLPo(Ke8)8@CcE_B86G^qOuoyo zekK4{-@O-Is=OELWIj~bK{^~HcAiVAnKEP$Z+Uv=a!M4QT0ktF zURKrxmB`;!FVk_zRy+d9v}(kxH(T5FLe0gDJB1f%VoPa)h4e6A6k8ojsDgP{-vzN* zG8;TJJTckkX0g#$Z@;14d{L?U&I=nEk-1}!`}AzYfMB4WIJ0+m@m1?asiG%>XwK;q z&Cj(6&VB6az60s--j&yQg45bHlPs&}aj~O4J`(wMh}cl(u_3%ONLWg2932=6s*+Gu#Rjb-oD5%3Hlo;4(y$~gyG)H)dE?&H;R$mrS1-yarziMgd%R`_xv zKGc-?g>oXi0_j`J@{C<~i2VNfasnzClU(ix8*0h-cBCTIImEWTco$-`221Rmb)~Iv;Kog5gJc$ zkowaBK}3ev4K%Q8DEpy^wBhq(DoHcVSmuT;kF zZ(qMEY`D?W*{7{7Ii61ptsPFZ9c8Y$6Zv^=j<6WM&ya#tw z7{zr5BqvFDHB?tAHe5*kWnG>H_XC(!ycqPjia%KOL#h7QhEaXg$jMDfpzBjf$^Q7D zu7ihb1G2r2M?0Mz|JP?M6FJA=atsCd7D%{*gQryOxY<-PKet%CJsyZ>TbW3fh#aPDv*n|{VZCxgQQv;+*S;m=-(KFP zqwjtB@qTpq;r|0{uOo2{JC8b6VK@*oUpWlOz||%yJptgB7iLB00#p_<7)5OClr+o_ zlC7QRG3SI2jR{u;HcGr*#4iY4Hk!3nTW+bF;~+U7gxWt&R}VxCe|HNpG@-QGuv<(9 zdZ)BSKD~5p)>{dKl}DirhI~h7W2>f>0B)8tp@+&LnOW<%+8I5v%dS=)x(@Az&I(HS z&1d)P5)w#JZ!$4E^38MN%#&{p5}bANp@98 zs50a#31{k`6nBw`!}MDWl1q?8n+E>|3QFm}C0YqMn_)(M@VAI-~ z5v9~D3ZSL^_C7-wk0F$cP`aI&sW7FiHaK2t4z@K{S$p6aIs#dbQZMjqiFNTN=-0gW zN>UEinm0Yfy%(gy#%C!82)IO>EGnzKtO|LXUsnl#>gT{N=|6d;mBRE-YV}+swm7ov zI%sD&Xs>U^U$z+!{g{EIW5v-F;s{sJ{+^!BxqG|77|zakF?_(AdKqA28rb$uko3w_ zdyu3mtXv)5;!Y%v?O(e~p8BazjZ|8IEMLc#e6!F;7A1*_ucnz0nw1@z zl@nTo0-9Itrym3jM@r}wCQ{T^!TOms|7>sEDni%Tk!;E)Kl=J5kN3uc&2sQtdjpHj zd*@g`v%oMQo3Y*UyM%R_&Gbg_FY&wR#$^l-x2+!dz=S?T1DS0^SWv&Y&7A}xw%K#H zrbZ^MT#t}0l4vKE>H7`Qjw%z^hvd7xVC~B!wJ2YUCm6{}1QKTN*~hyEw7}1|2~}aX zP_h9AaEH&h$2_J(KIiK)l#JoWL8oxzOUHaE7Ew+LD2KBQ1uf&@5faMA6`L&Q&%vk7 zaByn2UT1AgI`7l0p2_?^BP+4oFP$YIj{jlgAhl~%gBVbigpyG$H2-HcGh7V>6AtU~ zu?2GxbmBZBlE=*WHq;fZECD2$AfL$@26~$>IK;4zHZlS7K&-y zVu+hbg7FU-C$lg6LrE*y2%*-UIOTWpIN{fZpJ-hu!oduSJ#EG>k+r=Lilnv+wYYb0 zC82si6Q4&H#98l0sa9^--s+FUG)9V@0J>o_26Gz{n(`4I5j+}d_EUj;{k)wN zqTK3AUQTUvgM2*C04-0KBpX7E=}WqVP>)=5ZFRdjgeTV6m=PMvT-W0%46nZtQGSFi z{z6a0#d7R*t@E%82fu*EG+Hc?Yrr0pj9959-{w4M(opA#lKy?>Vp_|CYoTRTSws#S z`sWZaQ}Y(*YO@X7T;t0x-N!XT99$kwBsM%ZiJU_|M2)W-Ejz55pl)}?sYB>McG>o3 zH=Y;?yh6Ms93PWTO%GHD(&&2*2D_Wzp9QkF>sov-!WFCaoz}1|h|`VBJ)XXk3~z*e z^6;NL`(z!iuseyV^mLzZK4Hyfqfw;2hwB~lw7>^0pvKq4hVW@lIQWI^y(D2m1`!X1 z;vPY9`EEj@I9wA;d`PSax3A39Ri&{7Mw2XZEN#}oRRZR@ zJCV{GU-!vo?VXT=g9w$Et;SD~v-9)`f=t`KlE1(6-bTd_#T5cg+Fk}Tf zhO391Bh<&p>!$gb>BDKZ25vdJSfXvCQ_ix*@S5M#tUfp!wXLe<+VOP!4Zi9_KtCmu zC6QR@GExkAkiKN+vPnhyd8UrU%cN71;W&8dn>|N7$6F3UO#;k75<6u5uk(Nc&U;wH zO+}Ja*s?8-PyU0M&xF=gU_MEt!j@Lgd;)4c$@SRO=bwj@)Hm35k<(O!f9&WHi&oSV zb~O~2`3#BL%og&?E93wGiGZ2f0=vt=c$P(FEp0hM<&10f89;^}b8gWYZ`08vuDu=Z zx>1R?yG(=-H9pV%e7R`F+>EOj)k}QNSLml3I2TBCDuh3Pd)_h%QVzuIB*e{EXskD^ zcvr0W8mt`HeXiK=6_qvg!TC7=fK&q{I8;9JNXmrrDbc}aO&9t<|Ia;3H^h+ zY8`OA12<~Y^X2Mjp}E*)1-sX$rbQv%!I+&IYOyCi$D{JOy2;~q9S(0lL=h~IKc(;H zYW>#a7pE3hDrghUmT~A)$I0s?r;|h>-e`Gw>i3Jn`4Q^;O`s8ObaL=bW{Oxh?+d-H z&^kfTx;LCoBioD=U-7(YX4J%51`WPdB9WL-5mC8#tug&>icUe#1M+B}B$fB9fovk2 zuV7$9Rl;I$+@dK`H^+9p^|mFbTdDM6An2}>%_|g!aV`MZxncl<&A!w(+q9>gc=h@E z#n5CSysA8@Tdtxn^cR+v@QPHaOr>poNL<gISdOG(XtpRNMdZLD}q9XmJ={E3$}7 z^mdeZw28{2$?eS3cCHciYqHn(HZzB#wrVEn9}&~j6Li09?FlX1r72g8*;=xkm#Q$E zF9iHv3Uc)QJ9WDD0^4@z>4#kgfr6BAOq`-qtxwwR0a$2sIg<4{IdzRUmWSho@QJW? z1{FUe&GYdVW|bRDdEZ-$IP(M7>GAy@RMhK&fOQVL6~0} zEZoCVxKqrkq1%=Q&3)C_2`N+an7=xelp5kFQj8}(M7GH`t&?0I4x%vFuk0rfZA^6Q zxAVjxEyqs`K+FufHKUe1LkOV_s923@`57$M9*l;*SDHLM&v*pU zQ2GA`=F{twSbI>Q=_l*^-rnfs>X+Y2o=WlKpX$wRHu{N+%4yHxomx+{>-9HgYYv#0 zAWGPGe(wJzQvA52k7-LRRo%)nJuAq*sX^gZEk|qh>+5mFrO3@2+PEW0P!6}`x^u@e zoVB?OdWNCq0(C!%~Z($W+cKl7x?b|FZ9{7>Ox+ zsk+->$Vvd+1LZoACy;<=wRFh!$Ei!U8|1zIi_f+!l6A7a(^e;>%_DM{o|zXVJ^3F0 z%mN+of?=!dp<5I(TXU-sTzizaL=dJ>E~N&YY}chEG69fahdx?8;9So_grB?BL5-=x zntL=t9GqICk8(P%WgTS8Q-+#Hz`Q!_whllte9z*|U98MM)IO9bG~0JiU=pE$(#K^L zsmw?4sF23q_UGC=$xZEo_J zm1f0JqKW#f&Pj;8bkXYRXa6aE8rGyZ)2=60jWSV-GI_1V!ekhdb4MN2h&8D;el&Jn z$)n4qX^tagn45h+k?~M!u(FOj&Sk_S=EOH7L6l#)rN`kN4$FS>@IWwj=%-oa=AB5L zuH+V5YyJ#d+TEE%TuyQp<~=RNSBe)k@o52!01H04=jzyuuN7wEjXiIL@EX6pJM?G- z3Y{{V0F}X@Ik0@E$$|ySIHLUXLrtJGil@&&owpQpDGAf^_Zj{N_*Tv_6(#hbZn(3p zpNakUiXbZ^*)YZwRL2kn=aB5`nix)PnW;cRc^D)!<*W!;f9iAw^+d&QF!r;Vo(MeZ zn|~I7P9+=v$rXt65O2mMs9Rv_k(Ue)t6Rs1;eKDWd_5juU4$~c$QT3sIB#>cT%}G+ zHHxlJ@>IN*DxLlQYu_nrg3^(;-4Fk`vthCPv#mP&$|LQ=#AP%2m(^U=1i$EO6Hn4i zZvLc8Ratb(x`tn~vyIQovNG#aL8$o&*kCVb)1Q#KvG$iC)}<)^oEC@>*%B>Z-KADjWITLiD5JAGkzVEPm>1X)f#6R#xu2 zE&D-mzJ>%Yvh&}In7fuTww(e4d!l1vuo&uUQ#bQb`g?*4JcH~nBLNq-9(DO85}|`0 zEoVX72#4XYSW#`?kMmj!qcl%gl3kL%JR^TsdXQ;h(^1EUCe4{8!gQ966kyfbi$qD% zjw=X_w4mKPBWV7Bcr<-+xhU%cF~+^(Ke9zB#|vwcT?W_n8VIB06O1ikJ1|54z>tc7 z%Zwxx)`Q(8D($r#CUQ&WJgTh7Gu+5sfb>)ErQ~Wiyd^4=T)w73WUeD-NJKn0ZA6kV zJS;6OexFWLTkvTR*oS~;*aO!V$uu58hXg0f5Jfi*O*c+Po*IUIL8|!RN;gAmRJ+QD zkxD>OK6&qbucVkWd-PO$kapvRRE57qD^cY=9EL2m?o_Gm_#6`j}G(-+(t0dkfG%t1A za-O-(Ii9&uVw;0Wwlv-~W601+*8rSTrHeBXTk+O#et6a@ZqiRkTuYCFc%Y zEJ(_;Di;jZNi-rc@0HFU}H;s(qM8Hd{=7 z56cj%2tbl6sCE0C3mV=A?yY4Ctrx&A$jwDk>fy+revxV^qTMEv#@`8L!BzczXSi;R zh_W0CKe28SmRk+#TY%rz3xz>Mmlcq%>rgnl61S^<1~v^3m{TrpXk4X>DCZ^s!5U{S zaJ_Ptw10)_0&`mDr-`gDq_wECzfNU3UCtigdEEfG_P}=m18KyxDD?O|Om}x^s_I$K zi5f|LA~P}DG*1Nu*bEwh2GrnqY$Dp;RHxq^ z1=m*OR+TSiQSZ&WD%Z45?NVhSr5};yNs0C;m3zk-jv7 z--dRd)uT?&y$P_>W(Sh1*!j5?MYP+D)ufA3&UJCl9b{Ly5F{kMQ&2fkO>L5r=*zz7 z*6K-v-4^`X@#fWAv=j=xE}=S3_&ibTX~Kf0;8AsExyqzulVtmS#u!&DwP!`&om=Hn zo(&MRlMzcdtrHCNSKJixkFq3RBvwQ>rYOATE36Wi(2a@)#^cM=vP!|lpr{`D7HwJZ zTpl|J&2W}voJ&)CQeU~r%la!*fmI`~Vuu08E%cB*9$<=XOAGnfaT;6z`JFhx_zu3&vZ3w0MP z$)@fuo2}221OXXz*U90AmyrX+OY4mZNU4o3r*X22jL}tJg)eBfX390@1%`8Vc1aa6 z6ReIWl=29B8nd*(elPqF(%v$tk{@^!#btp5EQ`ClyR*2v`{FEiaECwS1%URA0m>7-^d>Fy-c)7?Q5uC}?Ux3)Z$e~g?|ErJt%o0LVO z+X9z}!XQFY;G!w^;%EIpLkU7_We64FfC+rGM-vYs`2ootB7zX0-)?n^3Y)hOs>~P# z%Eu8!AomKykY;HXugO!T(qVP;}}OACvWttvRQFr4y7#M&kBTB z*@i$Ymzeng4}`uT5+Vpk;jkBxUZi*qX_edx!uqCwd*mY#f9_s5Nf;C%5lacwehq|P zY6PrvEJltRfL9_j0$zn-5I9{K@I6Bv* z$zOIy>pNxOH|wJB>XWc+&5S}nlX@Yt7E)G}JZESoVbMB-sTQx06>Ri*m=>MTo2n1m z?+?9>+loyPev@$%W>zl3b`hPsK-KevgE$e>M27EB`OTPxCO%-r83e_6{MVJMI4#cw zYgV1mQ;~~hN=X_>Wn--Tg6A3`jd5O#2szOgQ+nyRmXsKB!F??#Fgz%pT2J77r}ve| zGXPp@%NsE8CBd{LrFO<5?6)CHnF>x5Dx`}{=fKHW>tAOs)OabN((x~n0wM8ut}sc! zI{i7M(viHtD!sS(1pb$dbGH-`L;MJtOHP}{$nSNt+gN`(`w&@X$O8PHmA3xdE|RMT zKfz$!L?Lv<{q6GkTbdCap#@PL$@SG2B!=(V{*@Xki*e^p+?J31LKY5+wgh!Tog~iX z%2k3w zeWt2Ma4v`iH2yWOK;`si?<*N#bIDzlSbC8ii;N%9pXRoys`KtmF5{`M1>}U9?!Xd$ zkb#{4R7(YV#2uh$p%ADSla!j<4;Cv3?9t^oTruVenn?SLF0hnybW0FT=1-ytC--$y z$v-!m^SejP*9AnUP1+9O9Xtz$H*v>Wp77q{wY7rG2Jw`ri=D-k7Ic4u| zrUQ%SUIG1Wp+_0l*Nbosc=N7amF=X8!u%G`;o4`ANi4H8?|rOPtyehVrBJ)LuLamhfD}5#|h6Pd{i)u z%KRxIpFxK0&S0aL-OO3wYxp3Uz{WQFo62z{2kSY7eDFR@&+%rFiuvx$;gYo|n(*;A zN}0m`rjD{iVCMjFY$>-b4=kaM6MxhNaR|pLQ%(&jG>krm!iW-Eu zBH%*JT*v0C+TTYB`Ted2CM)xFu;37(YSEi|(K}G2zL8xQBg%~9P%!R_A7WUUeYGdx zG?o`5{K2Pne6cq&{i#l!lcwU>+^?3~vU51KVmD7*k6*Qf8f(3}a!mi$4#?1&`@MKZ zYQXRJ^h~eC&X;VK%m0S%aoym&HB5XRNE8!OL@g(`^=L?wMJhOENCweSbPA945NUN@ zdpOF#Y-y4w+ZzG9Valq6A=zfeBJD;_qMd53GZrfxGf|`@N^}%iVT<>vi3EmyzZfJe z?+<9MX>@_hobyY+gihI)(0s9OR@9J5v{bdwZ{o3zBN(u*gXP2gcQrVFQ$J0LE7a%( zGlB7y5G$GY6eR)>urD4PmDDNJ`+T2<(9rjcwN5(NrC)?0Z&FgcLI{G6jG$rSha^& zOg~^=d>$BD-wd{soK5mBlf!hu0ii!B<`hSrFft1yP-J)`Bs}0MI7h}$OjK7D@_8

|A1 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 z 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 z z9-r||Yu6r;Q2-&zw?OQ@VuM=^-f9Gm;>UYbNRRAe>YMtJCd{P|x_z}T6B(=QhoVx@ z9YfBtft{8rts^d^|I5_mkc_WRJMqOGmLCzGK;eCMfQacy#e1Hcju}J4uas-^2eZ7q zZh{`xR{}T2zI4#U=S98g=Z)38I;Lw@u^sqnUA?1|)K(G61&X;ZxqoiMtt5?y}+v3n?|-SgkHVgN%%(AE|@@Ky_(%*-`cw1 z`+0IWr}~fY-}bZ4&jCm)ctPY;PXqzv0+g-Sodtl%md^k<+22Ne{(A({y``suVbmy~ zk9FxI;hqH0AYs)B?O_2zom{!s4f6RU61M`or%x?3d>(V?>SfW3ttyHZAa=33M^v+Z z3W9l|dLKG)N2QU&qdNN(7-alG_7rl_-`Zzk6TUy&hp<=O2fx=}W#z;9L+JG7tqg0^ zs|+*q50+@-gXn*bvOVNIs9Qntw>$pYkjStWE0)yOj^D2R-d4DKjbh~AV882?mM^-G zyffbRe#tKZC+Ou{S|J2>-wFw6pKkp)4nF*^SOB$mF=tYEib?x9zUam#?Gc#p&cNMR zRWxPJO9hy=vF73(u9Q;=9!=aTIpy-BVkZ?E!p`|kxJSBIE;K2%$Nkv*`%K#i?xo*k zbRwRQqteA5$uEYn+rJlm7n5Jztdt%;vZ?PNdWMlXR~P*=nf4BgbuB*8>~}BqUI(dn zd|KXm-Z&1wu$k4zbCGF<@k;oi-hVia6DPe(u@+@iLQQ?B{TKbLdjtlfrVgRl*aB+`#KMQOeYT93Fl{|@})U2d3Oi>gr;g2R6UXk1>$=s(QLuLfhCB+)PC)i zK{hH<_r7KDcd2<}<096~?Tv(Q)hNP0a;?a-RGYm`{ExQac1gWyJbHr5u?%#Bru&sr z8c%=12i|Cx3&O24yc*8wJ8}}0!00XBYFN8@gp@gAwBo%4dudm+yNn%w_OZhxS! z~q45wgEuR*ZEByL*F;9c_7yzGi?{^8wQ>D~Ed1b)axA#P8w(9M!#c7Z%Dm zKPv$pdX_6F2JW?hi?P~WTVp0C<$7Ag_y*9XgCZEJ+20fWKy^A*|5#hhBMtO;;qT|$ zGhC}PmGyd;=RULFR@}wks~g;qkJESuct7i32uxcl7MuTG{{3rZ`LXpeeHS_MknDnJ z+VVnY+Hx5p+y8>&AE?>nzziBP2&^t#QL-20O%rwSFY1JUrQ{yet0=nh+(!?&d0rlz zBpg(Khe$Q1nTYPEcF-rg20+uFy53W-;dJb4t5@`Tnpb<7eWwD&MvG5-N2}_v>`Sk| zzxAHxqwvBQGDP!;@6rJ^`+VMzxtX{Z_aQH`XO6+sS8s5^i%{~jfD)=(|LCyZGr12! zHNYG4Hh&?3T*$lXqrj^G)b8^9XER_(Q+I9y?eRr zqI-+sK4b2jATtB5eb;@20&fB&7waN(1&c>RTYm(hu+Z|gz~5}Y$x$A}Ilqupo?18Q zSR3qyi1vBGoGQU7+HNDh!@pXaIss+JvXcDsKU`aMfQ0oJe&o|Fz^TbMw){uUN3>XL zbT6E7r-pRZx(Azds$Qf3q*oHZzgTa-fR;dBA1JM~2cQql%01OHJ_LV?h~Z{M#^uYK zW21~*Syr0H&KpN23ZB^&MWZoDfukBeK@|p&qb(W8;gz|fG@Lpjw`2CRwU{4CiRc{& zB4;0PAE9GR5?1#<;CQ{9LJ+)_>biOl))BHzGYhJ4Ef2|=10Y<(P8(U)6Sfdij4$=cv0hZ*I4TfEIkZdpg6ivqIp1NF=%-sh zWULcvRg$o+C2p5Fj&P}GuH<+J zb%AdGCTKlt*v_Pv+G%s9Vpj?@KbBXCneHYrU2K_OIIVKB3F$}52yxZ-{XQpaeredZ zJ`5^91yes;?~hAabGM=M+uI!kdSbZPrAjWlL?XmgT@Upwp8_bYMzBQ7jMIXbC^Llq z0>sT3t!ezHv;SW6GU0wrzeEssna+p7>Sox)(TqaQfKJkEzE`A@(F#8G0RCzT>ODGQ7f%G$IH^AGYdEmh1X*PbTet?)@C_ zMMNLz{o5m_7qP!n!3~_-bvQuA9`jXlOjGO_>ye}@Z$;h|>-AIj%I%g+>|AW_lfZqy z3dnNhjm^eVMu*T}-``W94GHSK$I1?qjhT(hcTWVn6AX8J4c{;>V4xfsR6QpeI%5ws zn&YK&d@Tzup^lkzQvbjB|6YnM@*nBuYR)#BL}32OcT%XnB1J+p62H-T|D!)F zBf{v8A4f6Y>4ujVPR#wQFH3BnKK|=&{{ID<_TK*m8f8E2Ke175f#RHV;F*dwK`~95&BjAZZ>sYin<>t3bPn#qHqI;y9 z$kb6$LlT078yBbP!!?1;+q=Z>0;j^XehV0}Jj7@tUZ>41%g5Osm;Fq40_g4UV1NGnl!*Wmc^SL*92iEIcR86O7A^J+)i!CI-+vr)ayN-UmL_{l$uok6@8s2+VnkQEKYl?}G4^8} zEz*ku{+(8wH%V$3XVf!~;4se~U&k?*2q%U$kq4iW=aoS!iAt_kdNLN2LES97)r&Ro zr3aNQ0;Q{J&+N^YineT}lbTmD0_Tirp`U$~Lmfw23`o`*ivc@;n4(rRc)ROGUw4YaB&e*6x^h2nc`-y8Jq zAWbO>d;S{z(2l#{$4cWK_$AtlvDLWwua;*AE|)spW(NsjPHDURA>h35b6&O3vP=>*x9sjO(R}ZP zcjZ;fyjT8DQ*v+@UtjNJIGMNm!V&kcw73cXP~{5CBHtZ4HzOg6%}&L144X>t$>K$u zP0#UU_Z+;?;))WEX4G=mFwMzrw@;Tw=LLPh!X7a z>HfZIbLSY0x_{c0V|mf^rZNwxkpU@IkLlXfVPz(HhZZ4bB>vYX|Vc~NSL(01dQrm6Ol*gX`XF!Yyrcnv+4C@05sg59D|4^e1Z zNs(KO4x*P4Iia1Nv5QNtk<&=U%&4>^mWcl4Y`97BCrCB%Lw-U;%{Nnqd*<#(srrvW z-|?z(e6z`{C5_hi@CocnOBRLI(mQ?byO304xg#Fv3sUF&vZrp{I9UG`dtqk5Z}_Y_ z?HGi+z(k3$`bvEE@?7K7#C;c3qG)VKcv8-TPMU*qXA0QAo-!8z+i!FI*L{M93Kb;v zELW$}({em>`OoN|Qx)Lv!{`OwJ{07O(JOssqadr<(G;MvN&dmrJ$mP;B?4Gr0pD9Z zkNYV(m4TEMOjd27Ok_eHr2&&@X``p*pBeygAjfnBP(aQy5%>o2KhVtbRl+f&34ZLXOkT#UOhA+fa&Nio#i97UAkw_jXGIS>_ zKtPCK!*9+_8($O`A$OEKaSKB^Z?xOwc|Ot!bZN&Df%ow=p6(9kMAJVChIRq$Y!sx@ z!cygqMd@xo8Ex|f(iToCXX8>uX$v6s9+`seVFr+0#46~+<2tmE;RzT5?{5Ha!qf7 z&s6A7UrC}(drJ$MwStM%P>jRM=8#8?NQ@)i*aL;*2;xnPlJqq15>uno)3*Pr5R@%1QXoMyc%wOA=bvZ2L@ zbeJ=g-=*4$+^fkPhT#VsLOYQl*dKmK+a2yFj{hk4{o~;2P-&+m^>XX|a)#os;<7`* zhzA>PXB+D_5^KTrXl8T+j-lhB{+sSj%Nqo8--4Zm_E86(LKTr#%|~lv|4)a?mkW)J zzp{ap`|bmsp$UjkB4w%u`wOW>N>o}@s;Q8)?P-|Mq)_$HhEQCjYRr}Ms+UUDwMh1S zAj^P9XjJHSr-#$x@TKxvg0mW*kw~sH&c4?GLns&02`1}#kn0atn(y*$LC(bcjsqdW z0v@*3WOPD`URgleegA<}vOGi2`~M212^2CT>JiN<$%KoFggFJd~6q} zA%hIt7ie$sN6?%U8)N^=ZaNn|z8n|Ghj1Q(uU-IXJj&wLIjeBJo}3 z-?*B;6|cj3=d^m8%zOc`KeAaE6IFg4&lj)lZ?rsDRW~h}fH!+LXA~^`Hc}oLD1RIQ z^PbF%81@D?&Yt|n|He;;O7#e^DC-TKZ`+U?s1U`o>epEN{IV~!WetyF38#lzJww#M z%N&JfZn4hXlImdovhM8xAQnQe8+`%p`(XiQb?-=D>3b(MLum%2OX%6oBfaM3L70QX z)Ewk>;{L2oeOA&?)TdC?CrrXSfJh1-=aMgwQxr8>IHlEm;Uq8X>|?v!u_JG@4TS6 zu@h>diFYJWNjb5>0W_Gua$>Hq4y?q_RT7S8#=2zgN8Y+SZ^bJ~9DiyKCk+1lObx(E z8eFv3XXf?q2^IB!NmgDsDdw7zsMH|5;~>2Ak_>LHv}UY3T6F zu2R`9Z{s%&nMcTWpGWJugXtw}CrYlcDY{riRTU$_ISm+VMA-rT`x1sv&o}ga{RXM` zV7aqfL~=5HnEQ30V~L{Ul>2|%5;!~e zT3Q+6KvR-M++;(X9oyTQ%w8Fn7y(2Q*9gqkisHykHC>0oeT+ht1HDzVE5c;MCH+)l z_Q3eVbZdirPeWs8Lt{5XV;93Wk)00i9Utx;U7N1n)ur-m-O955MjktaIA^*zXTCTf zB)eOyF~ROZ6AfYfHY6i!8l1A(FGQd}9bJQ5UUtvIYi{<#mhpEY9w45Rn+ z?n_pCQ<_VmK1%bblP*X(sOS9R&{nb>kmKwz4PW2*IjxZ8Fx^tq^r7@VYd#fkC95-X zY4%{+V5Qnf=i7g2`Cx82Z6YM8&ws&FjoWF7)Asw?}K_h7SC-Yi3kIt>1##}J)=Xz5f`>Qrj~vuxI>#cf{l zX*OQcAzqeImvzv|kv95JRmTM{c{Ce!6$NOBMm^hQY|t2M`!12qi$QAw@X(go&hatJ zzf{2f`(NC>1y@{4*d>g+JHg$pad&rz;2wfQaCdhP?!n!HyF+kyOK^9YCimX;&dgfh z{D5yY=k!xmkM7#t(45m%?9NgIXwh@1&SLFVF{LIuh|V%uXwmbC&Z2C}&GR;w#Xrl> zBHWw}*0JU1MQ_W$gbc1mykN&28q)_C zD+MiB^(9yth^cz88p&{R#1GOqJ@GOr7}WuFhv7V#A8065`Dz#)C7o=0DrRc9!=XV;Stl{tdHg;dipC}YZt_+Du)s?M%C5&ZRt?iRDX5bFn|k{<9&tRbJi)_z7{ zpGRwi(ASWiSNTztQfj88Q>jFk8}qqTLqxApqSD`E?_HndU6aWBkkSp)`w;6(Zd2a9 z^$(X^;0l(!)2p4uE(Ogtg?IU>-g>8^OwS=JvHDH5JYg&a;XF|+yYkK$CKByDr3xad z9+FGek6*)g4rDV>O%E_~VX6?|1W; zW~-rW$ZW{`4t@8mK=$79tvDB4IQ(qDrEO5CZ&MqSZSr1Q`@Xc~n;6Yfk6v{cs0|T| z${tM_2R|yx{sY_rCH5XZ%l>r(S~I23h)pgaotY@5TV@G_*N_N5xZWP~Y-f}(EtFfh zLm1)~Mh4C!)pROXfIKm9gKU}Zw|A0s+L0uH=7%8g_cgc_CA7Cto#wAlYER=fVe-TP zsKgW88`P1#ToQ6mNJP=}sMC-{Ik=}ZpbJ!>3jva4x-aCT`b)MLBZawBQg;ZSY7uwMaenfrXK+S z>t?1QW5d{tWUP7;o!@ZNPXT}-Gt;WEVZPM(YF!DemMHpfxQ{DlrtxFLoQz~9%I}22 zvtjYt{lhO^Bg4&%WU{&voldygM}Vu2v0=y5c+9HGmn}g3jG1}z*!b7fbavp5_IeUN z-*C0h0d+lQrUhfel&SF(jAS}`5>2g9)~>kA+kmUYv0-ClQ(Wy)9%Iw7O;gjZP zcz#AQPoS*}?&E-&Y1h~=Xli^QBUz}fL`+K*zB4ZO!OEyZYC1Y2E0vzPLhE>@OFH*1 zz;V)SuYGJ7GBrMukt|hL!Uc`&IV`@PvWdKiq9U`{WsvMd~BF3HGWf9g0L-$&jDB38TYcSDFMrHFaU%V3!d5J5`;Cy zKD|{gYK>gt44sT-Mdjw*a&EVHy@66G>2!Biod2@y3)M=b!j8?f=nY0kf7^~Xiy8uY z-@uS@&;!JIz*L0OPJ0V6V}$HZT?=Vdgw@W^782VCot>r@va<-!oldu{$oY54@KZC- zONiNlNT=C^EQpoMFJOZ>>&1kvcH2D@V&f}F(rYRX=RyBy6-7K&Q6 z=^bkG?x2qZNt}pkY|0|nXCl>S1%aDlgcq~TniM|*!*S!2>i_e0NchO4>xaN2d`Gz8cU~NqgLJ;o3~%lxMb;8GU|98z@jrgNO*X($sP%540_ce zl}jXkz_If<8DXX9nG;=!Wq2x6D^r1G)&KdjK#OW2647{(YaPULX?a>r^EV%*+5AicY;q6fw zd(2t_-VQ(MhT_?y+xFPB1aAB$TnmN1K=BEdyud5$HgN+h-3n!6Ga1CY;(GgJ*KcrW zcQM!w>zg=qUEGdqH>q=x^1`qYL3OdvjtE@x{_?IJ{Ct@Ave}*Ve7xq_#4GrO1Qnu;&^+5OW`;@5@_ln~}%NvUm2;rzTX^y+Yl{PZu38)%hc7MC$N z4~p(;?#5qc#2fQ*WaE^EY)Y|un}=1gDg@cZzLDqPv5Q}d27)|H=7ZpN>hA*Yjjj+!pZ-ld$63OxLw+f02m_2m}w zA%-4B-Y4eP@*xi$&T~w|XB12!+oQTtO*2N%Ct}4D#Vy%FeZM5*Q(`1mpXjDr}EgLTl{`s{vuqJRKEAMRiY|caManc zV~v<|RNk?EjkI~x#<6XU#5aL=pRrZvEZ%c}$}#6f{45oEPuN|GFhz1t*m1Wxx$&*V|8Sf)$vIv{mq z*)b-Q?r@}f&&yqLBNcg1^s#(?)noCj~3I z`d#WBy=N2uP`1@neOKM#D*Q?HsrVh|o$<4dXZUMY$K2b-+qAw#bu;G@-l_bZIq++q zeQzThX6H@!OP;4Wr`~r=cRtU4-oFH_b84rSu}@_0FrUABk9C@C)}OB;pM>63-;q6Y z@(%b|3)a56d%^aJ=JS=mXXgyoAx8-ThT%9C1ta6%a zJ?FD0Sx~KIGkN@gSEoMCGk-5I1$TEHHFK z{?K_bapV0bV?X0GV>jbCLvmAKc0=H__Wp2|+e2xE`(0$N=fOv)J>c>+E(}|KJM0U| z=U$eGVk$AtX+#C%{$~({@M&YVOmy^q2rk9=SFnM~NQ`Di<+Y!34#yE%lqr4c5h#n% zjuP%r4d7GqV+~qKxYkhhUsizYK5*~04l|BX#O zzq&qgzEhc)hgp-Yjv!s}M+xybE_A19$L4E`M#<%I2+Ll=Y5u)_IEMdxeV3%|?N1S(-{81|vq%+`sjiR`Ko(J^_*}>UG6#*9M z7Vza~%LmJ2`oR5|@l6@{B>9H4WT#-KXj1&F0@W545<{#4{Q(*phID(8bpV}XhNEcH z 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°2ehpd{dw#iyllWg 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�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�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 diff --git a/FFE 1.16.pdf b/FFE 1.16.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cabea0f4058a09d7672048618e931d6475513702 GIT binary patch literal 811945 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

fq?TZ+Q zYDB*$>#slM!{4cu@tkOsg;yU5t!-Z;u&^JdsItn44ttfRmhZosy%fwQy?%1n3K z%53p*w5%LmENPjXBlz847&mZIQ$wkJ`jyUAaGX$sLHm@Y(&%o-T(WLHC0T>-*T#Jr?r_Gw`+R(KJ8o@IUb z0rK#6(_ckOi{Hk&Xnbsr@fO3QY3X#MFWJ=#)7K6wA9_f2;(e)7i<6z_zUK$02|Zn1 z!u*~sh5znV?%4VkhmWJy1>L^o-PdhuGh)AaB*8y^bk1{Fy3#ZJCEC-f>v+l}M(RCg zH#?Z@pdZ{S1EAkcjI;_G9L;B>|evqvYdkYkru8lU@#EVOtXio7Rs8)4YI{ z+IYVQVD!jYEoW<_-SgcFEqVrHb4$nR`o-lNJr_IovRv2+3PRRQtCXK$oIZc2*EJk3Ip#Db8`LsJTv$ zS`PZ{$TO-#?Y_S^_*)#&>WywEZZe0E>WKtnts}s>C)GCUUStQ5GPXVyyH8A*SaG{X zT3b5R>d%+fADRa~@M4_UzEAZs?2nIJ6AQk06s>u(@s&DU%{EGrMR-cVFvEck@UOjh z8cs0Jrxy92HL2N?TIaYo*~KE<>+1U&1Z#D@iy4CB7z?x3F2wq5XqcD{BH&yv!1AZZ zRa;-GH~H|knSAGLunq{7l%D)K5^f=e@C724Z;we73r)5;?fQ)vzZlNz@U)BXES=&}Sti=im7^g--ZHV2v?nJMNV zrgwau4tYrMbEs#?7wNedarQa~)O7t?V~h@u@9B%XM7;Dobj$o5 zct~2fZr$aV-n)ed*H0C8@Yj&3Z#_jY=y)EQuiZAU*+%2`T~x1HJyn-(?$#TNvc{L4 zUDdY>RpB|8hnIayMyf>7?R54}^HTSoI-49~5n^ge3&J}Bh?w@s^x=fwu_YU$3` zWkvxv!%G!k6RiibqVEOk60P3*x1H@XXfXS{qqa@Tw{AZj_vV|_v`jUq3#3)M*zBbe zM{5;eWV7#J&precD;JHX6iX%o5!gfZd}i#Acd=x3U_UlrwG6YKv3-rTrzB3zE_IoQ zmuRMU4o^YVs2|;0S$p&HT*o)M_o*s$>Idysp7QYd`Dv{UXMot`lo1{JOqcpdpiz;* z$j3W@Pr{6H%!MQqYQT|)B;s)x4Td1=ap`(3hY;{N*jShtS=gD_Yr=ZO<4o3G4c3PX z&^&UV&*s~hnq-#@OoJCpKnl<(@x^|fzp=^P@vJ-->3QR4654OZ8_kXozeH_5@3A_U zoJw|l7r1Q_eV`dXnPF<5)FKPEHr-Ah^CtAP^F?~u7BfS;$QPA$DCaE9NHlrMe|||> zb#Ka{&15prcqq#7%$%Kh-?f!s>7c0ovm3CQ{6K%<)5~Nwyu!Sq#f%Q+E%}kbQe`1Q z4s%0l)(Zok;$^k>)~eUflRD3uCtW~ErIli4BT-$jAO9zTAlZ88qV3ISV=UHJoB!O? zw?);ms#Wu`^P#{2E^V=MNOrVp@1?AFz0(C;&UgYpBk1<2sS4Gn1cpaH&%2_lZb#X@ zC)W93J*FIfxrtwuCBig&fyYDZrrTxwUBgxnW)%|?sM^%+1`gW9*4W9}(Zs;!FKK6J z2?x!{$x6sT_?OfoWY8jHWnkAKBxKeiWMX0?WM$_BG#J?d-7GAGtjx@S788pWAsZv> zC&i&f$il(#$^J>PauTvJGXh#HpBzk|yet4oCRQc@#rCP1iQ$uC0`UGr0i-xsKQ*zl z0wmZz`8YmpF@Czh`6KH#s=1-+8%%7?F>nsb)-~2KWvj5FH3+tz4W@bQA{wDb|x6GWM zG90X*6UWLx$i&9+&+#|;9IT%Kuzm)>@i+a99E2>4pRsd%dj2oT{+R|2w$I+rJTWu; zLw?%&n(oXQt1X{(n~gj(zI+ zFK7R0W%z{uf588Q{3qD|gZU@G|7r(tF#&7>4giz^S^zNq1TcUCfcGyq0I#1w{STr4 z`V7bzfcoeA(_?^+Piy~R^`A4K7XZsoJpOG10QLzzfKJv=u>FTJz!)H_0J(nw^@*fU z2>ord0OALL=0CLj1C#$dub)o*d+{>?{QRHT|6huU`Ja4$=J~%d_J8~SYyWpwllw{`P-31ic1k}+{u z3B*h!WK3vG5GazkR4C*=Dl#P0xfT5i5hI)WhU7-{T+#e624(6RgkKetrC-WaEUdyS za*LfiTi!A{Nh;qMe0M%`>~u;oZpJq zH8so)L3ihdsM@Euke2;J+6%;w(O})hVi7GRXW@quP$a_6k!s3kUzRSII#{Wi~ba_$D+1 zUe09Y7b@=ZcOCCZ7t8}MNIE2Q&YuK6-}rLA&(;km?`n@T%}cf`gMuCfJQS;v9e|j} zkZLKSrJGzQIF1H8PKL_+KZL1cF$h8?6RR1#OSXR%Xl~eL`y;s9)vLBm4ESG$8}bAb zrZQDmzC;<8-0=~Y?O{4H9bFvp3smL48rjPq&3WW&7$_!Yf$NIfF&c$quBC~EZ?92L zz)#EMFJuET(`kh;b-=J@F*k$yy=Ln#P%G?8Rl{cRY?l&YH@aa?zWq1+`hkCfI8f4f z5awfU8}vtgAo!EdcVc#@ISZQ(Sym83YE%dCL?RQ& z5u{!Q-aDeqFKA)R2H=LIK|l7bA&FIgYm{{L(4>Z|(;C4kf0d!l%z8#hg;NPT=%(r8 zl#k}Xutb~;)~p|a921S|;S4+YjoatWzuy;V1N+(1`*@8 zSKp){-nL<}oHvk^KJd1pdYBtuA0m#iHh84sg%Gh9yaOkVs5Y<^VurqjC2IPXS6|YU zUo&(vQKJB{AvKL$2ZT*E$Q1~dnh=U1Hw&>YB(>7TH;D3YQ9>|==G{Tt`F?UA(o zn$cB>T?M(fxtbBL4EqwQ@wpJ`{W-P|exY0`swa5h&;>>!vUh9tjsAkE!C4@>@9r;Y z`iZeXtP7k%Xq)JO;>G6zQW+$LR249a$leRyM{CcyJwKJ@fl}#@-)Hp;;|j+9%eG53 z;~lsc5*yL|a5Gw^a65kGw^w9q**7R#KiV+8kTN8@AS=W!kj27x$kjhEVeG$M!q|H; zkY0WvT%q?ZZk1J|U8y$XUs+v}_5n8oU$H$pT7ubz;vjXw>j}PsTMGe-%1Gjc+VzZw zegDS4-DJE5-$dwx)0zGZSYu=>@=E6gcSVOO@QS|{!e|Mx7SoK<8N&g&DbS8{F3=9q znfA=PM!kc$7Vbvi1>=BWE%ye09%@H?9&$nGL(m!73~~O=3#c>Ynf5doFASkaw$Ga( zteM~nljM(WAE-UTHo_m>zEFM0D}!eGJE~ViS0X-;2V(r7^|0Q{w>j!dic`T?Bp$y< zBP?GKPb6PxghJhrL4AU4qNP|jOyn^BK+uxS?#V5Pur9w)M1s&zq#QqjuY6Fk`MLo` z#$MR)U->|L!@7dRkaB_v3Uq@G{tSjq_R1mpe&HA40f{Z}ffL(8+=j8oyjr|u?!z$g zg7V4s0KQyB)C(Cz((@-r)C(q865GP$34YXa!@l}{3A=rMv%MxaXG%3pUaaPqr2;CgqYf=&BY}#vq;<3 z{uThz{o^k96ZI<|B1KpW7|7WONzOHBkVI^%p-A4Fbf?pjqCcTw1oh0WsuTnR^b84i zs6cQI%_h%~blLj@*5e0_W`#Z3W@dc5+%{m>&q%Y&iY(zvsLuYs8j6a%>YTIFDkM!i zoRXE`ay3!sk6AV?SNy$B>cGB+<+f`mMgS>g+I7f&!TnCQd0jvzRRF9&9Dxm2Ff|R# zYNDG$+HJMMS~HBY+o?S*Q)9?5XJdpz10_=MT=W(OF_p zMjmb(ftIHr+}Ywg(WII;J>rE!{>ZkE{F-rP!xY|qW6{~-j8Syx9)q1{d%}X9MK|6g ztKh1XED#BgY=FGEB9WV6*l(?>)Vb%Eu&0GC6tntmeZi{1gSUWT8W_)HIFoeBAD%yr zJRdLJHvX_sy+)lc+RnYhX$<3u?Xcbh^o)HL7<6wnUh3!U!L`hPOq#4i?DP?X+Ue^5jaJYHXMu59Wo82U5&*sBiRCp>Tj?dDFRL|Zphk0*@} zOh=J185jsJ)2v3C@cEve?MG1CbRxaVj60JwZbm#ZYL$nYB&yicig~P^1zc_KX@Hq* z#`ZF}9N$P{`THY!iEe1gF>}V7pkT=Ye;XHit(NdJPZu~FLq%aCBE5S*x^lUsYJMio zFcJ_JlsV-_>va0Mj!K=)18Pet%=ug1G;3MopqUmY)y6boTy}4((AB1ZX3qqQ24Iow zvCw~&N5WaD9Ca6ma?>&3*BDn_-Ne=^JbLK-w!OT&Td~e)WOfc|wSm4s>Yog7hS7X6 z>6)+ZGR;YfqyDPyQa=^1k8y8Y{Krk|TC|n%XN!H>D5N%M{6XH> zo;JCwrTjR-sE4t%?wYYG^K?JMpD;8+X9AUZNQgvsWs^hFN~szEOl?b9U%R7XTA_N6 zl1-BYk@-Yt=EIj1nseM#e(F!-kF)kTeBM+dY5c@y z#p9M=wyFc`m)8zpsQJj{V-)Xa4u;8lMePQsu|aa~5l(&d20}z9dAb90-=r zn$at-7Bbg{P?<$+wTc7{~i^K6%+ z*S4DMhe-H@t@eWb`wVF$e-lNcy`cB{tNVcn@xerv)5PgY`mu(}FD$fKsfYkz-(QQt z%S{SZ^Ti^7$Fwv;`W_v=g4&X({V3XT{ODyr7vE)1566ze$VpB$8Pdpz`c0TDm`qS9 z7qbMhWRyh7DZ(YvL7k`yrS5zvue`GKu*qzqX_q=1CN`-^MfdI%TgK6bF+AEYpDy7` zHX1r*C4V$4=cwDyKfePCJn&uksWNZ!cS$KR;=!8(YK<6DD{NnI3P?_nItEgfWs&(N1?*KS(q zYIJgu3OMV_cwT;ff46~ha?hR9OQGo4hr_5{OG-VjDw9imxiW}Mk@EtUxD-s#JN`hl zzkZ*7AbW78;{7&tOEg7h;_ywHBijOW0?sV#^~uYbt_fDm08W>rk*zVmid22)30PQY zuL6opRt(-u^mN?W*viy+`@VToETxpM(yLPQLeg4?SVdawXf%h=$6i~qTI7lqqoU|w zqSD7#M@Q3EhBn+Bk1aO~y6O(1hbaFdiWntDo{^=I9G2lo3l)VVZB(dD zL0K@~3<%gqJ12*J&mN%eXT(GXaRVZP@zA9fD)dVFEpEGh;Ej=USV7Z7th-l5r}Gni z;jY4d9|VfwM4j{!BV*C+gV+At%$)PL0!42%oe3~<-b6LBVxF_vgJF3M3caZBVa}XJ zX+&&c$&uc$e4^*MWry*|)zX$%-=DPJiiM_4XcO6~tlYgZsxIkmt*zqJw5H<=CDe|t z(!&`Gk~s5yrn}rk_zSM6g$VEHC4s2)P{+#$99>(#13#C%zkl(u5cF;Da^h%kiPmF! zdO;A*d*i)x;2K6peY8IoYjQ(|>0C)?=wD1&zI}QZv3hx<*4+PzX&!?k^ILFM@JRnr z|MpL9;8h?mgh;BnEw9_^@85ypfuRVN*!bse%`aP>p%D1{ycwhH%u^yUuF=lXE;R%A zc5=n!GqY2()3fWdi^QhbpuF6k_YcMGFW?WP_cdGIpf95L(PumP5WNWSJVV$I$QE{P z7u~uGk3ezwko?s*!00POm_A&C3k-0cT=xudyxyLCOTDf@M==lm5Zl~4FFT>zV%tRL68f0n4qscYDbYkjo<-PMy>-45AHm z!n|Rs7mO-;xjuNNxe>}X<@Jio9xRSYYc{CoQlGtwCsA~Ah3do6r%6PmU~^;M zhc!@zWsQXqk7D5jWe(}%q|EQl7$c?YS1_^2?7Icg5y})tG06K&FzRs$cdaU*Mh(^1 zSS}RWDP49dZp43Y3;&Kt7H`9T?jP<@Y?}wfhq7-sYE9$Bktq$hh*twoWwU0XB?sEhw~AloeH8)(`D5r- z*=Yn$(t}KVBF$3$9~mI5UeiRsX`S22m`_);zPlraH;>3TiHlE>f}JWp9VC6QkBYWf z$B&Bgu<5iMNv;U;XOPL>j#YsTDc@HNyUW!gyu{{DN;ApyKF%I|9DOVO6hi!3SSwLV9&?*M2@m~ zZ}x=Q8&~!VPSrm z%Z9lNMe^U-9w|H-*n4kdEqy}Jms1At8#3oX(e{w{-R{Gy!!D^;b|MmXXe$ifs{W|+ zbu^PsxPHZ7!+xdxk~FN$C+C@fR!jHZ|2cWOI@0r~3LZ~b@7-=iy%{pO98>3xzZmd^ z)!GNLUYI+R>s8#J-j!rM>iD)XmFqapkXO5vIDesk&N4)UY@i?is@hE%7wJm^MYw?j z?AeKCHaV_Xm?)5BFd6!93ooMGh$$?U5Jb^c&!e%CN$7{CB_*aMe4~7l=)m4&|Z7kK&=RI z6N)z%<~Z-3=kff;cX*$@M$9atD=}QU9x=+rJe)aMex)lDcdgTD7LU6^iBoX0F|TJ+ zrgK{6=3+Lktbp5^sgLEll2+L+XOK@3qNtypk;)YD(fg&(K3STra+G1gmT`$(Gh^xW zhZXwZlm(ao@NPSno`%k`1Gi-w%%=OnZ6vuI9c2YsR|y?$g>14~$~AT9Df8FigEvbT zrnI#zY2*+c(PpJK;w}52^6;@#B;b(uGFX2PQuf_mggo9Wi#~NkDt%3!zAQ1i#ss_7 znB`PDY9w0Yir_Ie6zww=&00~ZbQa;MAA#7lS;R6tarJ#h<4x);n&a_ak+l4q@n)k< ztL`y+>2`xsZEXC$*iAXa+WuPg13dWAg2D|k!ZZ}5rBG+4QWf0FZQ~5RDxKr@>pN6F z6PY%ErR>j;9bmz8t8`_Oo~@4x%Jasm^UM8w+xE}qfp;|l>-+W3VR}_H?x{Rhlp2F> z1$7BHX#t&A8)x9>96J)(Y)3a%&7%>l?#!|(^xFCiQVNPcUZ3hg1_n_XU=)HCR+}*t zxLli=EP=?ktfu5s89?|mxv(onv`gd*&T=7@X~P7-jIvTl=jzo%o2772IFgORf$m>u z7{88;82oDWv#g>B&BdzClfMON$X!p-_0kiiHYP3J_i=u%Odww-o4lUixtQ5A4Hz$* zDU(Why_F}iE^0&;(`vyptLlI9r7vaXlnC>==f;AYcqihz*qWPFU}a<3x}Bds1hIzH z6fCQRNyC=LD+ER{V>&v<^aIbnd;l>r?2%5~^20L1j5EMBRj^?y5n(3($#6a$agXU4 z>j%Tl6+sYLeq1ZmQr+ak(Ev1Z0hZEnHh1jsX6%h1TkOt*xob!+7o(Nxo;Z3n zm~Pp!tYR}fTZA&aE5OlH88i0dji_?w;)fi$7iBBYDcK)<=h)`Kwai5sFu?*xjx6}R zX<+#6YDLkniAXkh49K-TG4i6A114)G;aKO)hCovwRVxMISAUu(u>)^CqH_f9gw0rM z458`IEDkDZGPb*aptTyBYE!p4sw$Xju8pn^bPcb`^Ll&SJ-Un~jjFcI(7-JxILSac zF-^8eZ5@2kIAIgTkdg(N5IjgtxZ@(8uqDS4C0+IR!i1$7!M!HB>6JDdjO&fo$Drf} zp@>M?%I#nel8%~?cJgaodP##_%H*8A$YM1bD8KUmvs=5jFa2j;Y>I zSCxGKg5({)7Y*BWt>QvM&8>>sEpi{ zS7Hhn1RlhWHDw0XZuLBH!zF{tI#xp82QC)uJmPJ0`|40!0*+L~MlM`X_=zp~vUPm9 zM9F@g2Q1f=iwLZF;fi}m+tB5)HKUs_&1vIrtFtFxIJ*_4GMLE~DRYd^@WxlR9&wae zl&y~9L#5p$3Pgl_Jl+(r`Sz^ybmz;>fsbIA9^_%kst{uIip>SJRIYKa`#5E6REo08 zt*uH)$>ZIN5o=+G9F`#}!WJZ-tFy7@$Zw52&~FvIV|~i9QGysOkKkSKdT$(87?$Z= zc;3o%NwTQ(dBfVvTUx0m8F`z+pE5m|Zr(~;So8?JZbKDyS?o0MPsWJ@-HqI%*y$4& zvj)H6J1k3Dv$8Fi)^ZuH+Vt5HBd8C%QimJxU~Hmev1h9gl%yK^pCS*jZE1nrprO^2 zhM700r<4k3NRk4U&RM#oR#sI`&@7!cl2QS`lzfC^hF|GcwXE{!^BM1tDVXVwS;M!5 zS%v0p=;n;F=h>gRZm~^Jlmdzae68QD=I4@CDs+_2H1AFn+I5LVQPZR;oVH;;WVQ74 zh57AK!lxUp+4b|@8;Yu_xh zzMfX_5jiVvsN1?fch@yh+>)Es>gD~LhNxY+x?2i?ySK?JFv4~YW6mIORtl&LUsqfi zxfI^{(9TXH5DCfWWwMAr5pLf22c_M(;4+nN@K7+-67y;bBvsOVsUp>#eK<2tDlW-% z?}9GO9WbD*thlk!*t4>o(Q5h3Hlfg23J`iK-EaasxnY+7mDIf%5ezi7uXpcH0|Rd} zh^UCKAmAVdE-bFhx_0x|)G+kMD6sK;;hquTL*cg(S3pL13yF|!RUvZ`!EKPMQ`w$6 zph0Y{QGLYW&->G$7*hfn~EcXz0;wo;0J*!zXtS%1iF>x>%B(-e zCwNLEDWRVoMaA;WHkbZld0609bvN?L+@W%g#k zua|C8GXhA#6^|)Ahk&+$Nh}rw2gUml_~QX%5VYWHDgIWLJPrguJ;`&eR^)za=3?=V3`}qSH+A$^%m%$7Wo1=3`=$HB2?;sY>`|Loj$w)aeHMU+y7W zb%-xz>{;3uj%+EXzhC?9Oy*PaDI3T3ZD%}scmHH% z)lWnTk{kUHS_IjPTYym^mrIn2+pEv$ytMAu*vq8uPKoFM$cWNyAF0ks18B;q{U=%0Rr_8@wX%w74|nYi7k8yA5LZNQehmX zWODmX%@aJ!7pT9Y9)B2S6poVHF@1!sAvp|lW#`<==AMz387FYhf79N)P_0yssDi`d zf&`CZj5GjO6^a;IvP4uOw`ma0rNdxIkJT*O*9#Zha-)*6pDju9=`TB4&1LIQqf}PP z+1pGuK-bh-n@pum@~+Zr$LYdo>nLulWM7lhQr;MxQe&cMYyYRE$w$xTa;;NVV369D zH@i8B-A{3n&$o)>s`EOQ zWB=OLrQ>6htYutE$p2e(z~UbUhvF9baOr(HYEt79L;OEWD5mHbmRQWf^>8&*h7r0QGs7E} z%fiXmR8CP?mMjyfYBUqImVV7^7Eo$wp-q0nlKbY!KoeWV#zq-z;#gicrqQj3Un(~3 zTzCKc6HB~2YG^Qsyq+Je6JE;^&Gbk${pH^uI7&9i^CwYeZaBN5*OcMJsAH51i2~Ul zC%aXPl00AbRE>-zmvanpZiLnj2OL@b(fT9(&?ZMA^@}_;%An-B+5RoZH;Q$kYbBla zFTD&yPvJ6acozu8;L++9k_!n~kivpH0<{Br`6==u<&qzA^S6y?4rEm4Ow zq#G-m`VE;~5SXaqeYhJfyrPEB;5Z*1y@hRg+&?n8Sy7}t5Fj0J*s9pc2%nUf&(ANO zhMz1m=1@yzZ(C=z#ad3&Nd|x0AQ{5kfHIx#g`Y+yZL&xIEii<{C>UKS$ruoBoW-vaJxfyrcTxi<>3?$ROE*;$!A8pq zdzt3UUl4i}d5qM)L3d=F$K4u*>5I*LJ$K14nlT@z2rE-OE*-*Ra5)9amNsj|R2g^V zZ~j3b5k3-Antvg_x>~D>Q1Es;rYxtt|1ctOkw-ygZ2f|Uc?)(c{@xrih^u|cJeqv4 zN{X}3dQHuR5E_PInQJM0{CSM6S`#l8%DJvhC~%%P!KuAzY_Q`1U&FYZ%u=2=!qdfr zpc14-kd|hX{U%>_-VJ3SJ313}u>eh#FhPTV_6= z5!(Dn%+DLg6}!d~TcavE$gf==i=#2hLRC1!zpNHI#ZQS$aE7~ONV4|~OYduP{BVfg zugNP4h}Qsqr`u^9`Ph?Odj>2W%YaVa(3WTUj64o>7N!L>yl2%ppS#EURbRyd)g{h( zV|(^oiT}X(WW`k_U_6abAl?mlz`r*JN-Qdh>qW{6W82!CDPcIB?Icb zGy)gD@j%jDLOo6E{$T5+EJ-Hucz^k-htfLQsBm1Jr)9=xz%{b@Ap?2F$cQv@ti$}= zio|iY3`JiLTH$Llqi@SGJ z$`jUxI=jktBd#s>oKrkhi(?}r{UhZNXL!h7=Xa&ArS5g_sqd-B!kp1rZl)&WBO8yi zR^L4bKUcnw(0X8VQExz?4Yo^DtN(bN?wtnL$lj%^n3!O~Z!H7hEqMTobfvXpPx5*XWNdLyJJ*R7#%t7`RPf z^eLhn@ryv}ka7TNv+N{40VpBUaE{<6HTuOf`kXW7jpvHllbBNk1_GellbU@yI*!CO zf;i4;zm{-D_8lB;t2U31e%LOM+o(prc9J&8+kU*;sK&1X>@&VG*`Z~~tN=jdD;v>h zZ5@)BA>KCii>8idZ+G{pmDd3z56Ban|DFFj=u-8!ZPFw*2O|+*FY!akBsOcC?pq{1 z`#3ug*-B|@@L=GA<0JO9$4Dq4?o0CH`klb@$Eq@m@eb-s_5YcpOohZ1N0N`w*is+b z(r;RCZ&WW+*Jv@Ra;lQBs0*M&GFPC3o^>$-fMSHUA9XyGFlQbjf*r|$v@dhF0d;L`X|5H+HtWmtly z8xS|dO-m*KCdkOd?&bdqOJ_sz8Xv9Ar7YY^cG7!mU{7IyepTFBr>{JqwywLm-ENFc zAW$P%BV8k32fcjsYxPTULd_!og&~>gr||7c_lqjSnSm_hyCu#3r!8)JwtJftTH~CW zz%K#SS!HXbe$vl{Ud{MzO9Vw<6w5tSTl~izx^);J>TfAkYWm+cA=(6(_Ow0mUK`L^ z4LzcXiO`}%zL~(22U;J7Wb=M_uw1*n9iY{4N~b;KD6{*!NF+ie{b^AJfZ@2LpiOa# zYX(~(c+Ffnx=JEe4pU?~?-;#!@Z2+L{e6v+t#cbosT$ zj3l45#1H+1M@dy!VIIfE7}zo1*O^Rp=CQI9cLE#*V2x;mf9dQd{k*AS2WTKu$CDCR zwkn0Y<$Fr?r3$h->q($yW?5DsZiss5r5$Pgc_7NPq6CmaWx=MbWi7Gm(p5pxMDr zsfp>lrWKb(GxQW}Rw-zD)l=aGbnI^qF{IG@DvAj@SXV3O4l)c8LGoO=J6NZ0J9y>F ziKRcVTuNF>Y|oht?vaH4z_NQD*@*zfNT`V8CLKc%_6_v?_wvCwv=Nd)wz&U5&&>z;8xSysU z$xQYfjdY`3J**IhC9)n_^zA_x*_%4?GA?fT0A#9$-hePhd5muya3_}eMdcE(Gci;Q z`RKZwpeM9SKJzWkGNH5FA)I}3snCC9Mp#X7>8-t4{%qXol483SLEj|CKrn(KCV!uD=`r0f&;8qv9a_X-7-itckj<}tJC22yj!6X#NmyOlNJ z_4T1bq_kx<@q)0}%CVt4iog3%#!KJZ0>u%Ktrc(JH3aDShTqL0+>5eg7<*c!cQh*}%>m~88eMm(LuA8pHP-Ea2W>9J4X1O(huu!8GW_!>7 z8IQq2W~#mZyI?C^VB%zwb^a@q+v4w9vz&^fjkt1ketUwJS5O+hov14ERpTiYuyg+| zr8Au%`BWl%=0O>>At`=rAdov4{%saC65q24i91tOl z(zML|_Ma~h#qQ%Phi(`dRW{I1ZUtGjF%AMEZ*t0*&_reDweyc__p#{RW`dcE86+KU z%A22Slb-jO=yoTkZ-XD-1RbYow;$K98iwZTO_r}T3mU`UPgW^TcD%>Ak+q&+n@Ma1 zDtAP)f78{M_J;la4O|VN*<8!pChCvXK^W!=!8%=ND-I6J^JHAgsuj;rIL)q_SM8?_ zFkb{Si{;4>fq%}CV`2TZ>-s3P@6kNp&4&WUOm^D4$}aO}2805LAKfi@dm?B;W*Klq zBu{20)Qs8TJG=Lvqq(kJGRM`~yQ9QD?k;RHRV1Iz-1^YS%J0>5u5q5tJ*H$_2IRS4 zGCDX%)4xaZ)*rha-nn;Q zSUU@V^E$WsCZ;W{A6;WpxvY-k2GJgJ+Sa@;e|TVR^55fUY9l+o>d>(zhO85k&C_or zuz2QZ4fys^+E;^Acpk9o?H?`>9IAIbOqYwV5?9A?bYiwq&wTDoM0TRAL?WN$3Z=O8 zL^;|B@V_$;4>Pk2(3@2?hvVP6Tw=@GBpDh$mXOovvzGq@yH1CDWWrM(zN; z_VIJ#vQ)jzZf5m(G8>>M$~Hu*%~b64&)Ztbm|l>dNRW~Z{xsGh)%^ASTIoFktun! zVx6ZUcrpM4Ab=Bi;IO%48yFj$SfT2qbO?l^={&)NY11JZTEu{~n5a+VDvMxjSqcBB z?xGn2KDL=768|+?2li6brN40Cl|Y881utI+!o%l4zD|LTyTsP; zN<91Pf{MM%GwW3cfkDKx;!^og2tI{Lf>u2QAdZj|CtJ^Zn+OATHQR0~-AdEV>owy* z-xQ9huw%I=ixR!(&F27{0&=Ipx|#HpOgHPDJgC!kUZ7cw%B_HQ%T!xyR8u0NCXrirrQyO$S^>gGW|GjIbJtQv(wBk`D4%^)y|F$LT zy=n25+GSZ&J2>O@G1Yr2V*&vL=pq?t{&s?}l6X>#YXpI?NM`ey8VP>`36khdQBw~atWDUQHglinHpDlue<>yBd5*`~$b7z{n6yqq87i!TJ**&>JyL@DBJCB5PD(5R%LI7v)B37%Cm?MTgUj(Y5qE<`E55STp7hWuDU(~A$ z#1oS+JZ}iarUE#T|f@dbu_SK0@M3SptEsSow7B#Qw5tq7+~SeJGGq zxO=KH4bh`|73x};INg3+E^xUam#g}L?`Dg@DCQegovN-KpIYt%SjRxLZjw#j!=ojB zDcUHc0v%y&YBtyfU8_XovVOWP68c|IXHbDu)Ba1}GS11tQ~XF{hq{ERUeAz)UEj^<^qQjS84IbseotxIydvB;|Td$Vg;N$`22RA2$q3b)XKEvqW@&E#P^ zPZ`NKBPRpLt~8TVIzKq2kb^yHXq^>*3pwvPgaPk(5}pTraIe4ldsJM%|$wmNBW_mFWbcXBq7!00C}EY2v+ z1>XCg0e;jo_h!o+W*c92m_%W?wPza+`XpW)97tcNS(jy8y8*uTtA#W#A}d^VVf?0rTb54(O! z9Z+7_n9dwu13MB>DBFv+;<;&BH>$Uq5$$hb;)LoQQmP_8Kd8Z6^}2R^>zAx~&@Aue z=dU_mYk2hc0f{#wd*kGZO6*r3h{v#4_k7PN2tC03?VVq|Uo#DaUX+TJ@_mD?cK)g{ zmIW%w70Tz0@)2qsTnIe~^NfIbAJnY1I?Z@X=KB|rlZ9}QOZIojK7}!ny9k$1iPU)6 zF;`>9$s!V!iJiWD?zwSS;-ZNS$r2Kc5Qg_&u5c`M4E)@o z)ff+Sq3|5Gj+Ua*3s2jlH7tJ~bNuE1I#l6t>#1t;CLzY-gCjx{s3TMhvG0~3cXgAQ z)BvgSlFPZuY!?>?7we0UjUi(>z)It(o2grPO3U^sIX^$pJ5dJ z6oH{WaSSU?yhnwPBnG-#Xa5WbE@9z#hWqf5b3C1-k1Ol_z=dJ}KTYegcMLZpm7(%5 z+X@y57q;3{PJoEJKaD}yk@B)_@ZPN3$hp4a41LO!1kX+yQw#7nui*eLFZ#IAMDbK* zzdoa(1K$Kxpo6to{?RiVsgIBGig)7*xKnz%V9O!OQ>2&wi`q|U6tmT0lU=oqyg_9D zoVq>;h$)81D~>c2f7p#S|M4)0(nEUL^y4V7Mj=KSMhWsML#D49|NfvdjLG$WRq%x94ImpL#$Kh(HRE#pP%zJe5mJ-d z!Qw}RS5Sr;Bo7xQmcM|W?c5@BL+@!LfU&j4-A5TFDJDdb&lW+9`007pZIM8KG;NY2 zy~(ggARX&3FXRRk)#G!jGHgiobGAC0y3O;0dmyS$nxu(m0LXQi^l-vnv{c>6<9K)3 zs8UVUPe}iV22n#iOzg2;n&|DN`|53KQHzG#$6Y)&L@=0t5Cpf(#Vz1Y()BdTMA*j5 zWONrXSrDWz8lO$DY{G|Abt2+|;UYxg3SS_3b5FF_?jO-fd%bF!{a&fP+b&Ai>9)x6 znglN?WA7pk1tfJOweaqD@!##Y12}i**mJ z??Jw=V19l+Z5XrNw{w8;cJ|(c$7XxmSw=ysAaw))H7t>2Jb_OgJEy1}!M*P8c-UjD z8z#7}O5ScHbQK0d`)BQ_Yw>{+pZpv(g#}M831pn zzZOcuXg9XT-P5|k)i$KM{rPem`!o%rI1@~Ye{9=A;Y&HY8AytckJ+OO39A#CVqq)$ z@`@oDR!e+Ih(onFRsg~pMSsLg(2~IZ!yyPlF*PQ8W;Dqmq`Ni@| zro!U1)Vtvam%t-xG$Du;L@7N_o5e6_hCK1OJdHT^mdBp?-jm-I1L)K=cfz5Ex#XUI z&zQaR65CE&F2>oX?7MOyIkQg2>G`_KR&`{Ui=n_tYVt1N)&sz*jrM2}zp2`;O#niWS@I!I9I-v~(u2`Yg9_?e)D(78P69A*hX%+RI)uN=^k% zgC5usvNhpW{}TY~Dbf${hap8wKswiPP1&Zjv*lxaPwaj74^o^~r#pQ4&=%cVmswt@ zyEtOw(_H~{iUdmKg$~d1>X`f8pR@xZY+j;-0gKRZYZ*_ThhQ0Fefq@KHp$)OOAEwrb5#;K}Km!>cY;$()3 z=<-i-$UQ8PjczO)*7nPQ3h(m#7lh`?lltwh?)ghxAPT;s7DB>NRF)J0a`pJS=W%Pyb9d(>>X$4%|`)iQD@`w~|K z-`Zslbrmer>~GGCQF0zA+t4^4XMR)M<1jA6U1q1hmh;``;xToTFAz0WG8A3yEu|W# z6j(RSY^-g(P5zuOPXo8<&O1D=?j_g3>{<Wi^tqMW$|BAhy^2@!pbu)3qyPy`af zK{m@sgo!%Oz}NUALg>E$fx+y4OodP)dAt03df z7etnRMjeCSUJNqaaT|rR-`}O(dfT23UJp|)Q=DpWU<85rdwqCq_10789MYREka-{M zu;PnV8=5KzGY>ELgq=aK4^2=`)t_BIo$C>>-iXFlTWd#GU-vLB-Y9v)%BCIeC)vK9 z3)fXVLZx3OytQprEnOEdI4oTOvrNC<)K)LgFZgI>e%@S@DeEpU&0Iu#_<_zQ0!?iN zO%^%>4l+ORcvIYg%-_`mCstlPET#80 zS{Dy42GBKvr^P3tKiAn=+R`M$xQ@G|k0;J}I?gcp z?KIpy-T@V|N}*mUh`+kLb!>*6d}s*{m+%VTvGMEm*VoUxKX+)ZXcIjH;e`ZuH{@XA zu^%_Je!j*I-y%eYG6ElDl@{)RauvHA;0|%W-S0mSf5KU&9wi5u=leIKtV=ZTFydn& zs{WK!`8tt7F=N9JV26ErdH!AODM@@qDUAvnh8(cPoY1GNr+vHCoWEevZ2RjL3-$Jv zgtF6Ty~F`|iOS{rtRq%K&KRC%?1ZT`<33w;>hOmnIy07qm)d_5ybbC8c}Bp2PL?Y; z{~O*B+!jpflkFjOMD`qIN&*NU)(=b*o7Tl35>DH7UH6}!N$LPXzfU2uAJ`|GF7QXE z4%I)~7u{B1FU+9Yg~8j!S2w0-h+P^0pMzXDA=<*3Rbm;u%g9hG;oTZQ^{1otVs=iv zrB3zNSd8C>K~5RXYo(m?(8@^zv+}@YNcA(|Uj6xMmNbj4%m)zQkC*V9(fnqh0>HIG(t64@v;82E{de6a?wONr#wI@lB3WP-T-_Adr&BL# zQIF(?=HX1*gU-%?juHW^--NHJ03uM^M4gm?D?i*uWG@ON9emSNka1}-taC78_Uva& z^8Xc-cVB-)aJujGl6>a!7@Yv@P?Kgy{HLVE7-k)yFjY#PK zoqZoX!ZLFcV*hj~xQr-EP4g%U|F4J=A*>3FbyGoj_c5!*WSn{b2?7x;7y%BgyTs41 zr~t+>0RLZXE|j-=c_4h-vsg?M;^s1qSxli{`C9)cVB2U)(tk~Xve7|9>+0!+GRlH+ z5YTbrnQ2?a(NGBC0;E7U7rst3P8I%lek0=lBq-WM+;=3aX&Nm2E1v4Fct7vmx6%I% zE3@Ic5t#jXkg;k0Z`Zjv^H$xOdRBXEVtRL=4-41uM$M4DP0fB~5mtBQ{}mABjbHSC zQp-sTeiZGX6;%HnwK%kF+0V{(e4o|d($Lgc|FR_Z{wz~L#@+oYU>i)r`19ly$73n{ zUv3ok4Zp`|K4J?YDvVCrg$(e=Oia z{~)|iNh0Wj2P5EC82gAKFql4*{1*Fhw1@bCbFW;3N6CS8j@rDHsL58@ut$^pLGl&A z7W{rE@4seqU7_$NC_s8EDTcl4`aD}-tSMRO-@$%D?1+d+Mmjt>YPZi^Q%jRzm|u{` zdPdB!)QZncOohcUp&Lop&yR}76R%k?U(C6!St;}~IjjGKoE~v#N=ss1m8y*!GRq=zP9g#so@1fuVZ{tHH$R==yDI;(S%?j&W;H z!%mI>!m^~Wt;-ti(05-LWy!l1KBFz9p6)Wn*W{JdWnikpP>QEV8p;f{E{w43o}I=X zvaCENka2OI35_x48>hHOi+`yb1=zGgocEc9Znwzo8?WtpK(@ziX~0E z>#iP}YHO$iI1V$;VYFMgjcq6&F*cwQ8SIQaKMQ$K9B^9P%&U#TL#B3ln_{d_9Tsg} z6(#{)xs~^j8DnlIjt<7$PyBXQ=}BBmm@2Gb^kCc^jDD)n#Iv2m8RCqMb&G+aYYjU1 zo$zUHH8+*{A%~BCMA4}dO#cDr?3wIq7ggz=ELsL@T{Y(zi#}k_N}3#u8^&QC*oy3?WEG3^P#CF*Kw-6f!9Q_^{$)LzrZM zKV2B5Zj;mVdPQ|LO|iRxL8L_^!xsB6rB``N@B30U0PljZSD`4@mWnRb3d5Qtdwg8d zm~Z``amQgkiIGz2@_iP z-^caA#>sZ~Ei+HB0ats$+j0k<57K?GJ)kx?qB1~N(jke&-kJX=ebrW|iu=x=@1@TTiTSL`a)12qBuIwU>xpfZs5Y!y`2gS3jk@r4 zW8ZU+dc}I+-30%>{{Y()9J-6Ur0{nuk)EU5nOVCLmYPTVVlFOw*OgR2 z-9E@MBddj)GE|24bRjh+7MH93A)74uBeMWU)SCyKM@2oA&~_L6RS%f7dOQuHN+{Mq z2$(~%g*LeCd3qLW zTSp8L(U7yKdJ%P?e~0A5G>!`rC}+P=?o)p%5o|2a+ea_*^q({Ly*L)s7$9$0)cBo0 zpGS5P*l)mm%b7FX!=3NT5`sx{WShu3Dulocb`*-ckSwLR4o+$wG`TCtqXtip!j)Of zNeTi{{5Gq65`2VUf2$k zm#?|pAhJ%;35ZK%xBJfvt{>xI5W4(j5^fVOZ`>ByjHnVrCXJHFu3k-M2YxH54gktI z4=%@8Wt?Z5<$21&+kS{b4*y3Ai2~dg5)1bx3w8{zH{WkbK|da^q8x_nZXwXRSZ`nG zT*$;|Y&@PnG06u2iBZgX2C7ljyeqjSxm18}a{{Jl@7(D8aV^X$@GsYwlK{e{3o~vEK>i+sCpw(Qy#P<;uky#gYvP+t#&-{;#Mip zaV7uMD5#bZYgcO)+Ri=n49v}P`BlP==7J=fUKjy z*yFNDTYL70xpP{CQj_hCVjXWuM#(xBz0{U^lHjuh3aeLS#&Tc6P? z)7K8?z_UJ8DNw>25OPQU=z%$;X}H4|R+_99{exYGin8iM_G?zhb4u{Y@CYASEe8%O zMEr(fi?<%m62QpgOCiVQ9TPQB!J2aZ=bhcwEA~tTm2oMidj`hO<};n`FLL~N=^Dx$ zg6@|{?@C7rcV_yZ58D7F^FE!G{0`y*-;NDA7F9=3)o=9La*6qOFD*8N-~(W&-k~>H?N08 zHQJ0TvSHJfim@FQyRHqV-c#oxF&ydK`iLL3hJ45gmx-Oy6*>dTfAEh;pE=p;CeKgUX}Uxzs?_u%xw=)n7WYJ>7Q- z+^qi!#CvO$Ne(~hPsk;uO=VQp0NKZk(DBi9WfFK$YyRvc;)!9K!Dc0v$>q#*rRv#u zr`NsHC2C|0jYeI6lhw}su$sGiM10iN}@j?DI2kqJW@DE&-v&Xg{Ws1NReUy-Gy z@a6ofB(pG9LD*cqdeghDaXT3U0~a2imW3t=N>+*eB3oKz>;vX;+#eK^KpiY2N8!`E z#dTMwV&<#}d5AmyxLWm9yhkvWe=iXExP&SBMmTC)d@KjfDUiZ@r3Tm{H3xVjtpOAc zu2?#Fp$9GU^_iI&mtx29T2d$(@5Jemz}3azEKAyr!1}9#Yi}+jk;pBM*g%KQSjP_a z)hXFC6GBo_t2Zwt#cM&1cvM}rVDgXmMrO~5xAgJ6F%v0C`a)&=h{%(`Z$d%9$)El7 znKpDI@pP6acQQIJ)hlZG3Fp}CE+e)kYuF(~RLKfq`FVGXyI5wg|FFYDZ(&aC?OV@2@?2*b7O4W46CbnaH@ zlj1TXtNWb9;X}>n8{8Pb^Z>d)(p(OauNZ?7jPU|8yQX7yh?VkJ~zr0W~dW(CH zx2jE9>dNaQP9}&$dHJdfqf*gP)!5;pgTzZneZZrc@NOZ77AbKn_{k;t;wXo38j`$7 zYCC@G(eiF4xmag=o=n+Tj@FZ`YI0>jNA5H_Tn)E=Mt%{gbw!P=LCn2q=V&-QrPpW% zuw+_tbFsx?C?OaZQDK7G)L!C~t}lrsrJGgrkLs`4bP>&*w@@OCb?) zWv!^vGwJ*FD~>fsS1cI`4lgU6$Bx7V+-f*jM0WVggG9FdT)2wd++hY>&Gr`W1)dWzvg1qsm=L24vg6E170_MR}n z9P1)mMull6YG)=_7^fDl<19Ban&@_(RVOT4 zGDK_lkEkh)Kx098ay20v44c!cs!eX*;pnDJW&@a*7ZI~Zjc~g9i4&wYsXLhCNOwL5 zbMScm#AVzCZ`pk7p#i>_EV4NzTluPP24de2Hl(RG7&|!$wF#GSXlh%K)6`JusEwbG zUQ~#*jNB3pY=JE6s>)ArLd@x7Y_q!~rEmxP9F2{A8HQ<>lo?G-V4a>CMG|N}48iA1RJ{Lu zAQHSUg^__sYHilvN+wE8bw#8oJlTzP(x^jY?;VstBhux4ZBf8V+{Yi<9?Qii()|PS zH969y1Z-Vl-jhC1In>rhPGc-`9L}WdkbDw65`RP4ww~*}4mpPb&!A{W;rj4v?3}}X z`iu_6t_{N+$`q?6M*A=Re7H)Yr6U27JPgTga;wr9EgPNDF3?f@lBJ-p5AHxLW5M+(PJ(~1klVqM@v;#@ZUQ~8AkVU@~*^?#- z%V6Cm2`P~g&0TqF1_(rt<|yKMmGW4x=Kwgf0UI$Z)wE;Dj9UuBDW=OmYV}%<%+)vj zJVh$2IMuV%%V{T%&8q8?Et=M!B`U@ak1f!xf$NaX&x1!w+qVziGL$_xI7IMtAtNaS zqg*4ieDG<$Gf!=6OPrGLM-;DH0?oCGQs4n{&Fd6Df_a$E~b zjn4DnFtv9Wp8ABDR(d;8MthGJ<3NhLZTYdrN6%gEC?UpFFlhi;6Kfk^Q`wWbh+G>L zGgK1zw9A!v~BOI$mMhk!R} zXl*Q$nPIFv)4+OK;5$OVjQ70yVQwSol!Gj#s``nc)T;{$qK4u!5MfaK3Ucg&dDR!% zYjr+VLl$sU>s4tgo4bn|`H}6Ds0HH7RigJNN22%M=nRx2 zwkWQwC_;QG2JU%BePf`{C(Kk)bffW&^ASC(olwl{y4o%H>Q^?drBpwf%KqE^ZXLlV;y z4V=Wdo=%l87K&33y$#e3b%;2 z(6?-R^)8`-ZC=`@VM3=k?ezY6o2A;)3o2LYx#{)G5b6>`eDbRT%=gY|TIjQhcB!%? zT~BXm^8K6R_7vtSAV8TYGt3|b_2lcyn6bjNxMYQFHy}6fvq1$FBKDBJA*kYHl8`sI zKFa9rWMXhP=Oj`A2*^x9f*&%{7a9#2vQalIcXMic>9BbKiv=y?FYsu*a$0Fo{VZdkCliwGTg4A1ES>oxHJcDH6zxmd*Vd z&O%a07+N^VPj5_1lcBR!5KwWZjBV94A zB3_@#lUN#)wLTkVF@6L7Xn9aj>~4rfGi|1}z5!2V#(+{E(}-e|W;ZiQ;B$r|*&H~o zscj;DsS+3c0cuhuS%vM0w5iDEK8RkfAZGubgB}xr=Pe;IJyKnwG95|jd{M;PPs3JG z$iL4N)~zf2m!@ASZPDp8xc9N0tcc%Ebt_~&z>D}}(wL0mC>$Ik-A+&P@_M+E)1zmV zPt6{TvZS6mc(#;Ix{aE^e5DRRHSd_}Hf zvaY*sW%g3omHm8UmQx6>k1oBCteHjg$!Y|tbEGC0DJbSim4M`uM>Rxnr$r-ja4JwS z(VRqQL`AAFzL`4Ko#@8=z)x&3+GyNPKSBRNzcZm|yX1++JW@~R4?c;%!*3acIXGcP zJKndzm$@nri7EmeoWP!p`8Q}11N8v1MpxI`f^3)7Zz+|$V83?BxdhX|anolaSma!# zHQA8^JsER5*>u-3g!zf*@hW5a+C*Cl`}K(F4IHv$=``Q6)&AiyDnaGjxM@8w&D7OI zj;Ji%ZJ_+Q?zjquQld;&gZ>farqcCDQDN)U<=TrpVDM?NEMl^t5=E)N#{C{a)6G(8 z*%f4Zbd=t4bl$9~ud#0sk=wMN7>{Klp@}Xcss51i*mU_zZBj#xHR7|3*8ri~l(eTf z+{$-lT}7mVk$85HC!ZeNkURLrHU0t44X3ouatx<0Ah=rl>BHQ(z+H8!bcv~AEF-Qb ztd$MdYqthrp_+T{J{qjzX6GiS-`9u-+G> zw1vE7F>!W@%=uYX>2oOvxT7{vp{8=7w?b|{91&sVY!uW;vAW>#@-N z-adX;hcm1#4pHoP`}u*F?&_127$VhfktJ(CcDmel$%Zyn}i33lrE54RQUK*!Kq!aXY?m-FZ zHDRlojP0-O)jsBXJKI$|>`zkGRhHlM*Ke7!C5+o~4i9(GudFMqziwVKE;72cD_&wm)t>vZg`0yuqd1G7j*6g-E(px4d}Q_+PQK4g{iD?E*XpJh zd{#clHy(LK2#2$OS@W2|j3BbaSglGbKuCMSFWKc-k}%Bh=oQa9X8&xN@I>M*hBkte zeAV{M+$)N?tx23T3wQzEZVR8h@y}0&Bnq_MfL(dGJ7Y{L4wGF`$=<-+Eep8a39JcO z={qa)9J%?Pw*+0=Q8khqEYH_-FlwyHV3P+{p4xf){4c`3F;=rEO7_~eZQHhO+qR9q zwrv}I&Azs+zP62TdM0@{8)chW$&ccsw&)6u?GHu{$?8>uP5ail1n6g z&!uOyIJE&S#@cNhjfThLJ>jrY$2={oIoa}W1n+_4XeCn!w6 zjyyFQ&rbEKsNG_Ttg!aKE!Wso@Z^;;KM?&q!x3`?mdSXEOu(6KT-+5aS!QF@tt$Tz z?M}2t(~fWfoRD0Z@YNM@6o@L80JSy4c~k9r2j>fgZ)V3BYV z);*Wt6YtQP`V(K6Jr(p%ZfnULG3_*m%9NyS&Rp>vP4VX#JFXcD%bf?M<3@5DYyi9QwxIG&8|6YvZXK8#N_C1@9%!R^38h$N{;@r1H9 zD>g_UwOGc7!-bjc7Yrwu2%+7BVD!r;O_$}9`p@zPBi(0X}{9HkgM5JSH zCGXrftt6Z=g%_3O__^@~^dYH7yv|7RDEgl@Lpl)g+#;LZbSsWf&uGzwS zBi|=t;5eV=EAYEv##l+kS9E7HQWHMc%;}6+YUamb`&#)C1X;qyxv}skq>i^|x+9%C z2B+`1jr?$D7p#OASG?a73n@x69#>|_w6nT}cA@1>5$j&%M|HGZCReWEbTPgvDH?i3 z&g5fX7nuH@`~eA6Q3>m2kO|zZ_c>X};kO5Ioh9XVgP6sab}-smMun{W^DhH3>zm4N zrtRi@y=FY{BqxS`r!G8Cee6TCKNRErM zJdf&lF@&Z9)5{u*A=4DT4w86LYAHB2-e5br-%+2wGzOyu&|G_mwz{tmZ#iY&(6IOXV?`aHZ8oJ6Tc(0-QB5onOa4A3C!%s;_$yjC3WHwam{FP>IW3t^I_7FahwQ-jBuja- zZ}+mdzVFqSAJcW`G~nhl_ml7R>&A7KpLM;1jc`J0FZPoFx6j37tPog9V>G@_8qe0) z+ZK$CGX~?)T#PFWUJW6xu7)Wd6JTxMTyowy9{eY2t8dOw>vLIG!C+{WjQ5hnWj<&q zis_^1b0RV9;PK0v%|ePoB%<<+9Zjtr|UJQQd!cI{PDln9=V#K z_(+*+877r~66DJkW>-F_Sb&5qi``2SE6lQ1d7c~ibBUn#VWdIeaIpGLc6h&~Wq!x$ zEM%6@OkkkzD}^M>IEaCDV5TPNERicXf>DU+j0KzfJ z+GSYTsf!sT-oy*22B^*(ZNu-~OFNU>ty7pvHh6WS8C-T1oGzOaTPD{rO>H6k3gUUQ zdlO;w8xvk;;gbx@Eh-cU-y8O8#exXg2~1?YPll)0wxK(3Moh916vq=!C=eNa792)= z3luu)Nz6Hhcvb6=42W4HR8npr=T9|wq>(*T5m_!5(Ig2Y(&6tos7J~$vE<)�Oym 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 z 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

KglVl>y=&z!AVVQhe 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⪥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

`(WP7R>e^B#TlpIL?Ci|!h^cIkI_!+bQ!F?O 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

g(3v>+quqY(;rzBg}XyfeaGSm_hJ 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�Su z2{sJR-qjNpJ6eUy61NhSgqkQAqfxb8%nSV61`5kxFQI7x?Xv!+WocsTDUEE3v-8e< z;eXzqqZD`9<&)@cNkV%4-c?Yy%@mgYnxU9)4^yjpb$YQU6HB}vT-(K;%{reBTtU&JgVnl_8DsEtKbg9Zr)<|72CM1WD6QJN#;gQ5BR7^;qm~Iz;RY}M#M31c=ZN{DWYF)Kpj{#?qVQ`oaZ@ zZLN{j2iUwHZ$MZ9*!*&Dkey1k`BYGA^GmtmpMrFoPfOP6-`~of3>y$wS1Cf5M5e9N zKPUc6|GqWF=KWhO^MC69wGcbffMDGqo3qR=Xvwttfqj)?$~rxVWtHO3GP}Rd7`y*l zV?F=a{JWhqgK2t~>FS5He;fRFlYfirOjbXfzggm4r8pXDK;W*i`Gxc*n*F<(sjN2} zhN~YkBbNU*AV~ApPWN1V2|A}I>{__3&Xs0we|jrND~HmjZ#P<0o9*N6QTR=bt!_V= zHjg(DK4TRWKLE17SEej`T^PF|{zy5I z6Rn6@k0}iTmIA47fkFv>4Lk(YxTe_yNjf(vn}@BVYbN$6qjvpt0-HMLRl!#3zQngc ziVJKvBvzg^qM>zrP}0~vqobdr8(EUUtL&Q31%Dvd7IA^MDP%n0SupZ<3Wx)-0lA^T zwA;1Yb&h_Ce<=&m{c9}A8U9)LH`A|ER7-qIMBs>T7(-~f_-&Zmsn!?l~$~ zH(UD&*k?FxzXoAJrGi%{Tk})M@TfTlxLC*$(I3Wew^Smb#BLD5tT1b=qwYwwbo^<}z(m-jd{^cMWZ`|8ZhrFX=W4u-x$CWq039e}`%_0FB3sQR4r* zOXP{tBfh&|;F{lmAQFnkgQY!nYU~EFdjjRMdaSJz_7-fp1=14+;GT8j10XaTj&@u< z1RHw2TIZGB%k^6zl`h~S8Cx%qmgRC%e?V_|b;l+*ZG+v8V2x-4wJG><(P(3H9*EG^ z+0eMUiUi`f6WC`4R*#=`G5{c+8`T@tQ-n9DO3{z$j|4(5S@QSaX<+7OerPEx!8!kQ zbcQzy&?d&3+f@`)BP!l?U>BqmvKxSPaY>UCmSCYNDQ0mNJ)%99Iifusk)TH+3%omm z&n>Hxs`toH5La8AcW4N%3IYu9OR#HUl~tV{c~0SKeZg|cvVGTCgB#b6Elg9}A8Xx! z`{Or#aDrL6&~Zz>Ey|)g+VFyni`G*V%5RxKN3M*ugW)SrS|g-x4NNMQfMJ z-b~__RWU9k|H;f9&AF`f5;i)ER5sxu+rP(Z5tzWYB3rh$`5I9frEFqFmipr9!#9DS zPNre)R6x2)I6U|1?nC6Sv8EE{0a2$Cx&hG=G*5rspVu=&kwG-K>Lm;@zgi42>+r#B zo)~|0;Jh7;JQAphV~vT=Ul1a%&WjEySbDqmo?&lHk#9$r)Sn#FM}Nk*AERa zroV6Vlw?=#oiksSX)mW3k~^TzI4dnG*}oyJm#U0w^!KnyXe_U^EPoAIDRmw3*H;1V z`vl7mhs<4`gnG|iQFFn2(@>GP^~jZZV-uF;d5;e}JMI%~$BC;(hV6 z7vm8z4NDI1{n-}e#-vU_6`pg4*?Ga59#?MGYm7) z4a^?x&|-fyZ8%8xldKh)F^@5hvA~|f-tEN=;xA1deyBLa(s#qZjD=6W<9|=XCNg_-Cjk$Dk@{cihf4YirFtdryheh*=YCH70~cC2Eo+vnYU1A(0@WnX+_ zSYvi$eq#h<71lHEA=B3lgk=;i_~)o^))Ypu(YNIvq5Vh;=n6;+XbLC_bnm>$B%lgV zoHIYKODZ4rJKl9F1dV=C6Rrwbd*A%Yk#SFOC_lD4_V6>Kpl%e{7oh&c6pIim87u!e zTinkNK?7a`_8I$z=z~k;`xDKe_QB`_u*&!La{Ij{Cg^)cGUc<-m*n5t&Ix!WA$Y0Y zj3%%rhW{q92moh8gm!Bl*@+$OKQw^V-vc61J0vFFS2>3?x5wi$!N|!_Pk{L2Q-_Uh zQ?*PfoUFoAiY#ROg~?z>&}M(4GZltXlSW}O{V1R&4KYL|6%~;p6a7$tOYQh^mX(sy z(LDThMuIvj;Vt}OkH#smh?gJyJLXj5a>J_HN6$*0MB|mw?=@zbI4t1-9)_?=B%=9q8^qaxeAv(ySj8nzU5~IRW^)t75YB5GME1c zd_aT0#0{!;BG=lg+OFEA+N0X9I;1+HI-%-TomKUy`iU1+mx)&(kEm`E`Rgq;?E>`_ z^>pQ41u^#Nj+`Y7?F`ZSUC=hVIG0rjAINPU%fT|KHE*T^*annF#HW+qXmv4BpZR}&(} zH5uY8O%1VLGoQFnvy`};YOU0))~waEX*OxLXtrr~YIYO%X%1=*YmO05Y0hZQYx*=7 zG?$3Onrp-xq#4spK+kfYR-rA>PSqA`Ra%4ArganjU__fFvOWjS*4Aq0XdASP=_|8Q z+o0JExmnvnT%%n_+@NhIZq;tT$6eYz+Wp!?+9TQ%+HUPxZI8BJdy&Z2E>CK%Xh-gm zH8-`lbP}CXH$|NSgP+LIPuI=RX>=x?L+2r~9Mr{hDUz#n)w(*}Jlz7~5?zz7PGf<* zLbr<8s#{N*8r?>cH|sixJ9M4Iy}AR$E~t3$f0y6gYMQQf%i zs$Qng*B9!G^fUE3y+!XNdi5cY<+wgWoTabP*X!r&7ZR6(%k?XXtMzO3ZTe06E#NkA zCvmraAMv36F!7lF6!DDyJh4xIfylKk>4){#^f&Zl`U!)=P+*v9C^o1J2BOX223htS zB1Hb0G~^7kHHQtghB-u07TI7}Y-ltz8(P3M|01t5Y#_E9wi34+b`kd&_7l0*A;S^F z2}8Hxtf9xyZ@6fK6HB9h)HF)EEyjMI%Xj2fcJ=rDSWL1WCAGFBO@!8&jr zae;9OvB|iCxXRc{TyNY++-&S1a;+W4PUBwV0b`f(sPUxnwDBCV*EnDt1c!`Qjn|E% z#&MI(IBLo_6_QLEQ_-XzG|e>WOcs;V>n--dunwFbZnpT5r z@5ybZO~fsxZN#0X-Nb#SgT%w8W5iRYGp6&VKGOx$CDX9!n(2mV%rrqHYi5P0F&CJp zenQrmi_I#t!E7_T4Q{5{e@|w8#GEwexL@Yk#!;3{Mdn)b9FiN%i_MMZW^)U;=AOLH zyn)zm-b&nV-bLJF-cLMaK0-WU?j~~Gv*sRizxks1viXX6#C+3y>l0cepwcqMJYwv% zOs5e(YMEitSWFfN=(#5cEisG6aKw@_bX%${)%RFunMYh;Sz>9jtgx&CTZ!u-Z?tSC zc35^0J1u*O2P|F0qn49Iu65dS&eCfcunby;ELSbpEu)rktIV2DECh?dnO2=;oWEKv zR;Sf#4H4rY%Ngq|YmK$uI$yony3o25T>dZeO6zL%W=p4aEy-=xO~ftMZA7Z2y=mQP z-EG}xJ!m~_J!V;NJ!L&+J!3sj?6Y1VUa}4ouUT(UD`Vhueir?Y6D9?Y3REJ;eRCL&PJt6Si*K zSz?c^-*%DY%eE_2e#CZ@c*`!asq9MI75fzXbm9z_Nu#lw><+uf9<X+lV_!-tE}OJ#rib58sok9LKCRj#G{^#Pg0m;swVg;;`cy z%~8fdGsSfsV~&Xug-%&gP%^coxI|TAAlg7T=r4&7lO?&5*(J3lbF9Zo8cG&}jrZ7G z(n4HQvaV!9NqfoGd)!{Ki@2v`f61YeBPxH%iIVP;v#JQk1|>Zu{UsOGj*`nISBN7e zH#LPNw>0@q3EzWGrE`jNy0*bN!>Q3W@J-}2IUP<9-%8G)uFe_L&vd4oRnBU?&ROT2 zr`Pd*aV~H!aW+|+c-@xtI9E7VsW&@Yo$HAkotwoq=Ir44b?$I>I(Z&fI1kucc^sTw z&ZEwgJSNW5)*9}q^PIESIbc2J9CQv@kMWJ;yz0E}9M!k+$?qI@$z1t{MpvP$h&a=w z6VGRtg-7M+GMi0wz#&rcDi=E_PGwa4!e%IPPxvw&b#_t7hIRrQ(VKYYpxqqW{k>AxE1aK z_f&VWdfcsY8!Y2)o7?U7yCd$Ty3?I=&(@uD*ShDp8{CWCjqYZ5i+hdcuzQ_*gS*|m z)xF)l%e}|FU)$h5yb@#aY-51@L#dyPg#XaJ_>AqDeDOGYrQ97k`dg+W( zO{uBW!Lv~6F<%sK_R?T!jF>8|B375ymCh?&P`aeFsdPo@s?yfd^`#q2HB-X5rRO-NE$uBG&=i&qa_l5VDWyZDS4*#paihjkI;!q09rwsIhk0#y z@;!x~BH~Ps&SUX7Jzh`96Zd3FTRpS5q^HJHuQhn)dlq_@dX{@ulDyipRu%EIc{UNZ zc($n>o}HfE#C@KFnnKTE&oSaD&lzol=e(znc)@c?+v6GbTqEA_jOpq;6J-irU0Ffd z)UsmrP?<_SSY{}*mAT9OWf6mdN1!ZOmMfbruI;kgvN>f9+J>^lWsQ1WS#w!S*_yI- zWgE)c%eHcaS+>1wSJ|Gj{bh&Bj_|%HJ5knMc9x=aiq*?{!2Ys}WtYVWyzB}%0^S5~ zaVuVlNUzd6MZMWO-8)0w>D72m>OrqVJ>d0tgWlMroC2#jLiSdB>v$wN9`?=y7jWF` zUE*!>uJA5_yb5gfuJ>-#PW5i~c2GP_QL%T2x6`{BOkjX91m{mv_A{1jfOPZ?AO~fs}ZF-$=r*AjKmNYNEec(agVc#*= zL5IwD%39+)<2&!`^Ih;=@(q)Q&O_e~---!1?f$KfHve}2F8?0!B=qn1AMzjZpYV74 z&-#1({r-#o%l<3=5&un&0c>vnExMb;TL$O0ct-~$0i|VtZ`;6>z;wQC12X~|TQ{Ft z0h9eez!5M7Jb_>!7DxrE0@Z=Kz&!uik_Ikmj|CQ3YXVCGO&m)ER#=(>s{*Zjrw8Z^ z3~UV085ro`+cvNx(8>2#fX=|cfj}2&js{K=PY2F@a#I9)0|SA(?U-UW+-GlM$uqzzhv&Y;)c8Vm*F)?>j;a8|G;SRb4pTHSh*F z#y)r@@MNM~QC?u(7Yvn8wH_-k=4hl`Wxe6-DmRqdM7i7z`uQ#>kCZ2EEyNs;Fh>{V zv%y-9E1VtWbIKc>9W0kG1{=$p%UkS@@-^k_D59XaqI^Snd-+x|ig0!@%eRBO?6LAa z_Hp{UpLnSJhP(E({lG4u@xkbzCNF3H64ZVXvV(916$7neeP|jju0UAD$mx7+xA)9$pz< z9bOw63b%zfg|~#ag?EN`hxdgK8VAFN!^gs>!e_$g!+qfk;Y+6F;oBLi ztcz@jv`4l^wnuhF_C)qa4n>YcPDHvRXCpn4{>a71<;a!Dh?s#It0FgzDKXO#bBf5V zs3fWsv%Kh(=yc+YsKz+RcYV}k+8K33O_r*tCmM{#qN!+Av^rWB*<-kflJlYqqD!Jp z(G}5EVxFbn6m8YFMb}3+QY_IN-E3%#c0_j=8jV%aPGc&%H+tZc)}vj~qvQj!r0B`$ zY08-3PxM^0mpBj|j1C!RM6VjBN3TamqvJ7IEML8uM<7-hD~in&W0jaLW{EjX%VXYH z$fAkGW0}~jSWT=xHebvKV+&(TW6NVJW2<9pInIf-#WuyZ(7i^Pb!;2BGqyXnPt2EN z2SHIj2A)DIXTbB8x>%o~J9Z&<$#BU^CcaE~r>zx>2#N zV#6oo9J8Vw+*+}{Vwad#R_v+RUvbE6t2k0|f=GJObXS}ebIb|@*aJp5imT`cFM^jV zu2hUr=1BQt#m$OaaS3IPltsps@hNf27UMJG)UUWH&KY7=++*nGd5H&^6+K2}JQh#I ztK!wh(Rf{ao_Qp`Ail(+i8sYp=-c9};&ey&r^eS?YvLQ@lzmvQS%ygNi0|+piFd~L z#t+21;zu20@ssh>wu1P%c&~c%Jr0C=`_*LR{aFjTnkR|dHg^8lX%!Dp}nsz#J zI{(y!#afeaCcKGIBA&=3W+iG8^@;iZW&l=9hEyOJ1h5A9;ocn)>a(zdia?N3M2 z$#gC~+cJ=@P0vX;q!*_f)6MCY^qTa#Np48Dr?-l$CA~epE4?SZKYb{DBz+>?oj#lH zN%yBOrZ1)3mo_${fv{%$znJ$ehdcW(G2Y znW4|AYbPOc%hIDLef zYZSBoTyw4^w!gmZ9nvA8D1*CBpeaE#?nD)A1>XzmK{ zj@*ct_2+KpZapY@P)YI635j&#-xX2fJfTq{z4IZj?D3LA00P|N@7 z{M}cmMTxMQXuHep{_O70iTp1Dv!Blr524n}um<_gah506LH`uw2O&QQ*{6sTmk3{j zTt$2m@-vE!#IFd4iH|5Mh~E?Dq72JEVHx)ky_h4kKxR9&!VAQ?kmo}7q0A$~Geo~4 zfHL1Az5>r*1e+AU29Fav?*0^dH+YbE9A#btw@%i21r}a`+zGi8Wwt=x0{txFYj?Y$ z7i}Kk))ir5GkjaFNE0^+o8dp}ABO%Vl;nT;ll1bt#2Vxy{$B5mB(ffaFQ^9>%CamWc@4kcb%&&m8DA_DLPBZmK%ziEGGz-tc4zG=ugeAmk z$QvQoC_K>f40@q|dQ#7F2jo@YBZ>$#E8!u_&p@t${3Oc%3?<7IWyEg^PZ6#7x=i>w z*OG5T`D?JS68-9gybJPq$eSP^BA&QAfVt*g{5$%%80+E5$@LJxDE$C(6eC}ak;e=w zL_gQVbC$!9?O+A?qC~=NVa@v#S+x6A$YIEfiCb&O8}3L|Kn=oMonLr?L-nAIg|f#tiv!)P0<7PLz|}Dr}HQmF2<$ zmeE$6HS)8pk;S2TPN4BrgoS37p?MviEQ1fvL7oEnKf%|PceuQgc985*ZbjC@HWg38 zW(zEAMXi%4e?MA$6<_bi*Za}OP5Al{zVA#w%0uF8o}KxqBI&EJnNA*%O(bJ&{a6a{%oQgI@GYi+*|0FE3k@NnlNa zmHBymmEfxcvr~t<65%q*zhsh3wWQ}!%f_<&S**0Du+pAI-A+D>6mJNNScayL?FbLR z+Sy6UpyAPIhP6(xOZXAheUndqSr_Vdq3&wb>P4;9sCAvkO<0XF9OiK&xesN`D8pme zr6dc&x0SFn@jLSHkL+!p4Bq|`_Vrjlm#}{HlNw$>a-kTt*yf{H17Cm-a`sa?#D2=Z z$mgDP2(_?Nq+9XzHul9-wkf@hulHd*ucFNFC(F?7p!hsfwga>C8peMI%I`pnKSzs4 zF#?5?Ye@!KhSkd>P&i4fAFS=4i)))t1Ck$y%wrOUeh21#2S)pGwEGjZ`#85N-^H4| z&k2xOllOJy4@t&c$g!5>!`ve2S5YlLEEL0nAD$OsEsaA{gmozHz8Ua82l*Mu^Kh~~ zgZ2MDW??@@?0wkz97=u)CG#+Dcd+;OW49U=|3&fwrp$=)M&)BfH&cET3_@d6Mxlv9 zc0hJOE`VGBc`oF+kY7OE7g)w9y{Vv;BYcl3dlPM`SeCa!qk^VZ!ROU4nX+0@10Sxz z2S4QRLatRhv77c%kH%o%3u}Y0=H)Vq2vhnN^baznZ($_gf*lvwE|x)$+LX@=6q6VI5;4|zfp2hgIvo*!DY)ux2|J6JT z3Ipb%8g;8tw-|L72!4`B6bD&GFY>vhbOV?#YS5RBD8CDw3r#*|t%pf6&l={AWS+I3 zqNn-rY72Ur&%Q}-G9~BWTRB?)JX$YDTMcM;m?`;C)S$&ZpbYEkH|UEDUoT+9jzjY& z)IARUag@IaKab;t{3cWSBJN)k*35219Ac60?2bA&xK6cf#M^kY?;tN^52=VWfMK* zZGwGPy5RXk=;;LH=doJEn`MGWRsK51Y*eccHx#eQzhE@_F=DU7=MS0E*HPqNd^Tw~}p=1Bfq_-sNSF*_vl&aD#nAj%xV*Eg|StFT-Dq4)}Bs7hG2uhs-yoUKxO$0PC@0AK+G$X|(tNMtinEb0>e9 zV_Mm4v_7U-PMRE3Iwor1$vUR=0yqMW3B6oWpom&}2xF_ni2Z-zH!O2q;U)fm7Lb{R zQ5ua3rp%0XioRhqcJXLPKZ9GzgRfT*XL{Ik$!&o$ zM`=6fl@i?hlD9D$7nzdVXzQC`2Y8C-OL`w>YAus2aF4#jB$@sB7E^MY$53)xah~ln zWm0ZSj&YW~#C?$#qV-O+en!-w{D@)}%V=>I{P_TVS%bcOfO-5t_$~1d*p(k}E!qXM z-~;d9=kWDQdGq)*W=f3$WuWr7Faep$NW`edh4Q$O<&`{x!U$%w5;JRtd;&9T#+>@# zm6^vu;lpU$!D<=Dj9f;^Kcns!ptrz6AM_UJEwG~ipM*6FtUZanV8J?h5+iKkQ6>2o zkjEj9L*^COj#;)SMo9h|Q)Zd?8@2T%?2A93-7leE|1J8@BTSy(r1BEZq2zzUK5fF+ zAyLNaRe|tRx(#2?SBk(PRb=wH}HKsHl8ogj8&C`mzB;z)b z>Xj{2tAi;O?~WIQ0LJ_Y_{KbkQF4jI_?R(1E{u;EFlD!y!W*KDdHD^uqVx-ESc5(aBDpQnpW&MV7FwCoe)Qr!XnqCFdnn%pZ$FFi zc@N%x7Ihy{%qPpEOzBIg`x44OjFK;5UySlDmYwAjfOg8er1wr#NjMYd7`SPIPyUU0 zCy+Zw`1FA0erP^~=6;T}N#=ab%zBxdDft+=*d3Jb057thG8(Sc#p9-I#^`Op*B$s; z$X}IThQ4Sr|KhJj$oHQ?RA0m;Nk;4ZmCpQSIJe)&dAJPc8)U3=ocwgQkY1)?O8x?y z`Je^m6iLi!w3&ygoiNx%OG=G_o0?i`8HzXhxwj@Z*M`< z4$WJLw7)+Yt-TF@h?1MAI~QEW8j4;XM(i<#T7QQrOW|uhzCO=ig^R40_M#QUHgsb~ zA-@gzVLo$k67J_5N|=sJDvYdZnqpj!?uhG!Fdt0K#?6ngouMH#hz%r+GtGwB9=h2&{WX+KJKqvTBN%>lI7 zhZY~lt3m-&at#^1mMP6)RqLRc3yps=bLSrYoGD+;R9=VNKAC-Y@H%A5?UOn6E1VHC z%EIixd_>J9&G*_>gFN$M9%oBB4*wU)+qP#?#`cw zvt=uy2sK9UF6WzyKVWvA;=L~{;(JgL=2KevE|-e0{i1)_KL4BL+%pC8Ltoz;0@rP$X=K*abK`{>y#=gIXV&Kz96sv5$E-E3h_t|<6Z7e zWcoS0c|L>pjV5IYwP<3}={-z*PRaS*pP91fpwZxk>NfO;n6xrUFMR{I>W^@Tejh6{ za_0guo@XchS>;bicHk6>PjJM$6Fxi%ALc;c0)6JrS!h0u$obPeR?0u|?uLZ{csmYn zkHEsqu+WCnektsn!n?;Myj-pW+tfPoUOe`0xgNXosc~y;v`Lj#auCE$T4~m&DgymSq8ye-!0q`1(c6 zQ4jRGykBB=Z(N7gt6;wv-Y&s-{siNhgP-Dyt~rmhs=Z9!%Ql&^nGB@qr1UM`>0C>w z<8x9u8)xYR?EDom_KS$M9^hC}nHEZT=icF%;eYWpn#X-n%ZDe4{D@`Q2BuV)jOzc2c17~8 zZ$fz&$~56L(2DUb%82@HJU;SgFiL&wp)8HQ_|TVS!biwqKVta~&*ptBD`L>xhdKQZ zKGVqOUc_v@JSJl10!<$@?;+CuEV8^29&^gDn5$uPCeJu!Nj&eZ&^$dk%RD<4&ZC9% zoV&@z*R~Ikq0}Km`8Ukb7+xVh!YjlWPQPvN>Lp~6*O3)=g3GWbm!kE5+~JsQ>ICnX zaqQMXZcBOtd*=%Fj*?G5`pSD&jx+E=9!J#wU@Gw1AbS=z&73pJp2~ZOcP^7w^+U+- zK8<{q`7`+NK^`(twDJMkEyqjscbF2K8xouw@~`3EZ{$@Wuf#1s!V$i_T#RWk!Y2^( zPlLC4Tubo;R^5LiqhE`>V2EYOM`-a&XmK0#=TT-o^xKp_KwfqquLR{y$h>n`<7 z7tafBu|?1yPT{L zniw>N(0o>SkZgXeNU$vCWkQ-XUse2uWt4eVn8i1&u!&`89)_KVVCRRB$MBl>H>UJW z*2o+2^~*wrzJ612l4aQcFV@HputvHcC7(hq@%O2IZcE6Zt^P?5`F>x;@48YIUU#*k z3~R0YRdy2^yyMAaD4$@ByozPzQ=%-s#Nulw?7SnsyTZd^_D4RAW#Nt}qx|FOT|fFV z9dDtFPT=GJMjM+O6pKjBfcBMelzcA#WlsNEQ@cOLWpx8MHg`%JijBpn&Ndd z0PezT;bx5L3$T9)kz|rz4)ZN|nVbbpH#B%rRN^;K#ecA$!uRpQ`4lvN=ij-6k8!r+ zw=m%Yj7&e55fHsA*CTTN3gTq(SK|YCt1Rc2RpER1#R2c?vekIud{%r#hg>1P$st1^RmEpNIZ;n85&3`a6u( z(`f4n_^=Z`JTdv}vm03+mwXc%Bi?Tp;QjU$aV_B&lbO)qHJ-B90xl^$%<-Z48x~^M zT44^yW5P6+ac&@i+zZ7h zBg5(RGCVns+5aMbuX%A&&u!s7Txr6~u!&m{c5^Fo@r_~;+V!E`C^T7kp2ev?12a2; z-aU^p(@|zR?7z->*@qa7AHs*%l@wRVzpLc;qSy0UAm4y*Y@u;-zSzDAr*}R25&~!9 z{o$KQbdXjrWBE48Zly+wZ3cLa0%&<`OKf{aqX zm!g$5z+ZzO+r+7r4{x>}e1^f}{VIIsXTjkkpgavq2UE0X;Vth(8bO&;@Rlcn5@auw z-ZjV{Fuu>J{vGuE9yCVnmPk@E5{IF#qVSAt!JiL2t*SxA>Z;?}ikt;#A+w{j`3A?{eMN zL;S^wPrK>ea_Yc(geaw0wc%Df^~d9BAiQ3_dZ9n>L~loe^S9tPZpQvB!_2&blK@Se zk~hmMwFM*kqRGC&7Vy~$xwrti8^!O5o+Qho_gDPZW8v-0`*YwIxVIh$xwTC36yGG- zF&~Hj@H_S&Onm(&YlXL9%)>8v)yzL~8P6jq^GB9_>tW9IyzHrF9AzHHo9|P2cX$|l zJ^;#Z@&5Gz^}Uq8*i_)#-JkKDryE}a|E#_Qa=Qzdr!kTx#fmAM_d^_G{|}aZBM$!e z@Y;Fmus`nsCCxk5`#$XC80f#jZi!)re`B2?$|+6_`4#D{*3YPw0H?-VQD!e{J%nAc z7h2*!v1k6kDZM-JJ{gNun*sV*v71=Udq8;=lrNyS4`8L_>*ZTeG>hDD!}|k3B9vZ)xCHW2404(>M+03yg!Z5oLahGWe2deiZZYYsl{z zjHn&5^9j-LW`c1}XAYJwy8LC;f^yOmSp!5;R?EO00T2YkacA?eiyFzj_2#gWKI>{S;d3r;N+5 zT^P$%jIkR!Z65Gi)G9+QoVz0p#ynp_TjMdVQmjHXw8YmzZ$m#nhTJzI_hazZ?uGtb z1E2OjmL0v-!x{j;$mr|&7c}pS*z@wmxCy_?Jp&xSJJa6a++DyQ!$?N5A(aQ^&;cYpPTSCemJN4CX{*J;`f~vjQ3SY;s?ENqh39Z z@0Q=g9`42%W7wZ7Fw)Oj+{5Xh!}lY7%alo=Oqbu;q30Lyc=Zv$AAn9cim`jqp9?6t z!^3j)H)x^zQSu~fKjS*@XR`i}z~VFhB)%Iwi!x8}30w0$=s76bQ;@QtR!He$+~hn+ zzpB5cck4HeX!wiaf8&3#!`ROMri8KAc+&V0-y&@M!uX}}ym8VvW&GB7iSGtB{>bQp0nTU=(8 z_Z9XTk^3fih2O^4@#*;81LxZ0j z7->-cBBv+h|=816K zN7_qUp;=lUQBzt0&H9_P5!yd#7 zSL$EXYxFPatMpoZjs9i*EBab}y}nt0N^jJEs2|Xq^h5fO^;Z3-`p@*|^kd$q>`MF7 z{O=3cOYMj4YJ0g|W3RR!<-17j9rm|vL_g5~SI|Uw^`IWpQ`DEC`fz=eK31QgPu8dE zGxV9%qnXs3a_Y$peTiO8IV<(mdL6aBNpH}%={xm3`hK+DO6f7ZO+TfdCAgqpA_?l! zZy1K&YS>2DaBh1tMv+l$j4(#`KI4cw(J0AzrWvKiEMqQF7vww@#$u}L7)y=iMvYP1 z`>ZuK81=>$Jll<3B&QCQYc!gT!^RQgILYa0;#p*zGcFpJ4chlN_Zs7AXViK4+gi~2 zBeP+F|kcy&}bvxh-Q` zZ;laeT*f;MCC6}ToJJb6GL-H!S%cM>d@?5pyae=OPR-%wS@0xW+lsVXYH@0vLYaw3 zrFkwjdTXmW^*@j+hJCrKb+d;I_{5W4*JGl5j#0L zfcO)xRh#6YX=^z(mT_I0r8(Rm)ZK~n1gD-t)IDH6gS3%trMV3)J_*j;?p{uf*+}b{ zuD2t%5_~p-!(rehNMp=F?*!heQtr=wPOUYldxcYTF6cqc)#wG6|D7RC4<8G+lg|Ce zy_0`m_f7^hJ-SrWqRRA1ltLA5pA!P7hMxw7u|Rl;4+(|TcbOo zyQBM}2cif20MlBcN24bQ+M{Ox=c66bD|Z1d(;4l~)AGD|!5rZKj^(BD3JHeh4bK~u zH#Tp=U4Y9>&YPMyBX4Hj9D@0I<$%h(C3)2ZEAv(ZughDXw<)h7Z(H8ZyghmQ^O|yi z|NBs0Yu>TEw!Bk!fwOrRz~fThRX|tXjhGR$V_^l1JF!fxCw^~-`Vkb z@rCh4@v8W;_=@1)cRD)5#L2|ztPV(6wmZ*V=q_@r++}QE+!gLBrt{d?M!0L-b!2@czq&FE%##k4#PUpEurjmuMJCj3` z;F}zk9GjewoSdARoROTFoRgfNEKgP@mn5r`D|vn~r!<#5hso8^t;xFNdbVT9O=N%6 zJSQ8H!;{;RJDCUa_9XWwo05mv?)2K(+%-}>!8dDDlr7+Xv29GYCXXfClBbeqlNYk< zjPkU0y!OdU$*ak(U|jXKisz0qq}* zt*?!(6i5~4?PP#`%-U52sS$Zs8G3CbL)JFt+R9uTnYEJ&QlrTZvMprWNA@r^F1DBf z`5=I%>GA1F=_%>y+;8Y4 z8bi7)Jv%)wy%6>8rh`==vEHGNv$~u0a28%q*S(HDO;@SE%SeA# z+=4swWUj7c{g~B}Ir@;xf)AIWJf4H}io}BSs`MIOGt#)_!#7Oq|c{2;7^cFOJ7NMa+$18knYZC8E+=Y_CFKL zq*&Kw3Nu5QZ)SLA6a&j>W^86cW^!g~W=3Wv>*36t%=}Dwrjm6i>&wiNOf~AR%&hM9 zm)Pe~J_>j#9-Nn{%dF3A$~17ldi^@(8^m*TFd*y0DBpv5fycJY&di?7e$-R-xjg(0 z{%@Ku%mI(BDRT%k_8YU1^%HYp0KOplmi6g!{kkl$KbM8RK3&#F>&G|CvwmG&rTnhj{4DM()kPUKCt2Cb9Lu!f@2Sk$%!SM)>{s@Alw4)5X1X#r@(qT3J3pN7 z6ul0PlKG=Em^e$StqzW`8?znJAKe`)^m{F?mQ{I&TT^6T@r z^e1opevrRCe^>tA{Kov|{KNT2@{ecbE&pWx>0bO?{zbs${A&y>d->P%dkU-qKmJAw z+^h^16ch|87$&!@_sSp172mkd{VAAUP{ulo?^|cvlLhuEar=5z!7?5*ZeL$hu#R;X z>kqztoo!0CeBYbcc|YPdcD{?f1GlhuvtPisJ2D@hKXn&-A?ssa|K3~J872&#%yZ6j zH+U-UVCNgy`Tq4Kth)zS4_=A#Irp!#56E}0XLU2*#GbWFxR3qV;5L3A;oI2xodP$q z=iJB6^T>Cy^ZN+fZoZkFc@&N)#99}QE1bx3Rak<%+4*L6zL$M*_D*)T@5ozQxPfJk zaqhReryaMnbKeV_<(_t4b9GnyMIKk-<-%)xQ#;>8$vUA|=aQb}``X!7_TJe(=AQAa z@9vp&&lJ9=o%b%!SN6_!-p{-jaBF+jJd@tWRq(z>YWH=}%(gz%RL&+z#O z%1trF69DDy$o)R!o)?k(Jx#Y>@NVa{hksdpVNfNXm1Bx`3@9s*y8`$G;1dMrlAZul zJOQS70-y{AWiV6B-!pFhUU1GecZ0GU<G{V~uV1CCX&unH#Xny72e20j~Q8c?PI_>Y1A7^@b=3PwTy4CtQ$9dm17 zZY>Y!9?)-qegphN;2#2xU1VYxSqYR+U^S;=HK&69Q_z13{Bhuq13wM?H1G?+FQD#7 z)Ex=_e*^!&q0Cv7ISc%az~6{6=)Z~nn~wm01ZA-QE$n~me&F|me;xSOfo_3rq3+L7 z_vgU>1pH4Z|2C9=8_GY3@(-fShfwB2ptpkF3jC|UzY2U1@IjcvHJHOS!UwDWG30)X zDf*uo*Z+)M6Lb@`AoT{M-uyLM{I!&44#q>seF!BBfES=7IGf!2G*quo!V-A|)$ z;4=t(29*LYMfoupFKT&E%bJfBc?JBR1?Oi`%Rwy%WiFy87tzYSsCzHy=!u1%n3vJ> z%b-sIeG2IR4*I`??g!luIwZmriC7`F61KPpt2SBmyy$bJ8&G!x%6}C2N5Q8Nd>TQA z^|W9;y^Aq3i?M>RI|l5I2`y(r%XuEfSRMs^Jm}+5{tqbs2k^uyTUg~mpU0eh9&`hA z18vPhTeCo43i?vf6&Tld!1+6}Cy{%Pq-bk9+S-m>NR|c3GO%+D>>TeC;Qs{hZvy`& z%E00qV)0>>%*RB_q20Ga%36`;VGbeb79`zz3-Gr9$9}M6KY+gl{+{<^e%=py8|ZCl zYZKbqgtn^Dhidd~J^HpDIJ_4xyccsh$}a~F@5>bL>m~4f3G}~!{ukhoeG{^8Ll4`~ z!!|6e4GZh}0s8g>w1v6yVy*^3S_g@=?gIZ^C=ZGAK;pcp>qT8_E6QvI{uAIo0qzCv zMSq}GOlTGJGnmQg$ej+#$C3MS;IJG^n(fgU}07*nbo%ge>-OKUon&a z3i>?I=K-Gvd>Z(i1fP?@&jCM&x}QSbPXR}HL(0DiW!?lF{)`EK#(>Q=U~{eSg8z4c zzZdv>(SP_V9{4JrZv+1}@Ot3&;DgmPu$l&D(!flbm(bQF#`PsL?)n!$i(FtF1M z>@@31wEHA**dPlw$a)v>cY)`A@Z1mlSHOP-d=KzF=-Ykh+kK$F2KsB@GZTDf0{;l` zkDv@Zd=nnN7yP~8?}g9fh0inS!`M+D27l~o4|cT&{r8~%UijNy_}f+|_;&(_9k*b| z%|D{8KZ1^Rv9K2Y#~oG@!S z5cqqR_S^QD%7AhWr%gLiz6x|N*D_Bs?wyG;Wk|<>{}piS#JQ*0NbC4MR5QpYt&AE_K7#Z* zpLCX!Q`)yUr58V@p9W<=&QduzSG62zxyjKv+buptz7v!(q(vyX7!-n$z~|W&`0ybHwEA1yMan?@>%5On|%InHrC+;HDm<>+JRRCcA+i;kgazPJ2)9v)^v&=Q)J>t@bhX zwArWdoF%NyzCduPpXaLGMPtZ5H+)9+>E+wd_wm`ju+Q;jd`0Rh_Ki@_=sTWq_9ov% z^_2Lg(NjvJ>+|?#`R4i-&{ILrVmwQI%YBROv8W+Wjjy)vLo+`X^^3AI>szay4ZeDM zwh-J=i=OSiUB11&Pld0s_sN!MzT-LUJ3?bU?mMZT(~5qspHW}*UG`n;eYjMGz20~I zwx`E;-EaBvKU(uTe^lsx*Iz*C5MQ%@n0iL~$N0zhee5p(B>xoubbpzDHlBGHF+Ki; z{zd*OUUmO6yRDy*H2YWhSNYfUKI{A&d!Nnf+3Mdx&u;A8a{oU60p1J#gS=<_ExbSc zM~Tk~jP|;}-QR*jRqt z4S{Weoq;_hkLA?MOM(5^3k`v$z@b2E;8grE_$gW;eP%mj-d%hmD(i-RM0w3I(OINIM5 z97od1&z|7KU`cQqTBDYNrL-d5SeNs5o0JUB0Hi=$zY5L`F0i|T6(WBufp$}HvA-oy z=qn10qJ7pJTpC;+tg-8YwRWYyEVwpUr^!HV#x@F@TJu+qMq7c31=fKH^AsPtNzt+hz&sqEzN)bNb(%hw}tds1?;q~E_q&tR% zH-#I5wc%~P>*1Z@J@(n~{%}+HP`H(Hj)mL8^TVgYXTuj*V#Ak$HQ}rN+2JnYe_|A`1TRK1_S8s`T^A|#M$Ba0(TBg-Q-ky_FOO_aAbvLR9**%I0A8y(pd*=2V{_C^{b&5^^t z#gQYCe9h7E(Mk5P=#=Pmddg_cGSS)5dHw^@g`{!XqKl$czD%$rx-7aPx=NjD z-0Ytc-ReIOEcIWB?jTSn(|w24N%R&uh3@a*I574bt?BGHTG5_w)7!%w@qRVFH|;v` z(@2Xs*Jx$B8Id;?rszW$H><#5sK&Quz`wQb(d2d{zO!$t;7H-Snn!_8>v@9S&n#6} z!UomLVO3711<*@7u>Hl==UtCGRQCTt?f48~+z@i!{$3 z?wia8)3vQVXR!)QpTl!btHAHjYthPFw4Pv!QP+c*9Hw}t;BDe3+)wQwr)CguA6PGK zE%?mDT)mrnsI5X<-At#R^GJKZc`{llQu_gSm;xVyb(sbH66#*WDC&^b;D+u_;I`b> zjWTV(!#&^RXd+O~piBwUQOG?E`c?F88?O|tIL~3T#`hxqMOH`6Gt)01ZN<2@g2N>2 zKnYJnX{`q_w{oW)4-6{P2VygKOf9-b4LjVkbA4)4UcO3?Fj*hL*` z*HvN0xK=IFB}glfeh3_zF#{(+`48ZOQFpEENzqZPXS7XBF(+b9@V@Wa1$i7T@`xDe zW?4t<8A(C0GDz28e?s?q9PHaOJx8hTYLPFrcmOjq4}3;|vaV;d#wR!skB1S3RQYXK zos&qbu%=a*AEs;ur3ABAhw{as%*L+Ud6RGPTMzu4R)$}D8u49%DK*#$yRb8Rl*SYJ z@?a-$-R;2Jp?|J$UC$|n`co|ZL~a%IXEpQjK=XS>GktnZf=pJiw!dxBfSqB}?+GZMB!FNIGvj?`A z?NL3)t5ZJ-w@xAV8d(+6>dcueW(2$Fub2(Ysx}2yp5y1Q+~k`?8j#zGaeWH4R*Ovs zJWL{tE6ju2x($(-TMgZRpTQ&-o?jTAoMeZa}vay{h#CF=@fcB5r&cC;B zUgVQRXKQ+tv|V%|{as|`Mdw8q4hR+zR1qwD9ay1Ym4Y<`gmnZP`+?00wi4_ZAnYdC zr{I8sg9=*I-=hR42-*qG^aJM!ItBn&6pu~?-O+`4S|9NC1HnEJ`(Hqcps*hpN-(@1 z7}W>H4iF{~OeUE6Ixs`QOa*fW2=fWb{|BffSTaDUCRnLpwSqbY>($>)1Puh+2zK@Z zdkFRq0GbF65wt2eM$py=PW1z4`@n_&1zaMy+7EOQ+~^1T%yrBdAlL+90_Syr^D+cQ z3NIcYjOc&wfCs~9f^h?ci3BAKv1#~QngiJ~v((?Y1Pcf%a@xv;#p>_U0l;#Cnm+Yw z`@q_MU;{xt!4`t;>hG@C>CfxIUV_Gcpqb!sKX9ZE9M93+x%xJ%E0rFLos9PCm)Pm( zZTh2kkL0dvcD}Q7bS|gQ7jN%VuRh7$n_2l)vK700YtP57-M**M&UJ#G=)$-~;3tTR zeTln5$C$`Q#0$ih#D@?JBN$0AhG0CwB&FMFyzwan)1%PO@iKzh1T;sii&>}hJj549 zp)cc$gm0YeUYu-Poa|ei+om?-+}1`lziK|YF5AiYW@W<;+?r?b+A2IaFHUvhyH&sX zu2Y{i>a{0ootPKf#yHuzIJFT!m{Y$)){g%>PBt%2_AXBLF5a%nROP^mexR>i-rNuD z$g!`vHZ}|GIndX>Dtq~VvXiOk?Y3}e^p*|Gv3Kz^vM=Lg)8icqr!|gus{Km(BTjbP z(d54!ulh^vIWdu2CnfU4<8r7ihuU$nvXPa8tX?Et>Wor)uJo3SIAcYBas6H$*jKjt z%2igsDA@v!uEMK+>SXKhSNeIZvgvg)wuG%{lXGB3KQItqa7px*PnYZ0Wno(m^!4eoKHC4q zH@g(Q-T&%}-txP0ZCSahd-c|wWMwO%_Gf~8s6-}u%jZ#Yl^}mAQLKPuEJ1k*l9vSe zI*Aem(+Em$-|vZ83g(J@CCJxFkZdK$uSqQJU*1?ZCdijbkS~)U8B46aC2xrhIe5K- zEdnfi3G!bOyVT#kw`4Fua+DxBOB~LTKf)77RDX_(&PtpV+mi+MDHF866X(>J$!ADh z7Tv}ABXLb^O16B0?0S-a$tt#rv& z^81KO_LAQzT(Xfa*?O1kq`O<@(Is2W?;~ux-2=kIJt*t!wuoH0qz7EG)h>{n8gz9-3kC4;i&NwQzbl#DA$b|*=DAURxgLa)xH^-C&S znWVK!l3hto7JZkbc9Jt>@A7;xo}8)nGwp>W?f>L_nMX~(*~R~syXNPV@CCprm8eWj z!}(amW2#6@oX}Qrmx#4gQI?1-Q!$kiM~UbUiJFv1Nr{n^xJVTd`B|hmF)NXe67#5{ z9VNn1VjCsG2$75u!zj^M$rX>CaXSO8{QN*#1g6~LiA8Y z4kEruMGNBWy+jB~Y@kF1N<5%M0;(85j9udXB;rrS`bm_Z#P=cQMPm9Snoq^?A%aiE z?jdSV#p@wbPh#{WI#0#rAtFy=@gxdQ;_p=Coy6QB+D_u^B(_eX>Li{{BIz{w0*kZI zDtZo4HWD!>v2rR(PU7Pb87DDu5)CJDa1sHhV&5d{tph0{-6Y0MqT5tln?$t9JYWu0 z{2C(HRLq)0t4TbX#GuK#$bOJmGnoOLjhDzWi7E47ED}eiBFJPvAZkqF#UxTpV#HK* z7~;ZIL>OYhBnnL8zih0O#C%D#m&AFg2rtBTNj#TCZ%N#iL~Kc{mPBbue3nFJNlcbR zV@VvAimpOjl|)oYER{r2N&J*VPD#v^L`zAWltf5LY?MSrNj#K9LP_+KL_A5XlSDa5 ze3Oc7l1LDdQ;`daRFW7aiB6Je3yGaUERsYaN&JzDJc8`2Xd{X8Mud@yEy8N5cp{1O zl{g^uMB;`dVn||zBuYrd2T5cQVuB<@Ok#QR93kBad@bdSXKsE8iK=BOwh z#P6uc9idCK4zz?s=&0BnMCGV>9Erq1433JvK@TP3Mq+JLl#N7kNo0-0)F7Hh#nDIv z4dNFhYDVH^RHO`IWF$I9#l=8xNGyzsf{{oxiBgf67f7hYxk!YI#I{IOi^Q`?B#Xqb zNc4)ttw_X*id7NKgZLDQOi?i@5{)ABi3k*lJ&~vri8oP^CK6*Jy+T}xM3hJ@iA0e| z{D?%3NX&?e7Lhm+=oX0$QBfh-t11#iVn8r^689ky9}?>!Q63WCA(0&t)1jg{WQT~> z5=$gD1v*CyYCHIs7_&z+w6uOzf0b0_YkHSv=-v8XHA}x~kdZVzhF7zVfDzREM%2jD zf=0q{wXl&f^0lZj#JE?B8N-Y>YmV`R@r34@Q_c5kNzV$;7qoP^Jp8bhAO3u}PP;Gs zo$wy*o#B1qA8HSTo5KI8Js55YKdXHpd^G%=_W#1aj{G-!-vejUb?v|ZopXoCwaG-) zOGQ&pRn(J-sHm!@n)*qeieKV~c&T5id8&e{im0lnN+O~%Ra8_(MMXp=f{2PtL=jOh z6%`Rt5fOAEh^nZ$=eO2(oqOlb7>r#V!a{=4?tf6qQ^X?0soThpnLHIp^3 zQKM?MsM&_{cmC$=X{B6!f`$Z52$~bLBxsX$zk#3wK_`M+33?FpBDjm7AHg7kp#&oc zMiY!Bm_RUzU>dwY-v|1qTkVqK6! zkR-?@s7KI%pb)R~<`NVTEGAe+u!3L>!Fqy?1X~EU6YL@=A~;BJgdjy#?Fgz9c!D|vSH%CXD)ApS zCTK>`f}k})yZHZ&1UD0OA?QYM2SIOwz61kH?#!QX2*L2I`zV43vhL#vCT88I3a`Q$ z1hWa|5iB^3`x4?1fta8yBcc_PfZ*C42^ zo_0N4FL#&g=LWf(0OG!60qt%9~e`=DdcIp`Yn4DJm2(A7T}91IIa24mCh8{|CYmIgCt4=jgliKwFeEy##Z=Map6U_w z&FFG30u5d6sX9!jE&<(^+LTUJa~$d#YC~yF?|H#w(Cnu^!v4)&O?2bnCdAp4Xb<-- zY*B>b96`7`{5Noo3HJ=T@En-hrcUMZcT$v}pAudGKfgs-(8VtxKcnFOebCVD^{KZKbGSV+UHmcAspZt8>(uWP9}@mq;#0s!xQyX@ zgl7uPwhf8?7&QBN4DPRooaa|UZWm96ELZO*IwGvd*lNN5OPa@4Dmd~RvD=lm>wTKNciE9rReoUAC#IU zc2(jI!W+VMN=G#lM~NO4HX^(l?lZ#rgm)#n!u{U~uSsy<@?!Wh{2$=7LT+Wda=5+x zEaWfoUP<&q*gS+~dQnLISn8jN`GoHeuO$2@wu_s(2lNY|2ZXnvmTv*w5IDiyOMDgd zS3rLs^k+eT3tVc$X+d%x10E0tsEcmk&wjXkz@>&14WL;A<7-hP9K#~u$qBBD9|3&u%pP)nnuT6XH9~ zf;G*8^~|g^X(p^`Caf2#t96YsmN1&&Ds2y=7XjPDU~3p`3!{@BOYSB1FsAAGSvE1& zX|}8Ny@>5?G>%^3I%Yj?sV9Jc1w1MGJ?Lh@1uV^QpA0-P_W1-tJppQ1;n2+Y0t-7)4CdpmIV)Q^EV{_hm$Bka3~ ze>Gf|!sS`GYyti&(tVzAUdkXI#@7_TiKhqgl)q-U67Jno)Xvpd#Rn(b>7-slS0P<% z^d^&Ux7i{W2JLK-EebkN8|V=94hGTea#%1bY;TKb4%j8^5%vh$1?@N#--AKom!9^Z z@Y^`7T;$4e@YOpQmI>b_6U!jVNjrO+?Pj~%+wHgQAUoMl^-uV@e!gGepY;pm}z)OIa0lx@b2)r72E%2+rZvbxrehYXj@ViKBC-D1l*$w<5@P6O}z(;_O z0!NH%1;8O=^(8+idLVj$^8RG>q@T;BD^-H|>T~LIaXAX21JMDhC&t-jT6A2=o(Eo< zRmvBRE9*R%$%LmB+@q9W6{1Na! zvN-o~7XSVUeC!0gH1;-CQ`NMSqgSYZb@o3w2P7L;MpxQF(PPnLek!D=Mdk_lv)!T> zqZe&=#`K(Xn68Dx(P63u#`EFwH0Wo67XmMeilQRoJkv{npNGp*;AL=GuBxl*#CfI* zfnUPY6~L?EvKIJN;EnK~=0Ce^hR-da-vZtWT$<19vKzPvE+2y44}1XlAmaH5_#ePW z;C>YNpKv(_9I*@WmT?H2!@1&JOO|-L58}3~EdB2r^`(FLQ9g0+OLS2!pnj&RPvfhw z+rV=U*(2(q8ql3uG;y8UGjW~qAf!1}<*HobI!nhq;HP6rXS@*jIp8J0%Ya`5E(Bf; zycYOX;5UG`0KWyi75IJN-LWJx-Vb~L_z3V(;D|ACf^o>0$~P!3UwyU`N9EZXZKa+` z%4@=#d4vh4=TujhtIJd+|Dunhk54;LZB-j#sTNR%^5W%Z75P#7%g~poOAwa1niZb= z?C8DdJviTyJM?5hfGI`n*ZOYK;@=;pR`_cR9a-1lO zC#$RIZJO6r5qboZu?y)YVtGv9#JUHPmyDhVSuKO}> znP+cAZ=5u)^e;!{;Lh@Og1RjgZ+81i|1K-1UoA&oPZ(!*`?#7{rl;^z_F0*>dP0A3 z+u*p+R=6KL5*>jX%gd>LMqNrPgxi&}ci3+$=V$w;ROp}fPpc$P&I51+k;}ionlW? z>~|3TZAv3aY0zrX&+&7VrS-@YDnV*kexAzlPf-poLk=#Z94w&mn${}xbdg`A zs?myNG0j|_qnuqvIr{_QWqujCzu;e>ye_Aikm1#g3j9ly?@K7(D^+d(N56_ALA^lws5w)ia+!(09>db*XkQ;WE>o&3M!cTnkQwM3<(^%6aOpSYF-u3bi4J3ub9 zdZKs^5eKW&`sriJ|51OGa{f<$jB;M=iz(+RpQ2EakCdael~bPARjL+vZRlzXURMXN zF9EM>fY+CR*ENpgb(qEL1g!+;QyR?cgfH;VP!5>mwZQQNIGzKJR|Cfr{&~NYT$tkt zaQxCNjwitJ9B|x&cuLJP97IjZe617272|M34H`iMV5?#%Z~!S@9Co&&yn@Vy%N zo&evI;CmwGds;(T3&kh2w4Xw_W>Aed`5Z~*a#~Aoq_S+HGVr>23$L7UmZuT*Y>iY? z8pB&bdth7DQFT^bRZn%N>ZAIr!5Lj_1NaNe_&fVvj3d#=)s_6~NWTBRJoQ7R^%~II zfw|90e~0=ZX!$boTE>*;tCUk?R3VkX`Um|ZO8JR?GL`dj|2XyEM){yxP>oz?``M71 zC#g=J@&&}>1^!u*(nbC`lBwtY^XL~|BtE_5Us9J-dH+a##A?4reVXcdt@<}=S?g)- z&;7-fe!JhRzTk^$C5T^1>T;GTlLh==mjQOSS-@_c%>!nY$tmwwUl1=F5Axz$~+%x zN7&JJtes#d*=csBonz#*K6NZi<`kX1TepfP61@%iIe3zs9Y1 z8{HPS-R*KkW|KSUj<{6dPI!;g391J^sAFpcR|HoDje}-Ei=ee@VAlohf*XUIgDye0 z;Eteo&^H(u3<-t@qk;#5@f2cWFg2JF%yvhDdBK8UNw7S_zp{KR!_V|RXdSE!)|x|U z{sylFn*tYXP4h9>5$q231&7l0lYSl?4Hfe@eGkL1Mp!$no8fmEzK8Y0hGCPidFI~I zjSJg^HD!aXPM- za9TLiwhZTF+9q@}=wAXuABma(8rn+qZE*QBFm!3i7tH!{xI6-kuj+Lz(9nc|8H*5eQ?dggg2l1sx#~LTU6u3SYWo_N60mLv*O z9toF^fcwK`FYxyf>L*BRFymsl9J?D&zl*2u0N;t2En*mfr$>QNI{gGN^t-4Tz@LT7 z{het3u9{E7U3Te3GYurrybl-oE`KiYzr*D*V91+> z{t~qv`2WHMb*i8TMK=chJ8%!RqfwjcZQyUf9hxVUeCvNbFtk~yui)u*sJkyA?6=?! z?LIU{GQJe<7%P?Nr~DCIL=uV+19*~>T6-B7x-k^Ep}vfAb%#6j`e?*#kaLZkYiVoH zy90#@S~0gFk*XQmI`0oYh{U5{Xss zWXUA@tLTTIrSC=SlYU-J2A%-?7vNt?Y*Cc%XB7H*g|-|?%R-;8M}n4-s{x)q6CES` zTt=R2qc7xAG>dDO@$6DE(=vW;XinbOKS1^VYyWGiugCoFR0F@kZ&05rCu|(JHe z6NPR;^V+(&T7RPOO~`-qxQ+cs+#2)a)>s{_@se^v<&w{O#3>1t{haaMtdg~&lC{mm zUa_2I$8qwM_MC;3_8eEk+39SLpLRekb>g+jDO0E@7dysv*Ew#-XD3$PA+Lw4ODvIR zCti`$R%cY3BCV|n+MRJM9M74=(lX{#8-g3oLOdMPnZ(mdh3X1iZ3)_+K}=^-Q+v)z zP3<`=HMQp~)l}JdK50$uIcqhwr<`%4qA_eQcicGL&}GMs(+xj^{Evvo4K78kc&5X1 z9E~|nfH_Vz%yBNk94Co6PEE{laxurb9CMtynB&yL9OvJ#H&#D0)7ir_9e+Sw>p!CT z&h?aDP2bPo?fd(I{s;a?{vJQf-{(jBpZf>=O#eH|t>jg5xt#7J)imN#W#{wc+&rB! z6jDu%qHB6QI#tb5bb_?r8cS>Q3WTocxYQ4l+(HdfT{HYSlU!Fc-TrZJ(vs$`-6}QZ zmgqIwRG5>;x87S(8+oe7S;_bD@pp}Tmlmq$IZB}wO3*g$eNT@IrAN!IvHb8(^x4g8 z>2$hfI;MucfJCRF_qVLCxo9uZi-CtH!3K~S#>mxITj z7E}}en(?P4L1m9W1LOH`D}o_sX$+}o+B|aQQR_XoBNx}_xf;1j`nr15+nu{KB>vuK zNjA#%r%%Nx^?)p}B=k~uo%LENomNkkz=@pJ1pLDoG%DfP%| zx4rPa%ehPITyt+vrEzahC326`l3hr=Cyi%sX+MuDe#g+3TEQG068$Ov{jB&0Q3^vS zjiLTtq%#UB-A`#fn(1THqw6d`i_@f34Mtjvkv4&m_7aS=mtv-?%^q^*OI_EQ*X z>tUq50we8bFvd2(TZtxkD{-Crlu~RRup9{EyNmCZz+^qo4i}stj$7OiH{6XPcz~$! zZX&@{f*C~3cJtfk53HAn?-O*rwa5y*?nlL9!hPlCruwK}Jpb^IzHVyN_Rs?N{YF|3e zuw&Rc>`Ks+s5`?xVgGP2!7!pmlJ7C$ID&i*7fuPMhqDOg5>*f`4wr>12-XnQGh9!w zkzh->KG+s+4|jz{1P6&a5~hN~2}e*pOeK5}Ch7#M2-bm1)55NaD+sRQ(uTQVy+mVz zW?^okMbIJ9I?;~cMxt)6_`gJ#bgmO!65SGaBzh;q&^}sJ~5GC zDmcG6F(WaXU|!76y@>^(Nh}e5CYC2w60C*KF!5Sq6Tw!Fh4Q*Qv4dbY=i1Fn>`NRX zIC{LidBo zZOGZioG%@&jGUGEm$NfxFTwufWiaP3Y)Ksp_OiXU(h|wm+Y<9)%WZk3|AkGfwW`*Z zpgrX5WD+@rt+^3&6&ZvLx1QDdunfi)+y;kh*lt@{8LT!gv58=7S_Z4-6HH0VV72K4 zv(V!B-&}$M{#R{rT0Yqt8=kEpSf73-;rLmY>xNg`NU(*apxSoWW80NzR_!23@_x3x z7MkjgIib?;F2z#KK*p{WV=M3daq3KowH&;K)X?j%VeLfTb((hYFQ*Fz;ptyh<{ha1 z4W8mWgSizh@^@KT4k#i|>cEvV>A6P8WI5{KlQVq_(xd!kfrvmol zsrbR0Ryn<+I8*cyt@Y@o&sVwO`hM$U0bsow+*i845K>7GFhI1i&m!oe{I zp4e}~1z`iRXN8k02K;mn!w)3QK~^nf#-P3eoO*I{4hNFyaOO%*YzB|Q1r}Gta#3uJ z>Q%-O_^;Qg{p4PNJipB}f6q*Qu~u3=sVfni8Za7Oe;C1HWE*fe>ux!aB@i%XiqN9*r$Rbq&G|;0LF(4BC-~ zRLDsrhx0ZTe9%7y4Y@VwZ6feQZ$h5sM8rGDb2~iUrIY0II|wD#vCyAH?{m89W5xzD z>>#Ta^<~78n4D5WpJP1yh-EOG)06XE<_qA1NXu@di<40Xt;`5dAj5&kKP&=;IP(?^ zM5rR>gZdlt^9G*g<0(q&&**if)RQk+QUM1zia4zE1CsLY2<2Q1Zlm5xqKG}JjME7BI)j2P7$8}aO z&RO~i*Xy)$PK4!EDBkSQ>G!m)KVkT~SyDyrmkueD`<6H%lUvG1#mmm`3V2mp=M#o6 zo4b2XnY(+=Fn1LVuhkfW5lY9YUt6hfsY~iHA9>-{T8DDLdsmX1w4aLXe4c6e^f}6O zFWI7!`X}x0rPM82ex39Ty3*1&DnW9R=FAuT6q1%E{!#y^YU*c@%zP2Nx(1Sym&vVD z!|AFE$(~yU^2>EQRHaXCpWk^ENf=heBw=_Jl7tceqE?nd69^C3e8=qa*CjmpW#CzT=2b)Xi| z>}&*GJpY|nW%3=Wg)}Q1iR%iL{*s_7CNqIj1PH0+uE5a>i7s2rV zuergq`6(npEFle~vSk#DD-<vkZ+Ihi9Y}p#kE+@Cm3$>*39U^N?YM@xNfu(=D)QStTtR~hY!1K;o zYVLV8Yb)J9c>V7QTbHVinQbWtBR!VA!b)#0b@{~7QbCA51nU-|1T<3eaMnN}kNy}QVHeL`VGtg$j zUwT-&cZ+qJv^)zbX3x4Vw&JQ(t{@&qR%Ld{E);3MklXRJ_!PBPGb^z~r>oz{65nUV zdqR9>`FzZ234gbPvrCcRDMSsgLVKuX`93^T4qatS;c(hLy`s`pXqUHaZDg+tM^xEz zlwA?>8melR#8Q2%$f}X5w-PMfYdJ{RicCwX>g5SyNlVYRbQN6LmaU=Ev&WHDzC_2* z8+m?JmCM8$+nQ3m6VQH=uqE@uv_H z)4((`O--I@W!jqdrlaX>x|*JPmATXOG5yV8Gt7)MW6Zcxz+v*u6f@n-GILFVS!|Y> z6=scDZ#J4OX1m#Cip)WC1o=znF`Z8WlcIc3eyy|BIgi%cI`#^C75;O632bBA4Ec`p zZd=&a3?^mUrSooYv^U!>wj1(}eA_!X-?q2yi@Xys4H#&La9QkdE2kn=T7#4ookpT( z1=gQ5^y1jophXYO7lC^LLraqp?MMF`-@APPpJFu&+FZo4mgx*XuoWhjsjS${*#%m( zMnRX1nFtzRZ<-$fcZDC=-ZAY!!){e18lj*kMmNXP;lR*OW2eC#I)}s_mqyG^bQi%k zlxTs9pdrRU-&L&n270iJ=+?qF?6xszXijplOC}natl0PxK0FIt06)+fW5qx0vxx>E z2fZ?}&X_{b_%hQXbptC{?lHJ*01eGsWBYJK|dls8f1L1=90jV_rLHH{3HJHGXCmk{PEXn&X4sE`Ehm4Vi{8(K@$&$J1#3kc0YDQMA3LB|uN-Gs)ucF?VJX{Prq zukS3+uIHtSze8uR@i*xL3voA~mtr+z@x3}jA@z|H)Fc{FXVP8lYL$OaKVN!^dtrQE zb=-Yj>@Tfht~%NX>KYcf(^dr0x>JzhlxQG>O~n*sBlXRac4z8?h6OwaZE#}wkoZ`a z%G&`NdL2s($-@Mq>y&HV?7>(H9?nS3L>dbpSFDAsA3(=Y2f9%EsX>5VYADSbN2{?^ z!hUoYF3y2F^Q|JlHq6qe54d#TNikYt3T>?z+UANiT+l-nL(f?XEwmVx>xw5aKK6DA ze~Qs_rl9kz7`#nEyIb)nv?&cutGOzzErzxAoXqlDTCdCLhT8v$LLER2HdbtHa>yxs zpZHk~N{c0_OAJi2PP9AX|E$@qZ|pvhUxZ<4wUHV+uO|QjqQ9fuKJN3|p6}Ta=1*3$y~S6jJ;0DaviAXBY!+ zJ&4uVC^e;&R)8;8(jJlI<3v5Brg`O=l4jucSfNnBJ>r|LXevkx*{^F;(3A04cL}g?K111(we4ARzWq;4tlED zrxB)N{%U7>CZ%}($$dBLh-8bqJmX}0!!rnG$8JosRtuiNv6fbzSFz^DwG`7BHBRMI zA2FRMK3Q0RFIoz4#$r9rGH*{?NsUIuyki<8i^7aL!VFw`7!3`bu{Gn5fnfzV678fl zK*QFq5!oa@en`)7M@h7EYf-Y;`aO8M=2oEAjDu@{L5XzO9?jN{sbTRu@}( z>vYC(a^2-3-iBy7zw!LF7HhfWu`CJDXg4As)8hKRigGiC<}u~BvdS2XXg*FW6_W-0 zUzY(B-#hEwdY?X|j~Zn{Q^V9YbxnQK&@?g4O-s|p++aGGPUcqA!}KzDnSN%F8EQtD z(PpffU?#=x)67gW$ILei%~DfnR+)8XgV}7hnVn{@*>4V;W7gOlo3y#Mo^4{4f!9oThq zcevid2iMmPbVH=n&_(}%@GW*1J^({M{nVHzS)6e*psRjHMq~Z*Y|dmfk#BW7V$K}L z6VYZLa|SrpZ!h?0piF(?m}n<7lKf`Pqs13TNIUs+=`PbqQBW9tn5x$%#$rFd&hct zMdLVndxIL$(79_w=d@T*2Zt?25Q90nXz8}F1a6=u$%qVyCUV#YH{$;t;LeB#>q>hI zT(IjRJ3JN|j-BWlhXr_xeVbTEHCF6m9bNX3^lNyE6b;sBVjW#HXUCS+!3`s;T5v#% zRdz_D!m3TIoy&emY|&k`ZVLxwM++mM{yRctSvWT$&&}~v_J2eRHRQy!gA4LwM4vHq zPV0XFV^1vZ|A*qcX4z?}oV{q7yUaVGb#J!S4a?hN(Hqvh8?d$nou^yrwz|FU7+<-% zv+k;U>N|BG-CxbogY__qk7MLG3-w5~N{>(m`J1ay> z+e~e39qioiXG{0e=Gf9b+MQg~`p9K-?7xu4J&I2^RZDdq{cA;T3w2vHQ@5v3ZMo%f z+`6OMOYO6>v}KN4ZAiyW{<<F=RELIC3vtrvpVeAu&4Pu!= zY%E0bMgX=EVts`or_jPK_6NkyfY?<~Q531zN`Tl0P-w4_*r~v7wrIqc5mTWqqi3RH zgrCc**JiQi#C)t_pP+i2Pqp|5zs$eucltfP$nWzzX?p|TTi3Bm&rHcn_{M??*Y%{32@N*yh)PeiuaQ_hQ`#?Vp`hDPC>=Mmk zI{H1H7Q_7*=)Z!V0(vp%MWEjV{s4F#++PL#N6;&gdUd2;4eo2;z8dbZB%xBk#c;9k zY2foF(9MAt!leLo3-}BX>TS5+hCHJb5lT_YHbd$8j_4RapXNK<50^9NQHN<}B3Dj4 z`$^Awdg?yZ^Y*8Hcrf+D!}Lf!Mvv3^nA?oQd}kK*!ELYW)XWVVoOJ?ugIH6v8*C?RK!M#SVS?fe7?Bm(*Aa_ZVhsy+-QwLB z*%!gvT8%k!ygP#T4CZeoZ7jms9Q`M_VBbzo<;3k4ZA0FEh#f4ktY$w4EPHa8n;WDq zr6x;se3E^sGLue z-Ca2W1(}O22g>dx>?_(I10!_{>tSLUOwQ3+vFry4a5!(~V0p~df_rCRIa7xdR_00M zSx%iT##0$jEB+5$l%&&be-7}FS zdp$5(yzH>qzh+4i`X`G$efz5{NqV$IlB7n179|qk#4e%8I#PFHFA_bL!=8x6u8Kvk z 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�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 literal 0 HcmV?d00001 diff --git a/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf b/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf index f40b3a8..3c73a4a 100644 --- a/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf +++ b/Vcom/Functions/FFE_Functions/fn_AngTowards.sqf @@ -1,9 +1,8 @@ params ["_source0", "_target0", "_rnd0"]; -private ["_dX0","_dY0","_angleAzimuth0"]; -_dX0 = (_target0 select 0) - (_source0 select 0); -_dY0 = (_target0 select 1) - (_source0 select 1); +private _dX0 = (_target0 select 0) - (_source0 select 0); +private _dY0 = (_target0 select 1) - (_source0 select 1); -_angleAzimuth0 = (_dX0 atan2 _dY0) + (random (2 * _rnd0)) - _rnd0; +private _angleAzimuth0 = (_dX0 atan2 _dY0) + (random (2 * _rnd0)) - _rnd0; _angleAzimuth0 \ No newline at end of file diff --git a/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf b/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf index 63259f1..dbad094 100644 --- a/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf +++ b/Vcom/Functions/FFE_Functions/fn_ArtyMission.sqf @@ -1,18 +1,18 @@ //_bArr = [_tgtPos,RydFFE_ArtG,"SADARM",6,leaderHQ] call RYD_fnc_ArtyMission; params ["_pos","_arty","_ammoG","_amount","_FO"]; -private ["_pos","_arty","_ammoG","_amount","_FO","_ammo","_possible","_battery","_agp","_artyAv","_vehs","_gp","_hasAmmo","_checked","_vh","_tp","_inRange","_pX","_pY","_pZ","_ammoArr","_allAmmo"]; +private ["_pos","_arty","_ammoG","_amount","_FO","_gp","_checked","_vh","_tp","_inRange","_pX","_pY","_pZ"]; -_ammo = ""; -_ammoArr = []; +private _ammo = ""; +private _ammoArr = []; -_hasAmmo = 0; -_possible = false; -_battery = []; -_agp = []; +private _hasAmmo = 0; +private _possible = false; +private _battery = []; +private _agp = []; -_artyAv = []; -_vehs = 0; -_allAmmo = 0; +private _artyAv = []; +private _vehs = 0; +private _allAmmo = 0; { _gp = _x; @@ -47,14 +47,29 @@ _allAmmo = 0; case (_tp in RydFFE_SPMortar) : { - switch (_ammoG) do + _side = configfile >> "CfgVehicles" >> _tp >> "side"; + if ((not (isNumber _side)) or {not ((getNumber _side) == 0)}) then { - case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells"}; - case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster"}; - case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided"}; - case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke"}; - case ("ILLUM") : {_ammo = ""}; - }; + switch (_ammoG) do + { + case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells"}; + case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster"}; + case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided"}; + case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke"}; + case ("ILLUM") : {_ammo = ""}; + }; + } + else + { + switch (_ammoG) do + { + case ("HE") : {_ammo = "32Rnd_155mm_Mo_shells_O"}; + case ("SPECIAL") : {_ammo = "2Rnd_155mm_Mo_Cluster_O"}; + case ("SECONDARY") : {_ammo = "2Rnd_155mm_Mo_guided_O"}; + case ("SMOKE") : {_ammo = "6Rnd_155mm_Mo_smoke_O"}; + case ("ILLUM") : {_ammo = ""}; + }; + } }; case (_tp in RydFFE_Rocket) : diff --git a/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf b/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf index 3b80505..2c362a6 100644 --- a/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf +++ b/Vcom/Functions/FFE_Functions/fn_AutoConfig.sqf @@ -115,9 +115,9 @@ params ["_allArty"]; _ammoC = configfile >> "CfgAmmo" >> _ammo; _subAmmo = _ammoC >> "subMunitionAmmo"; - if not (_subAmmo isEqualTo "") then + if ((isText _subAmmo) and {not ((getText _subAmmo) isEqualTo "")}) then { - _ammoC = configfile >> "CfgAmmo" >> _subAmmo + _ammoC = configfile >> "CfgAmmo" >> (getText _subAmmo); }; _actHit = getNumber (_ammoC >> "indirectHit"); diff --git a/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf b/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf index 3453498..7a0a17e 100644 --- a/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf +++ b/Vcom/Functions/FFE_Functions/fn_PosTowards2D.sqf @@ -1,12 +1,11 @@ params ["_source", "_angle", "_distT"]; -private ["_dXb","_dYb","_px","_py","_pz"]; -_dXb = _distT * (sin _angle); -_dYb = _distT * (cos _angle); +private _dXb = _distT * (sin _angle); +private _dYb = _distT * (cos _angle); -_px = (_source select 0) + _dXb; -_py = (_source select 1) + _dYb; +private _px = (_source select 0) + _dXb; +private _py = (_source select 1) + _dYb; -_pz = getTerrainHeightASL [_px,_py]; +private _pz = getTerrainHeightASL [_px,_py]; [_px,_py,_pz] \ No newline at end of file diff --git a/Vcom/RYD_FFE/FFE.sqf b/Vcom/RYD_FFE/FFE.sqf index 17d1177..c25c1a8 100644 --- a/Vcom/RYD_FFE/FFE.sqf +++ b/Vcom/RYD_FFE/FFE.sqf @@ -61,6 +61,11 @@ RydFFE_Other = [] + RydFFE_Add_Other; _allArty = RydFFE_SPMortar + RydFFE_Mortar + RydFFE_Rocket; +{ + _allArty = _allArty + (_x select 0) +} +foreach RydFFE_Other; + _allArty = [_allArty] call RYD_fnc_AutoConfig; _civF = ["civ_f","civ","civ_ru","bis_tk_civ","bis_civ_special"]; From 026d7fb198f8eb529ec4145090c8166e8c859732 Mon Sep 17 00:00:00 2001 From: Freddo3000 Date: Sun, 20 Jan 2019 11:01:58 +0100 Subject: [PATCH 83/83] Changelog Added note about FFE update --- Vcom/changelog.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Vcom/changelog.txt b/Vcom/changelog.txt index e39cba5..fc19e1a 100644 --- a/Vcom/changelog.txt +++ b/Vcom/changelog.txt @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [3.2] - 2019-01-11 +## [3.2] - 2019-01-20 ### Added - VCOM Driving (Experimental) - AI accuracy settings can be tweaked in CBA @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - FSM files were moved to functions library - Initialization files are now stored as functions with `preinit = 1ยด tags - Config files no longer produce functions and are instead directly called +- RydFFE was updated from 1.14 to 1.16 ### Deprecated

+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%0A9|Q#`(h-9(Xh3cH;m?MgP5;^;ayo#N(O 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%0Dk1QXe5}!3 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