From 7501184bfbd263ff33489bb4ac471b2d42f91acb Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Mon, 5 Jun 2023 20:59:08 +0200 Subject: [PATCH 01/10] save names in faction config --- A3A/addons/core/functions/Templates/fn_loadFaction.sqf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/A3A/addons/core/functions/Templates/fn_loadFaction.sqf b/A3A/addons/core/functions/Templates/fn_loadFaction.sqf index ad5b719824..5ce2d880e7 100644 --- a/A3A/addons/core/functions/Templates/fn_loadFaction.sqf +++ b/A3A/addons/core/functions/Templates/fn_loadFaction.sqf @@ -72,6 +72,15 @@ private _fnc_generateAndSaveUnitsToTemplate = { } forEach _unitTemplates; }; +private _fnc_saveNames = { + params ["_names"]; + private _nameConfig = configfile >> "CfgWorlds" >> "GenericNames"; + private _firstNames = configProperties[_nameConfig >> _names >> "FirstNames"] apply { getText(_x) }; + ["firstNames", _firstNames] call _fnc_saveToTemplate; + private _lastNames = configProperties[_nameConfig >> _names >> "LastNames"] apply { getText(_x) }; + ["lastNames", _lastNames] call _fnc_saveToTemplate; +}; + { call compile preprocessFileLineNumbers _x; } forEach _filepaths; From b56e98bdd3a08ff1490cccb792eaaf51a3282a1b Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Mon, 5 Jun 2023 21:00:40 +0200 Subject: [PATCH 02/10] set names for vanilla, RHS and CUP factions --- A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_ACR_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arctic.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_AFRF_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_BAF_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_BW_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Arctic.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_CDF_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_HIL.sqf | 2 ++ A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arctic.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arid.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_RACS_Tropical.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_SLA_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_AI_TKA_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_US_Army_Arid.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_US_Army_Temperate.sqf | 1 + .../core/Templates/Templates/CUP/CUP_AI_US_Marine_Arid.sqf | 1 + .../Templates/Templates/CUP/CUP_AI_US_Marine_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_Civ_CHC.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_Civ_TKC.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_Reb_NAPA.sqf | 1 + A3A/addons/core/Templates/Templates/CUP/CUP_Reb_TKM.sqf | 1 + .../Templates/Templates/FactionDefaults/CivilianDefaults.sqf | 1 + .../core/Templates/Templates/FactionDefaults/RebelDefaults.sqf | 3 ++- A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Arid.sqf | 1 + .../core/Templates/Templates/RHS/RHS_AI_AFRF_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/RHS/RHS_AI_CDF.sqf | 1 + A3A/addons/core/Templates/Templates/RHS/RHS_AI_SAF.sqf | 1 + .../core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arctic.sqf | 1 + .../core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arid.sqf | 1 + .../Templates/Templates/RHS/RHS_AI_USAF_Army_Temperate.sqf | 1 + .../core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Arid.sqf | 1 + .../Templates/Templates/RHS/RHS_AI_USAF_Marines_Temperate.sqf | 1 + A3A/addons/core/Templates/Templates/RHS/RHS_Civ.sqf | 1 + A3A/addons/core/Templates/Templates/RHS/RHS_Reb_NAPA.sqf | 1 + A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Apex.sqf | 2 +- .../core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Arid.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Enoch.sqf | 1 + .../Templates/Templates/Vanilla/Vanilla_AI_CSAT_Temperate.sqf | 2 +- A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_LDF.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Apex.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Arid.sqf | 1 + .../Templates/Templates/Vanilla/Vanilla_AI_NATO_Temperate.sqf | 1 + .../Templates/Templates/Vanilla/Vanilla_AI_NATO_Tropical.sqf | 1 + A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Civ.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_Reb_FIA.sqf | 1 + .../core/Templates/Templates/Vanilla/Vanilla_Reb_SDK.sqf | 1 + 52 files changed, 54 insertions(+), 3 deletions(-) diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Arid.sqf index cf8b9b5ccd..7a2b01d39a 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Arid.sqf @@ -81,6 +81,7 @@ "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18", "WhiteHead_19","WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_CZ_ACR","CUP_D_Male02_CZ_ACR","CUP_D_Male03_CZ_ACR","CUP_D_Male04_CZ_ACR","CUP_D_Male05_CZ_ACR"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Temperate.sqf index 8acdd50ef0..38d3b390c9 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ACR_Temperate.sqf @@ -81,6 +81,7 @@ "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18", "WhiteHead_19","WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_CZ_ACR","CUP_D_Male02_CZ_ACR","CUP_D_Male03_CZ_ACR","CUP_D_Male04_CZ_ACR","CUP_D_Male05_CZ_ACR"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arctic.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arctic.sqf index d4e1726b58..a2c52a4c9a 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arctic.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arctic.sqf @@ -82,6 +82,7 @@ "WhiteHead_13","WhiteHead_14","WhiteHead_17","WhiteHead_18", "WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["Male01RUS","Male02RUS","Male03RUS"]] call _fnc_saveToTemplate; +"CUP_Names_RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arid.sqf index 6c2392f6fa..050e550d7b 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Arid.sqf @@ -82,6 +82,7 @@ "WhiteHead_13","WhiteHead_14","WhiteHead_17","WhiteHead_18", "WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["Male01RUS","Male02RUS","Male03RUS"]] call _fnc_saveToTemplate; +"CUP_Names_RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Temperate.sqf index 1450929626..7a1744ce07 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_AFRF_Temperate.sqf @@ -82,6 +82,7 @@ "WhiteHead_13","WhiteHead_14","WhiteHead_17","WhiteHead_18", "WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["Male01RUS","Male02RUS","Male03RUS"]] call _fnc_saveToTemplate; +"CUP_Names_RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Arid.sqf index ff3a5be1aa..6261a8f37e 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Arid.sqf @@ -82,6 +82,7 @@ "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18", "WhiteHead_19","WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_GB_BAF","CUP_D_Male02_GB_BAF","CUP_D_Male03_GB_BAF","CUP_D_Male04_GB_BAF","CUP_D_Male05_GB_BAF"]] call _fnc_saveToTemplate; +"CUP_Names_BritishMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Temperate.sqf index 28284abe75..80358ee2fe 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BAF_Temperate.sqf @@ -82,6 +82,7 @@ "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18", "WhiteHead_19","WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_GB_BAF","CUP_D_Male02_GB_BAF","CUP_D_Male03_GB_BAF","CUP_D_Male04_GB_BAF","CUP_D_Male05_GB_BAF"]] call _fnc_saveToTemplate; +"CUP_Names_BritishMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Arid.sqf index 7b3aa5a24a..4513d7f388 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Arid.sqf @@ -82,6 +82,7 @@ "WhiteHead_11","WhiteHead_12","WhiteHead_13","WhiteHead_14","WhiteHead_16", "WhiteHead_17","WhiteHead_18","WhiteHead_19","WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"CUP_Names_GermanMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Temperate.sqf index dce0d5bfc9..5b32e5c851 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_BW_Temperate.sqf @@ -82,6 +82,7 @@ "WhiteHead_11","WhiteHead_12","WhiteHead_13","WhiteHead_14","WhiteHead_16", "WhiteHead_17","WhiteHead_18","WhiteHead_19","WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"CUP_Names_GermanMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Arctic.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Arctic.sqf index 8d4bd8e689..f1950780bc 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Arctic.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Arctic.sqf @@ -85,6 +85,7 @@ "WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_CZ_ACR","CUP_D_Male02_CZ_ACR","CUP_D_Male03_CZ_ACR","CUP_D_Male04_CZ_ACR","CUP_D_Male05_CZ_ACR"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Temperate.sqf index 2fa79f1ba7..385ac18582 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_CDF_Temperate.sqf @@ -85,6 +85,7 @@ "WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_CZ_ACR","CUP_D_Male02_CZ_ACR","CUP_D_Male03_CZ_ACR","CUP_D_Male04_CZ_ACR","CUP_D_Male05_CZ_ACR"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HIL.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HIL.sqf index 6c9ea4c77c..28d13449bb 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HIL.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HIL.sqf @@ -92,6 +92,8 @@ ["voices", ["Male01FRE","Male02FRE","Male03FRE"]] call _fnc_saveToTemplate; +"TanoanMen" call _fnc_saveNames; + ////////////////////////// // Loadouts // ////////////////////////// diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arctic.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arctic.sqf index 1454823ed7..1c383b6466 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arctic.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arctic.sqf @@ -83,6 +83,7 @@ "WhiteHead_09","WhiteHead_10","WhiteHead_12","WhiteHead_13", "WhiteHead_17","WhiteHead_18","WhiteHead_19","WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male05ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arid.sqf index db314215e8..19de07b330 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_ION_Arid.sqf @@ -83,6 +83,7 @@ "WhiteHead_09","WhiteHead_10","WhiteHead_12","WhiteHead_13", "WhiteHead_17","WhiteHead_18","WhiteHead_19","WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male05ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Arid.sqf index ca69c3c7f1..cb40ea1b66 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Arid.sqf @@ -80,6 +80,7 @@ "WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male05ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"SahraniNames" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Tropical.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Tropical.sqf index 32746c8aac..5af947e027 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Tropical.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_RACS_Tropical.sqf @@ -80,6 +80,7 @@ "WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male05ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"SahraniNames" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_SLA_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_SLA_Temperate.sqf index 5f2d3852b2..36d681eba3 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_SLA_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_SLA_Temperate.sqf @@ -81,6 +81,7 @@ "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17", "WhiteHead_19","WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01GRE","Male02GRE","Male03GRE","Male04GRE","Male05GRE","Male06GRE"]] call _fnc_saveToTemplate; +"SahraniNames" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_TKA_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_TKA_Arid.sqf index 365a6e7f16..4c18ae3ce6 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_TKA_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_TKA_Arid.sqf @@ -75,6 +75,7 @@ ["faces", ["PersianHead_A3_01","PersianHead_A3_02","PersianHead_A3_03"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_TK","CUP_D_Male02_TK","CUP_D_Male03_TK","CUP_D_Male04_TK","CUP_D_Male05_TK"]] call _fnc_saveToTemplate; +"TakistaniMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Arid.sqf index a277e463f6..23839c6639 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Arid.sqf @@ -81,6 +81,7 @@ "WhiteHead_15","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Temperate.sqf index 81fbbffa60..74610fdd00 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Army_Temperate.sqf @@ -81,6 +81,7 @@ "WhiteHead_15","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Arid.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Arid.sqf index 452cf6bcb3..21f6709e8e 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Arid.sqf @@ -84,6 +84,7 @@ "WhiteHead_15","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Temperate.sqf index b353212960..7daad5b36c 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_US_Marine_Temperate.sqf @@ -84,6 +84,7 @@ "WhiteHead_15","WhiteHead_17","WhiteHead_18","WhiteHead_19", "WhiteHead_20","WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG","Male02ENG","Male03ENG","Male04ENG","Male06ENG","Male07ENG","Male08ENG","Male09ENG","Male10ENG","Male11ENG","Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_CHC.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_CHC.sqf index 73abaf407a..7fb5ef69ce 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_CHC.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_CHC.sqf @@ -48,6 +48,7 @@ "WhiteHead_05","WhiteHead_07","WhiteHead_08","WhiteHead_09","WhiteHead_10","WhiteHead_11","WhiteHead_12", "WhiteHead_14","WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_18","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_TKC.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_TKC.sqf index b39da8c237..1091f3a5f9 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_TKC.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_Civ_TKC.sqf @@ -45,6 +45,7 @@ ///////////////////// ["faces", ["PersianHead_A3_01","PersianHead_A3_02","PersianHead_A3_03"]] call _fnc_saveToTemplate; +"TakistaniMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_NAPA.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_NAPA.sqf index 1756a1b17e..fb42a223ca 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_NAPA.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_NAPA.sqf @@ -138,6 +138,7 @@ private _rebUniformsAI = [ "WhiteHead_15","WhiteHead_16","WhiteHead_17","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_CZ_ACR","CUP_D_Male02_CZ_ACR","CUP_D_Male03_CZ_ACR","CUP_D_Male04_CZ_ACR","CUP_D_Male05_CZ_ACR"]] call _fnc_saveToTemplate; +"CUP_Names_CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_TKM.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_TKM.sqf index 6d2dab4005..d75575b7f5 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_TKM.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_Reb_TKM.sqf @@ -140,6 +140,7 @@ private _rebUniformsAI = [ ["faces", ["PersianHead_A3_01","PersianHead_A3_02","PersianHead_A3_03"]] call _fnc_saveToTemplate; ["voices", ["CUP_D_Male01_TK","CUP_D_Male02_TK","CUP_D_Male03_TK","CUP_D_Male04_TK","CUP_D_Male05_TK"]] call _fnc_saveToTemplate; +"TakistaniMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf b/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf index 0d727fb042..a935654089 100644 --- a/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf +++ b/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf @@ -9,3 +9,4 @@ ["faces", ["GreekHead_A3_02", "GreekHead_A3_03", "GreekHead_A3_04", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Ioannou", "Barklem", "AfricanHead_02", "AsianHead_A3_02", "AsianHead_A3_03", "WhiteHead_05"]] call _fnc_saveToTemplate; +"CivMen" call _fnc_saveNames; diff --git a/A3A/addons/core/Templates/Templates/FactionDefaults/RebelDefaults.sqf b/A3A/addons/core/Templates/Templates/FactionDefaults/RebelDefaults.sqf index 9a9c3d689f..7d25f95e12 100644 --- a/A3A/addons/core/Templates/Templates/FactionDefaults/RebelDefaults.sqf +++ b/A3A/addons/core/Templates/Templates/FactionDefaults/RebelDefaults.sqf @@ -35,4 +35,5 @@ if(A3A_hasACE) then { //FIA Rebells as Example ["faces", ["GreekHead_A3_02","GreekHead_A3_03","GreekHead_A3_04","GreekHead_A3_05","GreekHead_A3_06","GreekHead_A3_07","GreekHead_A3_08","GreekHead_A3_09","Ioannou","Mavros"]] call _fnc_saveToTemplate; -["voices", ["Male01GRE", "Male02GRE", "Male03GRE", "Male04GRE", "Male05GRE", "Male06GRE"]] call _fnc_saveToTemplate; \ No newline at end of file +["voices", ["Male01GRE", "Male02GRE", "Male03GRE", "Male04GRE", "Male05GRE", "Male06GRE"]] call _fnc_saveToTemplate; +"GreekMen" call _fnc_saveNames; \ No newline at end of file diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Arid.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Arid.sqf index 3a0b7205cd..10aa89d995 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Arid.sqf @@ -83,6 +83,7 @@ ["faces", ["AsianHead_A3_01", "AsianHead_A3_02", "AsianHead_A3_03", "AsianHead_A3_04", "AsianHead_A3_05", "AsianHead_A3_06", "AsianHead_A3_07", "Mason_v2", "Oakes_v2", "RHS_GreekHead_A3_08", "RHS_GreekHead_A3_09", "RHS_LivonianHead_1", "RHS_LivonianHead_10", "RHS_LivonianHead_2", "RHS_LivonianHead_3", "RHS_LivonianHead_4", "RHS_LivonianHead_5", "RHS_LivonianHead_6", "RHS_LivonianHead_7", "RHS_RussianHead_1", "RHS_WhiteHead_01", "RHS_WhiteHead_04", "RHS_WhiteHead_05", "RHS_WhiteHead_06", "RHS_WhiteHead_07", "RHS_WhiteHead_08", "RHS_WhiteHead_09", "RHS_WhiteHead_10", "RHS_WhiteHead_11", "RHS_WhiteHead_14", "RHS_WhiteHead_15", "RHS_WhiteHead_16", "RHS_WhiteHead_25", "RHS_WhiteHead_27", "RHS_WhiteHead_28", "RHS_WhiteHead_32", "RussianHead_1", "RussianHead_2", "RussianHead_3", "RussianHead_4", "RussianHead_5", "Smith_v2"]] call _fnc_saveToTemplate; ["voices", ["RHS_Male01RUS", "RHS_Male02RUS", "RHS_Male03RUS", "RHS_Male04RUS", "RHS_Male05RUS"]] call _fnc_saveToTemplate; +"RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Temperate.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Temperate.sqf index 6be5e89f7e..c3ad01fff9 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_AFRF_Temperate.sqf @@ -83,6 +83,7 @@ ["faces", ["AsianHead_A3_01", "AsianHead_A3_02", "AsianHead_A3_03", "AsianHead_A3_04", "AsianHead_A3_05", "AsianHead_A3_06", "AsianHead_A3_07", "Mason_v2", "Oakes_v2", "RHS_GreekHead_A3_08", "RHS_GreekHead_A3_09", "RHS_LivonianHead_1", "RHS_LivonianHead_10", "RHS_LivonianHead_2", "RHS_LivonianHead_3", "RHS_LivonianHead_4", "RHS_LivonianHead_5", "RHS_LivonianHead_6", "RHS_LivonianHead_7", "RHS_RussianHead_1", "RHS_WhiteHead_01", "RHS_WhiteHead_04", "RHS_WhiteHead_05", "RHS_WhiteHead_06", "RHS_WhiteHead_07", "RHS_WhiteHead_08", "RHS_WhiteHead_09", "RHS_WhiteHead_10", "RHS_WhiteHead_11", "RHS_WhiteHead_14", "RHS_WhiteHead_15", "RHS_WhiteHead_16", "RHS_WhiteHead_25", "RHS_WhiteHead_27", "RHS_WhiteHead_28", "RHS_WhiteHead_32", "RussianHead_1", "RussianHead_2", "RussianHead_3", "RussianHead_4", "RussianHead_5", "Smith_v2"]] call _fnc_saveToTemplate; ["voices", ["RHS_Male01RUS", "RHS_Male02RUS", "RHS_Male03RUS", "RHS_Male04RUS", "RHS_Male05RUS"]] call _fnc_saveToTemplate; +"RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_CDF.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_CDF.sqf index c1ebc99be7..95b0f71dd9 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_CDF.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_CDF.sqf @@ -86,6 +86,7 @@ "WhiteHead_13", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["RHS_Male01CZ", "RHS_Male02CZ", "RHS_Male03CZ", "RHS_Male04CZ", "RHS_Male05CZ"]] call _fnc_saveToTemplate; +"CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_SAF.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_SAF.sqf index 11e6913cc1..7d5f3d0f6b 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_SAF.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_SAF.sqf @@ -83,6 +83,7 @@ ["faces", ["RHS_LivonianHead_1", "RHS_LivonianHead_10", "RHS_LivonianHead_2", "RHS_LivonianHead_3", "RHS_LivonianHead_4", "RHS_LivonianHead_5", "RHS_LivonianHead_6", "RHS_LivonianHead_7", "RHS_RussianHead_1", "RHS_WhiteHead_01", "RHS_WhiteHead_04", "RHS_WhiteHead_05", "RHS_WhiteHead_06", "RHS_WhiteHead_07", "RHS_WhiteHead_08", "RHS_WhiteHead_09", "RHS_WhiteHead_10", "RHS_WhiteHead_11", "RHS_WhiteHead_14", "RHS_WhiteHead_15", "RHS_WhiteHead_16", "RHS_WhiteHead_25", "RHS_WhiteHead_27", "RHS_WhiteHead_28", "RHS_WhiteHead_32"]] call _fnc_saveToTemplate; ["voices", ["male01gre","male02gre","male03gre","male04gre","male05gre","male06gre"]] call _fnc_saveToTemplate; +"SerbianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arctic.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arctic.sqf index 9232df1643..fc07e878c2 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arctic.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arctic.sqf @@ -83,6 +83,7 @@ ["faces", ["AfricanHead_01", "AfricanHead_02", "AfricanHead_03", "Barklem", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_01", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_06", "WhiteHead_08", "WhiteHead_09", "WhiteHead_10", "WhiteHead_11", "WhiteHead_12", "WhiteHead_13", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arid.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arid.sqf index 35eb8b7a47..b6757c9bde 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Arid.sqf @@ -83,6 +83,7 @@ ["faces", ["AfricanHead_01", "AfricanHead_02", "AfricanHead_03", "Barklem", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_01", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_06", "WhiteHead_08", "WhiteHead_09", "WhiteHead_10", "WhiteHead_11", "WhiteHead_12", "WhiteHead_13", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Temperate.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Temperate.sqf index b3225bf8cc..ce8631d015 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Army_Temperate.sqf @@ -83,6 +83,7 @@ ["faces", ["AfricanHead_01", "AfricanHead_02", "AfricanHead_03", "Barklem", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_01", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_06", "WhiteHead_08", "WhiteHead_09", "WhiteHead_10", "WhiteHead_11", "WhiteHead_12", "WhiteHead_13", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Arid.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Arid.sqf index 3eba204758..52d9cda644 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Arid.sqf @@ -84,6 +84,7 @@ ["faces", ["AfricanHead_03", "Barklem", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_06", "WhiteHead_07", "WhiteHead_09", "WhiteHead_10", "WhiteHead_11", "WhiteHead_12", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG"]] call _fnc_saveToTemplate; ["sfFaces", ["AfricanHead_01", "AfricanHead_03", "Barklem", "CamoHead_White_01_F", "CamoHead_White_09_F", "CamoHead_White_10_F", "CamoHead_White_11_F", "CamoHead_White_16_F", "CamoHead_White_17_F", "CamoHead_White_19_F", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_07", "WhiteHead_08", "WhiteHead_09", "WhiteHead_10", "WhiteHead_12", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Temperate.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Temperate.sqf index 9b2ad73c0e..018cf8037a 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_AI_USAF_Marines_Temperate.sqf @@ -84,6 +84,7 @@ ["faces", ["AfricanHead_03", "Barklem", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_06", "WhiteHead_07", "WhiteHead_09", "WhiteHead_10", "WhiteHead_11", "WhiteHead_12", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20"]] call _fnc_saveToTemplate; ["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG"]] call _fnc_saveToTemplate; ["sfFaces", ["AfricanHead_01", "AfricanHead_03", "Barklem", "CamoHead_White_01_F", "CamoHead_White_09_F", "CamoHead_White_10_F", "CamoHead_White_11_F", "CamoHead_White_16_F", "CamoHead_White_17_F", "CamoHead_White_19_F", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Sturrock", "WhiteHead_02", "WhiteHead_03", "WhiteHead_04", "WhiteHead_05", "WhiteHead_07", "WhiteHead_08", "WhiteHead_09", "WhiteHead_10", "WhiteHead_12", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_18", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_Civ.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_Civ.sqf index 4769a40c61..29548f4b92 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_Civ.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_Civ.sqf @@ -57,6 +57,7 @@ ["faces", ["GreekHead_A3_02", "GreekHead_A3_03", "GreekHead_A3_04", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Ioannou", "Barklem", "AfricanHead_02", "AsianHead_A3_02", "AsianHead_A3_03", "WhiteHead_05"]] call _fnc_saveToTemplate; +"CivMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/RHS/RHS_Reb_NAPA.sqf b/A3A/addons/core/Templates/Templates/RHS/RHS_Reb_NAPA.sqf index d2e3f6169f..c35c86c8f5 100644 --- a/A3A/addons/core/Templates/Templates/RHS/RHS_Reb_NAPA.sqf +++ b/A3A/addons/core/Templates/Templates/RHS/RHS_Reb_NAPA.sqf @@ -140,6 +140,7 @@ if (allowDLCExpansion) then {_dlcUniforms append [ "WhiteHead_12", "WhiteHead_13", "WhiteHead_14", "WhiteHead_15", "WhiteHead_16", "WhiteHead_17", "WhiteHead_19", "WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["voices", ["RHS_Male01CZ", "RHS_Male02CZ", "RHS_Male03CZ", "RHS_Male04CZ", "RHS_Male05CZ"]] call _fnc_saveToTemplate; +"CzechMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf index fd8e320dd6..a8c6335e99 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf @@ -96,6 +96,7 @@ if (allowDLCWS) then { ["faces", ["GreekHead_A3_02","GreekHead_A3_03","GreekHead_A3_04","GreekHead_A3_05","GreekHead_A3_06","GreekHead_A3_07","GreekHead_A3_08","GreekHead_A3_09","Ioannou","Mavros"]] call _fnc_saveToTemplate; ["voices", ["Male01GRE","Male02GRE","Male03GRE","Male04GRE","Male05GRE","Male06GRE"]] call _fnc_saveToTemplate; +"GreekMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Apex.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Apex.sqf index b2abbe43af..1c02ea9300 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Apex.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Apex.sqf @@ -87,7 +87,7 @@ if (allowDLCWS) then { ["voices", ["Male01CHI","Male02CHI","Male03CHI"]] call _fnc_saveToTemplate; ["faces", ["AsianHead_A3_01","AsianHead_A3_02","AsianHead_A3_03","AsianHead_A3_04","AsianHead_A3_05","AsianHead_A3_06","AsianHead_A3_07"]] call _fnc_saveToTemplate; - +"ChineseMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Arid.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Arid.sqf index 2d22aeae9b..ff2e5d85c0 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Arid.sqf @@ -86,6 +86,7 @@ if (allowDLCWS) then { ["voices", ["Male01PER","Male02PER","Male03PER"]] call _fnc_saveToTemplate; ["faces", ["PersianHead_A3_01","PersianHead_A3_02","PersianHead_A3_03"]] call _fnc_saveToTemplate; +"TakistaniMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Enoch.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Enoch.sqf index ff16350712..a205ec33c2 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Enoch.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Enoch.sqf @@ -91,6 +91,7 @@ if (allowDLCWS) then { "RussianHead_3","RussianHead_4","RussianHead_5","WhiteHead_01","WhiteHead_02", "WhiteHead_04","WhiteHead_08","WhiteHead_09","WhiteHead_10","WhiteHead_13", "WhiteHead_14","WhiteHead_15","WhiteHead_18","WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; +"RussianMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Temperate.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Temperate.sqf index d28908597f..ac2c58b79a 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_CSAT_Temperate.sqf @@ -87,7 +87,7 @@ if (allowDLCWS) then { ["voices", ["Male01CHI","Male02CHI","Male03CHI"]] call _fnc_saveToTemplate; ["faces", ["AsianHead_A3_01","AsianHead_A3_02","AsianHead_A3_03","AsianHead_A3_04","AsianHead_A3_05","AsianHead_A3_06","AsianHead_A3_07"]] call _fnc_saveToTemplate; - +"ChineseMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_LDF.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_LDF.sqf index b4710e981f..87f3274362 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_LDF.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_LDF.sqf @@ -89,6 +89,7 @@ if (allowDLCWS) then { ["faces", ["LivonianHead_1","LivonianHead_10","LivonianHead_2","LivonianHead_3","LivonianHead_4","LivonianHead_6","LivonianHead_9","Sturrock","WhiteHead_01","WhiteHead_02","WhiteHead_03","WhiteHead_04","WhiteHead_05","WhiteHead_06","WhiteHead_07","WhiteHead_08","WhiteHead_09","WhiteHead_10","WhiteHead_11","WhiteHead_13","WhiteHead_14","WhiteHead_15","WhiteHead_17","WhiteHead_18","WhiteHead_20","WhiteHead_21","WhiteHead_30"]] call _fnc_saveToTemplate; ["voices", ["Male01pol","Male02pol","Male03pol"]] call _fnc_saveToTemplate; +"EnochMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Apex.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Apex.sqf index 8d06449331..6785672fbe 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Apex.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Apex.sqf @@ -95,6 +95,7 @@ if (allowDLCWS) then { "WhiteHead_15","WhiteHead_16","WhiteHead_18","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["sfVoices", ["Male01ENGB", "Male02ENGB", "Male03ENGB", "Male04ENGB", "Male05ENGB"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Arid.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Arid.sqf index d51ccfdac3..2fbd03eb91 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Arid.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Arid.sqf @@ -95,6 +95,7 @@ if (allowDLCWS) then { "WhiteHead_15","WhiteHead_16","WhiteHead_18","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["sfVoices", ["Male01ENGB", "Male02ENGB", "Male03ENGB", "Male04ENGB", "Male05ENGB"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Temperate.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Temperate.sqf index e460d6d7a0..a002010243 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Temperate.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Temperate.sqf @@ -94,6 +94,7 @@ if (allowDLCWS) then { "WhiteHead_15","WhiteHead_16","WhiteHead_18","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["sfVoices", ["Male01ENGB", "Male02ENGB", "Male03ENGB", "Male04ENGB", "Male05ENGB"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Tropical.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Tropical.sqf index 60acbc4973..9030e4f6c4 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Tropical.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_NATO_Tropical.sqf @@ -95,6 +95,7 @@ if (allowDLCWS) then { "WhiteHead_15","WhiteHead_16","WhiteHead_18","WhiteHead_19","WhiteHead_20", "WhiteHead_21"]] call _fnc_saveToTemplate; ["sfVoices", ["Male01ENGB", "Male02ENGB", "Male03ENGB", "Male04ENGB", "Male05ENGB"]] call _fnc_saveToTemplate; +"NATOMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Civ.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Civ.sqf index ca16b14f39..5564353046 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Civ.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Civ.sqf @@ -51,6 +51,7 @@ ["faces", ["GreekHead_A3_02", "GreekHead_A3_03", "GreekHead_A3_04", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Ioannou", "Barklem", "AfricanHead_02", "AsianHead_A3_02", "AsianHead_A3_03", "WhiteHead_05"]] call _fnc_saveToTemplate; +"CivMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_FIA.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_FIA.sqf index 6c8c70ff80..abb23028e2 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_FIA.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_FIA.sqf @@ -144,6 +144,7 @@ if (allowDLCWS) then {_dlcUniforms append [ "GreekHead_A3_05","GreekHead_A3_06","GreekHead_A3_07","GreekHead_A3_08", "GreekHead_A3_09","Ioannou","Mavros"]] call _fnc_saveToTemplate; ["voices", ["Male01GRE", "Male02GRE", "Male03GRE", "Male04GRE", "Male05GRE", "Male06GRE"]] call _fnc_saveToTemplate; +"GreekMen" call _fnc_saveNames; ////////////////////////// // Loadouts // diff --git a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_SDK.sqf b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_SDK.sqf index a9947695f8..a595514ca7 100644 --- a/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_SDK.sqf +++ b/A3A/addons/core/Templates/Templates/Vanilla/Vanilla_Reb_SDK.sqf @@ -140,6 +140,7 @@ if (allowDLCWS) then {_dlcUniforms append [ ["faces", ["TanoanHead_A3_01","TanoanHead_A3_02","TanoanHead_A3_03","TanoanHead_A3_04", "TanoanHead_A3_05","TanoanHead_A3_06","TanoanHead_A3_07","TanoanHead_A3_08"]] call _fnc_saveToTemplate; ["voices", ["Male01FRE","Male02FRE","Male03FRE"]] call _fnc_saveToTemplate; +"TanoanMen" call _fnc_saveNames; ////////////////////////// // Loadouts // From d96b2ac614ff20faac269d860fe455c3f1c294de Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Fri, 9 Jun 2023 23:38:50 +0200 Subject: [PATCH 03/10] add createRandomIdentity --- A3A/addons/core/CfgFunctions.hpp | 1 + .../Utility/fn_createRandomIdentity.sqf | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf diff --git a/A3A/addons/core/CfgFunctions.hpp b/A3A/addons/core/CfgFunctions.hpp index dccc5cc04e..923956327c 100644 --- a/A3A/addons/core/CfgFunctions.hpp +++ b/A3A/addons/core/CfgFunctions.hpp @@ -742,6 +742,7 @@ class CfgFunctions class setIdentity {}; class setIdentityLocal {}; class setPos {}; + class createRandomIdentity {}; class vehicleTextureSync {}; class vehicleWillCollideAtPosition {}; class getRoadDirection {}; diff --git a/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf new file mode 100644 index 0000000000..33abdff18a --- /dev/null +++ b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf @@ -0,0 +1,49 @@ +/* +Creates random identity for the unit including face, voice and name. +This identity may be passed to A3A_fnc_createUnit. + +Arguments: + _faction - unit faction. + _unitType - unit type. + +Return value: + random identity, containing the following keys with string values: + - "face" + - "speaker" + - "firstName" + - "lastName" + +Scope: Any +Environment: Any +Public: Yes + +Example: + private _identity = [A3A_faction_reb, "Rifleman"] call A3A_fnc_createRandomIdentity; +*/ + +params["_faction", "_unitType"]; + +private _typePrefix = switch (true) do { + case ("militia_" in _unitType): { "mil" }; + case ("police" in _unitType): { "pol" }; + case ("SF" in _unitType): { "sf" }; + default { "" }; +}; + +private _faceKey = _typePrefix + (if (_typePrefix == "") then { "faces" } else { "Faces" }); +private _faces = _faction getOrDefault [_faceKey, _faction get "faces"]; + +private _identity = createHashMap; +_identity set ["face", selectRandom _faces]; + +private _voice = "NoVoice"; +private _voiceKey = _typePrefix + (if (_typePrefix == "") then { "voices" } else { "Voices" }); +private _voices = _faction getOrDefault [_voiceKey, _faction get "voices"]; +if (!(isNil "_voices")) then { + _voice = selectRandom _voices; +}; +_identity set ["speaker", _voice]; + +_identity set ["firstName", selectRandom (_faction get "firstNames")]; +_identity set ["lastName", selectRandom (_faction get "lastNames")]; +_identity; \ No newline at end of file From a6e144c0ee4b2bc3bea4294c02c2e0d6683d89a9 Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Fri, 9 Jun 2023 23:39:59 +0200 Subject: [PATCH 04/10] setIdentityLocal receives hashMap --- .../functions/Utility/fn_setIdentityLocal.sqf | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/A3A/addons/core/functions/Utility/fn_setIdentityLocal.sqf b/A3A/addons/core/functions/Utility/fn_setIdentityLocal.sqf index 2d9a271a04..23e063731c 100644 --- a/A3A/addons/core/functions/Utility/fn_setIdentityLocal.sqf +++ b/A3A/addons/core/functions/Utility/fn_setIdentityLocal.sqf @@ -1,5 +1,5 @@ /* - Sets specified identity of unit locally. Clears JIP if unit no longer present +Sets specified identity of unit locally. Clears JIP if unit no longer present Scope: Any Environment: Any @@ -7,19 +7,31 @@ Public: No, should only be called by setIdentity Arguments: JIP ID of operation - Object to set identity for - Optional: Face of unit - Optional: Voice/speaker of unit - Optional: (Voice) pitch of unit - Optional: Name of unit + _identity - identity parameters, see _identity parameter of A3A_fnc_createUnit. */ -params ["_JIPID", "_unit", "_face", "_speaker", "_pitch", "_name"]; +params ["_JIPID", "_unit", "_identity"]; // isRemoteExecutedJIP is not trustworthy from HC->client, so just do it anyway if (isNull _unit) exitWith { remoteExec ["", _JIPID] }; +private _face = _identity get "face"; if !(isNil "_face") then { _unit setFace _face }; + +private _speaker = _identity get "speaker"; if !(isNil "_speaker") then { _unit setSpeaker _speaker }; + +private _pitch = _identity get "pitch"; if !(isNil "_pitch") then { _unit setPitch _pitch }; -if !(isNil "_name") then { _unit setName [_name, "", ""] }; + +private _firstName = _identity getOrDefault ["firstName", ""]; +private _lastName = _identity getOrDefault ["lastName", ""]; +if (_firstName != "" || _lastName != "") then { + private _fullName = [_firstName, _lastName] select { _x != "" } joinString " "; + _unit setName [_fullName, _firstName, _lastName]; + if (A3A_hasACE) then { + // Updates the name displayed in ACE Medical, dogtags, name tags and other ACE features + _unit call ace_common_fnc_setName; + }; +}; + From 953ac2a45dca59e99bca9c4ab595186b0a1b8c73 Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Fri, 9 Jun 2023 23:40:37 +0200 Subject: [PATCH 05/10] createUnit receives identity or sets random identity --- .../core/functions/CREATE/fn_createUnit.sqf | 78 ++++++++++++------- 1 file changed, 49 insertions(+), 29 deletions(-) diff --git a/A3A/addons/core/functions/CREATE/fn_createUnit.sqf b/A3A/addons/core/functions/CREATE/fn_createUnit.sqf index c8a106f119..ba1d9c5dda 100644 --- a/A3A/addons/core/functions/CREATE/fn_createUnit.sqf +++ b/A3A/addons/core/functions/CREATE/fn_createUnit.sqf @@ -1,36 +1,56 @@ /* - * File: fn_createUnit.sqf - * Description: - * To be used instead of 'createUnit' scripting command. - * Adds additional behaviour, including passing a loadout instead of a classname. - * Params: - * _group - Group to add the AI: Group - * _type - A classname in CfgVehicles, or a unit loadout array: String or Array - * _position - Position to create at: Position, Position2D, Object, Group - * _markers - Markers the AI can be placed on: Array - * _placement - Placement radius: Number - * _special - Unit special placement: String - * Returns: - * Object - created unit - * Example Usage: - * [group, _type, position, markers, placement, special] call A3A_fnc_createUnit - */ - -params ["_group", "_type", "_position", ["_markers", []], ["_placement", 0], ["_special", "NONE"]]; +To be used instead of 'createUnit' scripting command. +Adds additional behaviour, including passing a loadout instead of a classname. + +Arguments: + _group - group to add the AI. + or _type - a classname in CfgVehicles, or a unit loadout array. + , , , _position - position to create at. + _markers - markers the AI can be placed on. + _placement - placement radius. + _special - unit special placement. + _identity - optional unit identity parameters, keys may include: + - "face" + - "speaker" + - "pitch" + - "firstName" + - "lastName" + All values of those keys must be strings except for "pitch" which is a number. + If _identity parameter is not specified, a random identity will be applied to the unit according to its faction and type. +Return value: + - created unit. + +Scope: Any +Environment: Any +Public: Yes + +Example: + [group, _type, position, markers, placement, special] call A3A_fnc_createUnit; +*/ + +#include "..\..\script_component.hpp" + +params ["_group", "_type", "_position", ["_markers", []], ["_placement", 0], ["_special", "NONE"], "_identity"]; private _unitDefinition = A3A_customUnitTypes getVariable [_type, []]; -if !(_unitDefinition isEqualTo []) exitWith { - _unitDefinition params ["_loadouts", "_traits", "_unitClass"]; - private _unit = _group createUnit [_unitClass, _position, _markers, _placement, _special]; - _unit setUnitLoadout selectRandom _loadouts; - _unit setVariable ["unitType", _type, true]; - { - _unit setUnitTrait _x; - } forEach _traits; - _unit +private _unit = if (_unitDefinition isEqualTo []) then { + _group createUnit [_type, _position, _markers, _placement, _special]; +} else { + _unitDefinition params ["_loadouts", "_traits", "_unitClass"]; + private _u = _group createUnit [_unitClass, _position, _markers, _placement, _special]; + _u setUnitLoadout selectRandom _loadouts; + { _u setUnitTrait _x } forEach _traits; + _u; }; -private _unit = _group createUnit [_type, _position, _markers, _placement, _special]; _unit setVariable ["unitType", _type, true]; -_unit + +private _identity = if (isNil "_identity") then { + [Faction(side _unit), _type] call A3A_fnc_createRandomIdentity; +} else { + _identity; +}; +[_unit, _identity] call A3A_fnc_setIdentity; + +_unit; From 7f55292235dde782173a53cda760d8580f40799a Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Fri, 9 Jun 2023 23:41:45 +0200 Subject: [PATCH 06/10] fix calls setting identity --- .../core/functions/Base/fn_createPetros.sqf | 8 +++- .../core/functions/Base/fn_initPetros.sqf | 2 - .../core/functions/CREATE/fn_NATOinit.sqf | 44 +++---------------- .../functions/CREATE/fn_invaderPunish.sqf | 1 - .../core/functions/Missions/fn_AS_Traitor.sqf | 4 +- .../functions/Missions/fn_RES_Prisoners.sqf | 1 - .../functions/Missions/fn_RES_Refugees.sqf | 1 - .../core/functions/Missions/fn_convoy.sqf | 1 - .../core/functions/REINF/fn_FIAinit.sqf | 1 - .../core/functions/init/fn_initClient.sqf | 2 +- .../functions/Civilian/fn_civilianInitEH.sqf | 2 - 11 files changed, 17 insertions(+), 50 deletions(-) diff --git a/A3A/addons/core/functions/Base/fn_createPetros.sqf b/A3A/addons/core/functions/Base/fn_createPetros.sqf index d827d15f73..dba0237379 100644 --- a/A3A/addons/core/functions/Base/fn_createPetros.sqf +++ b/A3A/addons/core/functions/Base/fn_createPetros.sqf @@ -16,7 +16,13 @@ if (isNil "_location") then { }; private _oldPetros = petros; -petros = [_groupPetros, FactionGet(reb,"unitPetros"), _location, [], 10, "NONE"] call A3A_fnc_createUnit; +private _identity = createHashMapFromArray[ + ["firstName", "Petros"], + ["face", "GreekHead_A3_01"], + ["speaker", "Male06GRE"], + ["pitch", 1.1] +]; +petros = [_groupPetros, FactionGet(reb,"unitPetros"), _location, [], 10, "NONE", _identity] call A3A_fnc_createUnit; publicVariable "petros"; deleteVehicle _oldPetros; // Petros should now be leader unless there's a player in the group diff --git a/A3A/addons/core/functions/Base/fn_initPetros.sqf b/A3A/addons/core/functions/Base/fn_initPetros.sqf index 36ec37dbba..7bb8339c01 100644 --- a/A3A/addons/core/functions/Base/fn_initPetros.sqf +++ b/A3A/addons/core/functions/Base/fn_initPetros.sqf @@ -7,8 +7,6 @@ petros setSkill 1; petros setVariable ["respawning",false]; petros allowDamage false; -[petros, "GreekHead_A3_01", "Male06GRE", 1.1, "Petros"] call A3A_fnc_setIdentity; - removeHeadgear petros; removeGoggles petros; private _vest = selectRandomWeighted (A3A_rebelGear get "ArmoredVests"); diff --git a/A3A/addons/core/functions/CREATE/fn_NATOinit.sqf b/A3A/addons/core/functions/CREATE/fn_NATOinit.sqf index 5ab20ffb77..e6253f7dee 100644 --- a/A3A/addons/core/functions/CREATE/fn_NATOinit.sqf +++ b/A3A/addons/core/functions/CREATE/fn_NATOinit.sqf @@ -19,7 +19,6 @@ if ((isNil "_unit") || (isNull _unit)) exitWith private _type = _unit getVariable "unitType"; private _side = side (group _unit); -private _faction = Faction(_side); _unit setVariable ["originalSide", _side]; // used for delete handler, which is local if (isNil "_type") then { @@ -84,44 +83,13 @@ _unit addEventHandler ["HandleDamage", A3A_fnc_handleDamageAAF]; _unit addEventHandler ["Killed", A3A_fnc_enemyUnitKilledEH]; _unit addEventHandler ["Deleted", A3A_fnc_enemyUnitDeletedEH]; - -//Calculates the skill of the given unit -//private _skill = (0.15 * skillMult) + (0.04 * difficultyCoef) + (0.02 * tierWar); -private _skill = (0.1 * A3A_enemySkillMul) + (0.07 * (1 max A3A_activePlayerCount^0.5)) + (0.01 * tierWar); -private _regularFaces = (_faction get "faces"); -private _regularVoices = (_faction get "voices"); -private ["_face", "_voice"]; - -switch (true) do { -case ("militia_" in (_unit getVariable "unitType")): - { - _skill = _skill * 0.7; - _face = selectRandom (_faction getOrDefault ["milFaces", _regularFaces]); - _voice = selectRandom (_faction getOrDefault ["milVoices", _regularVoices]); - }; -case ("police" in (_unit getVariable "unitType")): - { - _skill = _skill * 0.5; - _face = selectRandom (_faction getOrDefault ["polFaces", _regularFaces]); - _voice = selectRandom (_faction getOrDefault ["polVoices", _regularVoices]); - }; -case ("SF" in (_unit getVariable "unitType")): - { - _skill = _skill * 1.2; - _face = selectRandom (_faction getOrDefault ["sfFaces", _regularFaces]); - _voice = selectRandom (_faction getOrDefault ["sfVoices", _regularVoices]); - }; -case ("Traitor" in (_unit getVariable "unitType")): - { - _face = selectRandom (A3A_faction_reb get "faces"); - _voice = "NoVoice"; - }; -default { - _face = selectRandom _regularFaces; - _voice = selectRandom _regularVoices; - }; +private _baseSkill = (0.1 * A3A_enemySkillMul) + (0.07 * (1 max A3A_activePlayerCount^0.5)) + (0.01 * tierWar); +private _skill = switch (true) do { + case ("militia_" in _type): { _baseSkill * 0.7 }; + case ("police" in _type): { _baseSkill * 0.5 }; + case ("SF" in _type): { _baseSkill * 1.2 }; + default { _baseSkill }; }; -[_unit, _face, _voice] call A3A_fnc_setIdentity; _unit setSkill _skill; //Adjusts squadleaders with improved skill and adds intel action diff --git a/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf b/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf index a5e35800f4..23224d441b 100644 --- a/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf +++ b/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf @@ -74,7 +74,6 @@ while {count _civilians < _numCiv} do for "_i" from 1 to (4 min (_numCiv - count _civilians)) do { private _civ = [_groupCivil, FactionGet(reb, "unitUnarmed"), _pos, [], 0, "NONE"] call A3A_fnc_createUnit; - [_civ, selectRandom (A3A_faction_civ get "faces"), "NoVoice"] call A3A_fnc_setIdentity; _civ forceAddUniform selectRandom (A3A_faction_civ get "uniforms"); _civ addHeadgear selectRandom (A3A_faction_civ get "headgear"); [_civ, selectRandom _civWeapons, 5, 0] call BIS_fnc_addWeapon; diff --git a/A3A/addons/core/functions/Missions/fn_AS_Traitor.sqf b/A3A/addons/core/functions/Missions/fn_AS_Traitor.sqf index 963a09f4c6..8d947d48a6 100644 --- a/A3A/addons/core/functions/Missions/fn_AS_Traitor.sqf +++ b/A3A/addons/core/functions/Missions/fn_AS_Traitor.sqf @@ -45,7 +45,9 @@ _arrayAirports = airportsX select {sidesX getVariable [_x,sideUnknown] == Occupa _base = [_arrayAirports, _positionX] call BIS_Fnc_nearestPosition; _posBase = getMarkerPos _base; -_traitor = [_groupTraitor, FactionGet(occ,"unitTraitor"), _posTraitor, [], 0, "NONE"] call A3A_fnc_createUnit; +private _traitorIdentity = [A3A_faction_reb, FactionGet(occ,"unitTraitor")] call A3A_fnc_createRandomIdentity; +_traitorIdentity set ["speaker", "NoVoice"]; +_traitor = [_groupTraitor, FactionGet(occ,"unitTraitor"), _posTraitor, [], 0, "NONE", _traitorIdentity] call A3A_fnc_createUnit; _traitor allowDamage false; _traitor setPos _posTraitor; _sol1 = [_groupTraitor, FactionGet(occ,"unitBodyguard"), _posSol1, [], 0, "NONE"] call A3A_fnc_createUnit; diff --git a/A3A/addons/core/functions/Missions/fn_RES_Prisoners.sqf b/A3A/addons/core/functions/Missions/fn_RES_Prisoners.sqf index 1b1c25b4f4..4a2294c4dc 100644 --- a/A3A/addons/core/functions/Missions/fn_RES_Prisoners.sqf +++ b/A3A/addons/core/functions/Missions/fn_RES_Prisoners.sqf @@ -65,7 +65,6 @@ _grpPOW = createGroup teamPlayer; for "_i" from 0 to _countX do { _unit = [_grpPOW, FactionGet(reb,"unitUnarmed"), (_posHouse select _i), [], 0, "NONE"] call A3A_fnc_createUnit; - [_unit, selectRandom (A3A_faction_reb get "faces"), selectRandom (A3A_faction_reb get "voices")] call A3A_fnc_setIdentity; _unit allowDamage false; _unit setCaptive true; _unit disableAI "MOVE"; diff --git a/A3A/addons/core/functions/Missions/fn_RES_Refugees.sqf b/A3A/addons/core/functions/Missions/fn_RES_Refugees.sqf index 68cc863ea7..f2ca559806 100644 --- a/A3A/addons/core/functions/Missions/fn_RES_Refugees.sqf +++ b/A3A/addons/core/functions/Missions/fn_RES_Refugees.sqf @@ -51,7 +51,6 @@ _groupPOW = createGroup teamPlayer; for "_i" from 1 to (((count _posHouse) - 1) min 15) do { _unit = [_groupPOW, FactionGet(reb,"unitUnarmed"), _posHouse select _i, [], 0, "NONE"] call A3A_fnc_createUnit; - [_unit, selectRandom (A3A_faction_reb get "faces"), selectRandom (A3A_faction_reb get "voices")] call A3A_fnc_setIdentity; _unit allowdamage false; _unit disableAI "MOVE"; _unit disableAI "AUTOTARGET"; diff --git a/A3A/addons/core/functions/Missions/fn_convoy.sqf b/A3A/addons/core/functions/Missions/fn_convoy.sqf index c655678c0b..eba24c8395 100644 --- a/A3A/addons/core/functions/Missions/fn_convoy.sqf +++ b/A3A/addons/core/functions/Missions/fn_convoy.sqf @@ -189,7 +189,6 @@ if (_convoyType == "Prisoners") then for "_i" from 1 to (1+ round (random 11)) do { private _unit = [_grpPOW, FactionGet(reb,"unitUnarmed"), _posSpawn, [], 0, "NONE"] call A3A_fnc_createUnit; - [_unit, selectRandom (A3A_faction_reb get "faces"), selectRandom (A3A_faction_reb get "voices")] call A3A_fnc_setIdentity; _unit setCaptive true; _unit disableAI "MOVE"; _unit setBehaviour "CARELESS"; diff --git a/A3A/addons/core/functions/REINF/fn_FIAinit.sqf b/A3A/addons/core/functions/REINF/fn_FIAinit.sqf index 372f6f9f5e..373c9a5a3c 100644 --- a/A3A/addons/core/functions/REINF/fn_FIAinit.sqf +++ b/A3A/addons/core/functions/REINF/fn_FIAinit.sqf @@ -28,7 +28,6 @@ _unit setUnitTrait ["audibleCoef",0.8]; // FIAinit is called for liberated refugees/hostages. Don't equip them. if !(_typeX isEqualTo FactionGet(reb,"unitUnarmed")) then { [_unit, [0,1] select (leader _unit != player)] call A3A_fnc_equipRebel; - [_unit, selectRandom (A3A_faction_reb get "faces"), selectRandom (A3A_faction_reb get "voices")] call A3A_fnc_setIdentity; }; _unit selectWeapon (primaryWeapon _unit); diff --git a/A3A/addons/core/functions/init/fn_initClient.sqf b/A3A/addons/core/functions/init/fn_initClient.sqf index 3b90e18821..4a923566f3 100644 --- a/A3A/addons/core/functions/init/fn_initClient.sqf +++ b/A3A/addons/core/functions/init/fn_initClient.sqf @@ -121,7 +121,7 @@ stragglers = creategroup teamPlayer; (group player) enableAttack false; if (isNil "ace_noradio_enabled" or {!ace_noradio_enabled}) then { - [player, nil, selectRandom (A3A_faction_reb get "voices")] call A3A_fnc_setIdentity + [player, createHashMapFromArray[["speaker", selectRandom (A3A_faction_reb get "voices")]]] call A3A_fnc_setIdentity }; //Give the player the base loadout. [player] call A3A_fnc_dress; diff --git a/A3A/addons/patcom/functions/Civilian/fn_civilianInitEH.sqf b/A3A/addons/patcom/functions/Civilian/fn_civilianInitEH.sqf index da094ffaf1..d21bcbdf83 100644 --- a/A3A/addons/patcom/functions/Civilian/fn_civilianInitEH.sqf +++ b/A3A/addons/patcom/functions/Civilian/fn_civilianInitEH.sqf @@ -27,8 +27,6 @@ params ["_unit"]; _unit setSkill 0; _unit disableAI "TARGET"; _unit disableAI "AUTOTARGET"; -//Stops civilians from shouting out commands. -[_unit, selectRandom (A3A_faction_civ get "faces"), "NoVoice"] call A3A_fnc_setIdentity; _unit addEventHandler["FiredNear", { params ["_unit"]; From e16c1f9fb938f25e317133a7ce18affaf1ce9b2d Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Mon, 19 Jun 2023 10:57:35 +0200 Subject: [PATCH 07/10] update setIdentity header --- .../core/functions/Utility/fn_setIdentity.sqf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/A3A/addons/core/functions/Utility/fn_setIdentity.sqf b/A3A/addons/core/functions/Utility/fn_setIdentity.sqf index 750e50c34c..e2466f8413 100644 --- a/A3A/addons/core/functions/Utility/fn_setIdentity.sqf +++ b/A3A/addons/core/functions/Utility/fn_setIdentity.sqf @@ -1,23 +1,23 @@ /* - Set face, voice, pitch and name of unit. Global effect and JIP-safe. +Set face, voice, pitch and name of unit. Global effect and JIP-safe. Scope: Any Environment: Any -Public: Yes +Public: No, should be called once for every unit by A3A_fnc_createUnit. + Quick successive calls to this function for the same unit may apply changes out of order. Arguments: - Object to set identity for - Optional: Face of unit - Optional: Voice/speaker of unit - Optional: (Voice) pitch of unit - Optional: Name of unit + _unit - unit to set identity for. + _identity - identity parameters, see _identity parameter of A3A_fnc_createUnit. + +Return value: */ -params ["_unit"]; // Don't care about the other params here +params ["_unit", "_identity"]; if (isNull _unit) exitWith {}; private _JIPID = "identity_" + netId _unit; -([_JIPID] + _this) remoteExec ["A3A_fnc_setIdentityLocal", 0, _JIPID]; +[_JIPID, _unit, _identity] remoteExec ["A3A_fnc_setIdentityLocal", 0, _JIPID]; // This won't be 100% reliable because it's only installed locally, but it'll avoid remoteExec spam on connection _unit addEventHandler ["Deleted", { From 8ff6c3286fa5ca6b7131d6493505717ad1dd484d Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Mon, 3 Jul 2023 15:27:02 +0300 Subject: [PATCH 08/10] set default faces, voices and names for all factions --- .../Templates/FactionDefaults/CivilianDefaults.sqf | 4 ++++ .../Templates/Templates/FactionDefaults/EnemyDefaults.sqf | 6 +++++- .../core/functions/Utility/fn_createRandomIdentity.sqf | 6 +----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf b/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf index a935654089..95c50dbc7d 100644 --- a/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf +++ b/A3A/addons/core/Templates/Templates/FactionDefaults/CivilianDefaults.sqf @@ -9,4 +9,8 @@ ["faces", ["GreekHead_A3_02", "GreekHead_A3_03", "GreekHead_A3_04", "GreekHead_A3_05", "GreekHead_A3_06", "GreekHead_A3_07", "GreekHead_A3_08", "GreekHead_A3_09", "Ioannou", "Barklem", "AfricanHead_02", "AsianHead_A3_02", "AsianHead_A3_03", "WhiteHead_05"]] call _fnc_saveToTemplate; + +// prevents civilians from shouting out commands +["voices", ["NoVoice"]] call _fnc_saveToTemplate; + "CivMen" call _fnc_saveNames; diff --git a/A3A/addons/core/Templates/Templates/FactionDefaults/EnemyDefaults.sqf b/A3A/addons/core/Templates/Templates/FactionDefaults/EnemyDefaults.sqf index e59ce169df..b97f4508cb 100644 --- a/A3A/addons/core/Templates/Templates/FactionDefaults/EnemyDefaults.sqf +++ b/A3A/addons/core/Templates/Templates/FactionDefaults/EnemyDefaults.sqf @@ -11,4 +11,8 @@ ["placeIntel_itemMedium", ["Land_Document_01_F",-155,false]] call _fnc_saveToTemplate; // [classname,azimuth,isComputer]. ["placeIntel_itemLarge", ["Land_Laptop_unfolded_F",-25,true]] call _fnc_saveToTemplate; // [classname,azimuth,isComputer]. -["attributesVehicles", []] call _fnc_saveToTemplate; \ No newline at end of file +["attributesVehicles", []] call _fnc_saveToTemplate; + +["faces", ["GreekHead_A3_02","GreekHead_A3_03","GreekHead_A3_04","GreekHead_A3_05","GreekHead_A3_06","GreekHead_A3_07","GreekHead_A3_08","GreekHead_A3_09","Ioannou","Mavros"]] call _fnc_saveToTemplate; +["voices", ["Male01GRE","Male02GRE","Male03GRE","Male04GRE","Male05GRE","Male06GRE"]] call _fnc_saveToTemplate; +"GreekMen" call _fnc_saveNames; \ No newline at end of file diff --git a/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf index 33abdff18a..8e46a43049 100644 --- a/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf +++ b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf @@ -36,13 +36,9 @@ private _faces = _faction getOrDefault [_faceKey, _faction get "faces"]; private _identity = createHashMap; _identity set ["face", selectRandom _faces]; -private _voice = "NoVoice"; private _voiceKey = _typePrefix + (if (_typePrefix == "") then { "voices" } else { "Voices" }); private _voices = _faction getOrDefault [_voiceKey, _faction get "voices"]; -if (!(isNil "_voices")) then { - _voice = selectRandom _voices; -}; -_identity set ["speaker", _voice]; +_identity set ["speaker", selectRandom _voices]; _identity set ["firstName", selectRandom (_faction get "firstNames")]; _identity set ["lastName", selectRandom (_faction get "lastNames")]; From d3cc89f230e63288d0b724691cc895c01461ba00 Mon Sep 17 00:00:00 2001 From: Artyom Vasilyev Date: Mon, 3 Jul 2023 16:08:48 +0300 Subject: [PATCH 09/10] fix civilian identity in the punishment mission --- A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf b/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf index 23224d441b..ab651d0ec7 100644 --- a/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf +++ b/A3A/addons/core/functions/CREATE/fn_invaderPunish.sqf @@ -63,6 +63,8 @@ if (_numCiv > 30) then {_numCiv = 30}; private _civilians = []; private _civGroups = []; private _civWeapons = unlockedsniperrifles + unlockedmachineguns + unlockedshotguns + unlockedrifles + unlockedsmgs + unlockedhandguns; +private _unitType = FactionGet(reb, "unitUnarmed"); + while {count _civilians < _numCiv} do { private _groupCivil = createGroup teamPlayer; @@ -71,9 +73,9 @@ while {count _civilians < _numCiv} do private _pos = _posDest getPos [random _size / 2,random 360]; if (!surfaceIsWater _pos) exitWith { _pos }; }; - for "_i" from 1 to (4 min (_numCiv - count _civilians)) do - { - private _civ = [_groupCivil, FactionGet(reb, "unitUnarmed"), _pos, [], 0, "NONE"] call A3A_fnc_createUnit; + for "_i" from 1 to (4 min (_numCiv - count _civilians)) do { + private _identity = [A3A_faction_civ, _unitType] call A3A_fnc_createRandomIdentity; + private _civ = [_groupCivil, _unitType, _pos, [], 0, "NONE", _identity] call A3A_fnc_createUnit; _civ forceAddUniform selectRandom (A3A_faction_civ get "uniforms"); _civ addHeadgear selectRandom (A3A_faction_civ get "headgear"); [_civ, selectRandom _civWeapons, 5, 0] call BIS_fnc_addWeapon; From babf1b321a375e0c220438ca9d22550ea11fc882 Mon Sep 17 00:00:00 2001 From: MadBender Date: Wed, 26 Jul 2023 14:05:50 +0200 Subject: [PATCH 10/10] Formatting fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jouni Järvinen --- A3A/addons/core/functions/Base/fn_createPetros.sqf | 2 +- A3A/addons/core/functions/Templates/fn_loadFaction.sqf | 6 +++--- .../core/functions/Utility/fn_createRandomIdentity.sqf | 2 +- A3A/addons/core/functions/init/fn_initClient.sqf | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/A3A/addons/core/functions/Base/fn_createPetros.sqf b/A3A/addons/core/functions/Base/fn_createPetros.sqf index dba0237379..3d2f1fc499 100644 --- a/A3A/addons/core/functions/Base/fn_createPetros.sqf +++ b/A3A/addons/core/functions/Base/fn_createPetros.sqf @@ -16,7 +16,7 @@ if (isNil "_location") then { }; private _oldPetros = petros; -private _identity = createHashMapFromArray[ +private _identity = createHashMapFromArray [ ["firstName", "Petros"], ["face", "GreekHead_A3_01"], ["speaker", "Male06GRE"], diff --git a/A3A/addons/core/functions/Templates/fn_loadFaction.sqf b/A3A/addons/core/functions/Templates/fn_loadFaction.sqf index 5ce2d880e7..b364c4c7ec 100644 --- a/A3A/addons/core/functions/Templates/fn_loadFaction.sqf +++ b/A3A/addons/core/functions/Templates/fn_loadFaction.sqf @@ -74,10 +74,10 @@ private _fnc_generateAndSaveUnitsToTemplate = { private _fnc_saveNames = { params ["_names"]; - private _nameConfig = configfile >> "CfgWorlds" >> "GenericNames"; - private _firstNames = configProperties[_nameConfig >> _names >> "FirstNames"] apply { getText(_x) }; + private _nameConfig = configfile >> "CfgWorlds" >> "GenericNames" >> _names; + private _firstNames = configProperties [_nameConfig >> "FirstNames"] apply { getText(_x) }; ["firstNames", _firstNames] call _fnc_saveToTemplate; - private _lastNames = configProperties[_nameConfig >> _names >> "LastNames"] apply { getText(_x) }; + private _lastNames = configProperties [_nameConfig >> "LastNames"] apply { getText(_x) }; ["lastNames", _lastNames] call _fnc_saveToTemplate; }; diff --git a/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf index 8e46a43049..096fa0cf48 100644 --- a/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf +++ b/A3A/addons/core/functions/Utility/fn_createRandomIdentity.sqf @@ -21,7 +21,7 @@ Example: private _identity = [A3A_faction_reb, "Rifleman"] call A3A_fnc_createRandomIdentity; */ -params["_faction", "_unitType"]; +params ["_faction", "_unitType"]; private _typePrefix = switch (true) do { case ("militia_" in _unitType): { "mil" }; diff --git a/A3A/addons/core/functions/init/fn_initClient.sqf b/A3A/addons/core/functions/init/fn_initClient.sqf index 06db85f900..ca514d78d9 100644 --- a/A3A/addons/core/functions/init/fn_initClient.sqf +++ b/A3A/addons/core/functions/init/fn_initClient.sqf @@ -122,7 +122,7 @@ stragglers = creategroup teamPlayer; (group player) enableAttack false; if (isNil "ace_noradio_enabled" or {!ace_noradio_enabled}) then { - [player, createHashMapFromArray[["speaker", selectRandom (A3A_faction_reb get "voices")]]] call A3A_fnc_setIdentity + [player, createHashMapFromArray [["speaker", selectRandom (A3A_faction_reb get "voices")]]] call A3A_fnc_setIdentity }; //Give the player the base loadout. [player] call A3A_fnc_dress;