diff --git a/addons/overthrow_main.pbo b/addons/overthrow_main.pbo index 46d27009..d2bc0dc7 100644 Binary files a/addons/overthrow_main.pbo and b/addons/overthrow_main.pbo differ diff --git a/addons/overthrow_main/campaign/missions/OverthrowMpTanoa.Tanoa/mission.sqm b/addons/overthrow_main/campaign/missions/OverthrowMpTanoa.Tanoa/mission.sqm index 3231e080..f6783885 100644 --- a/addons/overthrow_main/campaign/missions/OverthrowMpTanoa.Tanoa/mission.sqm +++ b/addons/overthrow_main/campaign/missions/OverthrowMpTanoa.Tanoa/mission.sqm @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=375; + nextID=377; }; class Camera { - pos[]={8260.8291,19.001881,1106.7407}; - dir[]={0,-0.70710683,0.70710683}; - up[]={0,0.70710677,0.70710677}; - aside[]={0.99999994,0,0}; + pos[]={8275.1074,180.79962,1498.9545}; + dir[]={0.47637776,-0.40311021,0.7814858}; + up[]={0.20984229,0.91512811,0.34424043}; + aside[]={0.85391915,-6.2584877e-007,-0.52053255}; }; }; binarizationWanted=0; @@ -39,6 +39,8 @@ addons[]= "ace_attach", "ace_chemlights", "A3_Weapons_F_Items", + "ace_medical_engine", + "ace_medical_treatment", "ace_medical", "ace_cargo", "ace_captives", @@ -72,7 +74,7 @@ class AddonsMetaData { class List { - items=32; + items=34; class Item0 { className="A3_Ui_F"; @@ -131,166 +133,180 @@ class AddonsMetaData }; class Item8 { - className="ace_medical"; - name="ACE3 - Medical"; + className="ace_medical_engine"; + name="ACE3 - Medical Engine"; author="ACE-Team"; url="http://ace3mod.com/"; }; class Item9 + { + className="ace_medical_treatment"; + name="ACE3 - Medical Treatment"; + author="ACE-Team"; + url="http://ace3mod.com/"; + }; + class Item10 + { + className="ace_medical"; + name="ACE3 - Medical Core"; + author="ACE-Team"; + url="http://ace3mod.com/"; + }; + class Item11 { className="ace_cargo"; name="ACE3 - Cargo"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item10 + class Item12 { className="ace_captives"; name="ACE3 - Captives"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item11 + class Item13 { className="ace_switchunits"; name="ACE3 - Switch Units"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item12 + class Item14 { className="ace_weather"; name="ACE3 - Weather"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item13 + class Item15 { className="ace_vehiclelock"; name="ACE3 - Vehicle Lock"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item14 + class Item16 { className="ace_advanced_fatigue"; name="ACE3 - Advanced Fatigue"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item15 + class Item17 { className="ace_map"; name="ACE3 - Map"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item16 + class Item18 { className="A3_Modules_F"; name="Arma 3 Alpha - Scripted Modules"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item17 + class Item19 { className="ace_rearm"; name="ACE3 - Rearm"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item18 + class Item20 { className="ace_refuel"; name="ACE3 - Refuel"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item19 + class Item21 { className="ace_repair"; name="ACE3 - Repair"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item20 + class Item22 { className="ace_respawn"; name="ACE3 - Respawn"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item21 + class Item23 { className="ace_explosives"; name="ACE3 - Explosives"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item22 + class Item24 { className="ace_ui"; name="ACE3 - UI"; author="ACE-Team"; url="http://ace3mod.com/"; }; - class Item23 + class Item25 { className="A3_Modules_F_Curator"; name="Arma 3 Zeus Update - Scripted Modules"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item24 + class Item26 { className="A3_Structures_F_Exp_Industrial"; name="Arma 3 Apex - Industrial Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item25 + class Item27 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item26 + class Item28 { className="A3_Structures_F_Exp"; name="Arma 3 Apex - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item27 + class Item29 { className="A3_Structures_F_Orange"; name="Arma 3 Orange - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item28 + class Item30 { className="A3_Structures_F_Exp_Infrastructure"; name="Arma 3 Apex - Infrastructure Objects"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item29 + class Item31 { className="A3_Props_F_Exp"; name="Arma 3 Apex - Decorative and Mission Objects"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item30 + class Item32 { className="A3_Structures_F_Mil"; name="Arma 3 - Military Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item31 + class Item33 { className="A3_Structures_F_EPA"; name="Arma 3 Survive Episode - Buildings and Structures"; @@ -1482,7 +1498,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -1518,12 +1534,34 @@ class Mission id=1754; type="ACE_moduleReviveSettings"; atlOffset=49.264294; + }; + class Item25 + { + dataType="Logic"; + class PositionInfo + { + position[]={8784.3457,-0.00020956993,864.98633}; + }; + id=1755; + type="ACE_moduleMedicalSettings"; + atlOffset=48.082451; + }; + class Item26 + { + dataType="Logic"; + class PositionInfo + { + position[]={8784.541,7.6770782e-005,866.70508}; + }; + id=1757; + type="ACE_moduleCargoSettings"; + atlOffset=47.672821; class CustomAttributes { class Attribute0 { - property="ACE_moduleReviveSettings_amountOfReviveLives"; - expression="_this setVariable ['amountOfReviveLives',_value,true];"; + property="ACE_moduleCargoSettings_enable"; + expression="_this setVariable ['enable',_value,true];"; class Value { class data @@ -1532,36 +1570,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=-1; + value=1; }; }; }; class Attribute1 { - property="ACE_moduleReviveSettings_enableRevive"; - expression="_this setVariable ['enableRevive',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=2; - }; - }; - }; - class Attribute2 - { - property="ACE_moduleReviveSettings_maxReviveTime"; - expression="_this setVariable ['maxReviveTime',_value,true];"; + property="ACE_moduleCargoSettings_paradropTimeCoefficent"; + expression="_this setVariable ['paradropTimeCoefficent',_value,true];"; class Value { class data @@ -1570,32 +1589,32 @@ class Mission { type[]= { - "SCALAR" + "STRING" }; }; - value=240; + value="2.5"; }; }; }; - nAttributes=3; + nAttributes=2; }; }; - class Item25 + class Item27 { dataType="Logic"; class PositionInfo { - position[]={8784.3457,-0.00020956993,864.98633}; + position[]={8782.4551,0.00059151649,867.27246}; }; - id=1755; - type="ACE_moduleMedicalSettings"; - atlOffset=48.082451; + id=1758; + type="ace_captives_moduleSettings"; + atlOffset=47.624321; class CustomAttributes { class Attribute0 { - property="ACE_moduleMedicalSettings_litterCleanUpDelay"; - expression="_this setVariable ['litterCleanUpDelay',_value,true];"; + property="ace_captives_moduleSettings_requireSurrender"; + expression="_this setVariable ['requireSurrender',_value,true];"; class Value { class data @@ -1607,14 +1626,14 @@ class Mission "SCALAR" }; }; - value=1800; + value=0; }; }; }; class Attribute1 { - property="ACE_moduleMedicalSettings_enableScreams"; - expression="_this setVariable ['enableScreams',_value,true];"; + property="ace_captives_moduleSettings_allowHandcuffOwnSide"; + expression="_this setVariable ['allowHandcuffOwnSide',_value,true];"; class Value { class data @@ -1626,14 +1645,14 @@ class Mission "BOOL" }; }; - value=1; + value=0; }; }; }; class Attribute2 { - property="ACE_moduleMedicalSettings_preventInstaDeath"; - expression="_this setVariable ['preventInstaDeath',_value,true];"; + property="ace_captives_moduleSettings_allowSurrender"; + expression="_this setVariable ['allowSurrender',_value,true];"; class Value { class data @@ -1651,27 +1670,8 @@ class Mission }; class Attribute3 { - property="ACE_moduleMedicalSettings_bleedingCoefficient"; - expression="_this setVariable ['bleedingCoefficient',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute4 - { - property="ACE_moduleMedicalSettings_increaseTrainingInLocations"; - expression="_this setVariable ['increaseTrainingInLocations',_value,true];"; + property="ace_captives_moduleSettings_requireSurrenderAi"; + expression="_this setVariable ['requireSurrenderAi',_value,true];"; class Value { class data @@ -1687,10 +1687,25 @@ class Mission }; }; }; - class Attribute5 + nAttributes=4; + }; + }; + class Item28 + { + dataType="Logic"; + class PositionInfo + { + position[]={8785.3008,7.6293945e-005,867.42285}; + }; + id=1759; + type="ACE_ModuleSwitchUnits"; + atlOffset=47.475304; + class CustomAttributes + { + class Attribute0 { - property="ACE_moduleMedicalSettings_enableUnconsciousnessAI"; - expression="_this setVariable ['enableUnconsciousnessAI',_value,true];"; + property="ACE_ModuleSwitchUnits_SafeZoneRadius"; + expression="_this setVariable ['SafeZoneRadius',_value,true];"; class Value { class data @@ -1702,14 +1717,14 @@ class Mission "SCALAR" }; }; - value=0; + value=100; }; }; }; - class Attribute6 + class Attribute1 { - property="ACE_moduleMedicalSettings_remoteControlledAI"; - expression="_this setVariable ['remoteControlledAI',_value,true];"; + property="ACE_ModuleSwitchUnits_SwitchToCivilian"; + expression="_this setVariable ['SwitchToCivilian',_value,true];"; class Value { class data @@ -1725,10 +1740,10 @@ class Mission }; }; }; - class Attribute7 + class Attribute2 { - property="ACE_moduleMedicalSettings_painCoefficient"; - expression="_this setVariable ['painCoefficient',_value,true];"; + property="ACE_ModuleSwitchUnits_SwitchToEast"; + expression="_this setVariable ['SwitchToEast',_value,true];"; class Value { class data @@ -1737,17 +1752,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=1; + value=0; }; }; }; - class Attribute8 + class Attribute3 { - property="ACE_moduleMedicalSettings_AIDamageThreshold"; - expression="_this setVariable ['AIDamageThreshold',_value,true];"; + property="ACE_ModuleSwitchUnits_SwitchToWest"; + expression="_this setVariable ['SwitchToWest',_value,true];"; class Value { class data @@ -1756,17 +1771,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=1; + value=0; }; }; }; - class Attribute9 + class Attribute4 { - property="ACE_moduleMedicalSettings_playerDamageThreshold"; - expression="_this setVariable ['playerDamageThreshold',_value,true];"; + property="ACE_ModuleSwitchUnits_SwitchToIndependent"; + expression="_this setVariable ['SwitchToIndependent',_value,true];"; class Value { class data @@ -1775,17 +1790,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=1.2; + value=0; }; }; }; - class Attribute10 + class Attribute5 { - property="ACE_moduleMedicalSettings_level"; - expression="_this setVariable ['level',_value,true];"; + property="ACE_ModuleSwitchUnits_EnableSafeZone"; + expression="_this setVariable ['EnableSafeZone',_value,true];"; class Value { class data @@ -1794,17 +1809,32 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; value=1; }; }; }; - class Attribute11 + nAttributes=6; + }; + }; + class Item29 + { + dataType="Logic"; + class PositionInfo + { + position[]={8781.7578,-4.8398972e-005,863.74365}; + }; + id=1760; + type="ace_weather_ModuleSettings"; + atlOffset=48.457233; + class CustomAttributes + { + class Attribute0 { - property="ACE_moduleMedicalSettings_allowLitterCreation"; - expression="_this setVariable ['allowLitterCreation',_value,true];"; + property="ace_weather_ModuleSettings_enabled"; + expression="_this setVariable ['enabled',_value,true];"; class Value { class data @@ -1816,14 +1846,14 @@ class Mission "BOOL" }; }; - value=0; + value=1; }; }; }; - class Attribute12 + class Attribute1 { - property="ACE_moduleMedicalSettings_keepLocalSettingsSynced"; - expression="_this setVariable ['keepLocalSettingsSynced',_value,true];"; + property="ace_weather_ModuleSettings_windSimulation"; + expression="_this setVariable ['windSimulation',_value,true];"; class Value { class data @@ -1839,10 +1869,10 @@ class Mission }; }; }; - class Attribute13 + class Attribute2 { - property="ACE_moduleMedicalSettings_medicSetting"; - expression="_this setVariable ['medicSetting',_value,true];"; + property="ace_weather_ModuleSettings_updateInterval"; + expression="_this setVariable ['updateInterval',_value,true];"; class Value { class data @@ -1854,29 +1884,29 @@ class Mission "SCALAR" }; }; - value=0; + value=60; }; }; }; - nAttributes=14; + nAttributes=3; }; }; - class Item26 + class Item30 { dataType="Logic"; class PositionInfo { - position[]={8784.541,7.6770782e-005,866.70508}; + position[]={8785.4189,-0.00033378601,869.49561}; }; - id=1757; - type="ACE_moduleCargoSettings"; - atlOffset=47.672821; + id=1761; + type="ACE_VehicleLock_ModuleSetup"; + atlOffset=46.983452; class CustomAttributes { class Attribute0 { - property="ACE_moduleCargoSettings_enable"; - expression="_this setVariable ['enable',_value,true];"; + property="ACE_VehicleLock_ModuleSetup_DefaultLockpickStrength"; + expression="_this setVariable ['DefaultLockpickStrength',_value,true];"; class Value { class data @@ -1885,51 +1915,17 @@ class Mission { type[]= { - "BOOL" + "SCALAR" }; }; - value=1; + value=10; }; }; }; class Attribute1 { - property="ACE_moduleCargoSettings_paradropTimeCoefficent"; - expression="_this setVariable ['paradropTimeCoefficent',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="2.5"; - }; - }; - }; - nAttributes=2; - }; - }; - class Item27 - { - dataType="Logic"; - class PositionInfo - { - position[]={8782.4551,0.00059151649,867.27246}; - }; - id=1758; - type="ace_captives_moduleSettings"; - atlOffset=47.624321; - class CustomAttributes - { - class Attribute0 - { - property="ace_captives_moduleSettings_requireSurrender"; - expression="_this setVariable ['requireSurrender',_value,true];"; + property="ACE_VehicleLock_ModuleSetup_VehicleStartingLockState"; + expression="_this setVariable ['VehicleStartingLockState',_value,true];"; class Value { class data @@ -1941,52 +1937,14 @@ class Mission "SCALAR" }; }; - value=0; - }; - }; - }; - class Attribute1 - { - property="ace_captives_moduleSettings_allowHandcuffOwnSide"; - expression="_this setVariable ['allowHandcuffOwnSide',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + value=2; }; }; }; class Attribute2 { - property="ace_captives_moduleSettings_allowSurrender"; - expression="_this setVariable ['allowSurrender',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute3 - { - property="ace_captives_moduleSettings_requireSurrenderAi"; - expression="_this setVariable ['requireSurrenderAi',_value,true];"; + property="ACE_VehicleLock_ModuleSetup_LockVehicleInventory"; + expression="_this setVariable ['LockVehicleInventory',_value,true];"; class Value { class data @@ -1998,29 +1956,29 @@ class Mission "BOOL" }; }; - value=0; + value=1; }; }; }; - nAttributes=4; + nAttributes=3; }; }; - class Item28 + class Item31 { dataType="Logic"; class PositionInfo { - position[]={8785.3008,7.6293945e-005,867.42285}; + position[]={8783.4316,0.00049591064,867.8584}; }; - id=1759; - type="ACE_ModuleSwitchUnits"; - atlOffset=47.475304; + id=1762; + type="ace_advanced_fatigue_moduleSettings"; + atlOffset=47.45005; class CustomAttributes { class Attribute0 { - property="ACE_ModuleSwitchUnits_SafeZoneRadius"; - expression="_this setVariable ['SafeZoneRadius',_value,true];"; + property="ace_advanced_fatigue_moduleSettings_TerrainGradientFactor"; + expression="_this setVariable ['TerrainGradientFactor',_value,true];"; class Value { class data @@ -2032,14 +1990,14 @@ class Mission "SCALAR" }; }; - value=100; + value=0.80000001; }; }; }; class Attribute1 { - property="ACE_ModuleSwitchUnits_SwitchToCivilian"; - expression="_this setVariable ['SwitchToCivilian',_value,true];"; + property="ace_advanced_fatigue_moduleSettings_Enabled"; + expression="_this setVariable ['Enabled',_value,true];"; class Value { class data @@ -2051,14 +2009,14 @@ class Mission "BOOL" }; }; - value=0; + value=1; }; }; }; class Attribute2 { - property="ACE_ModuleSwitchUnits_SwitchToEast"; - expression="_this setVariable ['SwitchToEast',_value,true];"; + property="ace_advanced_fatigue_moduleSettings_RecoveryFactor"; + expression="_this setVariable ['RecoveryFactor',_value,true];"; class Value { class data @@ -2067,17 +2025,17 @@ class Mission { type[]= { - "BOOL" + "SCALAR" }; }; - value=0; + value=1; }; }; }; class Attribute3 { - property="ACE_ModuleSwitchUnits_SwitchToWest"; - expression="_this setVariable ['SwitchToWest',_value,true];"; + property="ace_advanced_fatigue_moduleSettings_LoadFactor"; + expression="_this setVariable ['LoadFactor',_value,true];"; class Value { class data @@ -2086,36 +2044,17 @@ class Mission { type[]= { - "BOOL" + "SCALAR" }; }; - value=0; + value=0.80000001; }; }; }; class Attribute4 { - property="ACE_ModuleSwitchUnits_SwitchToIndependent"; - expression="_this setVariable ['SwitchToIndependent',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute5 - { - property="ACE_ModuleSwitchUnits_EnableSafeZone"; - expression="_this setVariable ['EnableSafeZone',_value,true];"; + property="ace_advanced_fatigue_moduleSettings_PerformanceFactor"; + expression="_this setVariable ['PerformanceFactor',_value,true];"; class Value { class data @@ -2124,32 +2063,32 @@ class Mission { type[]= { - "BOOL" + "SCALAR" }; }; value=1; }; }; }; - nAttributes=6; + nAttributes=5; }; }; - class Item29 + class Item32 { dataType="Logic"; class PositionInfo { - position[]={8781.7578,-4.8398972e-005,863.74365}; + position[]={8781.8125,0,859.43115}; }; - id=1760; - type="ace_weather_ModuleSettings"; - atlOffset=48.457233; + id=1766; + type="ACE_ModuleMap"; + atlOffset=49.448441; class CustomAttributes { class Attribute0 { - property="ace_weather_ModuleSettings_enabled"; - expression="_this setVariable ['enabled',_value,true];"; + property="ACE_ModuleMap_MapShake"; + expression="_this setVariable ['MapShake',_value,true];"; class Value { class data @@ -2161,14 +2100,14 @@ class Mission "BOOL" }; }; - value=1; + value=0; }; }; }; class Attribute1 { - property="ace_weather_ModuleSettings_windSimulation"; - expression="_this setVariable ['windSimulation',_value,true];"; + property="ACE_ModuleMap_MapShowCursorCoordinates"; + expression="_this setVariable ['MapShowCursorCoordinates',_value,true];"; class Value { class data @@ -2186,8 +2125,8 @@ class Mission }; class Attribute2 { - property="ace_weather_ModuleSettings_updateInterval"; - expression="_this setVariable ['updateInterval',_value,true];"; + property="ACE_ModuleMap_DefaultChannel"; + expression="_this setVariable ['DefaultChannel',_value,true];"; class Value { class data @@ -2199,29 +2138,14 @@ class Mission "SCALAR" }; }; - value=60; + value=-1; }; }; }; - nAttributes=3; - }; - }; - class Item30 - { - dataType="Logic"; - class PositionInfo - { - position[]={8785.4189,-0.00033378601,869.49561}; - }; - id=1761; - type="ACE_VehicleLock_ModuleSetup"; - atlOffset=46.983452; - class CustomAttributes - { - class Attribute0 + class Attribute3 { - property="ACE_VehicleLock_ModuleSetup_DefaultLockpickStrength"; - expression="_this setVariable ['DefaultLockpickStrength',_value,true];"; + property="ACE_ModuleMap_MapIllumination"; + expression="_this setVariable ['MapIllumination',_value,true];"; class Value { class data @@ -2230,17 +2154,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=10; + value=0; }; }; }; - class Attribute1 + class Attribute4 { - property="ACE_VehicleLock_ModuleSetup_VehicleStartingLockState"; - expression="_this setVariable ['VehicleStartingLockState',_value,true];"; + property="ACE_ModuleMap_MapGlow"; + expression="_this setVariable ['MapGlow',_value,true];"; class Value { class data @@ -2249,17 +2173,17 @@ class Mission { type[]= { - "SCALAR" + "BOOL" }; }; - value=2; + value=0; }; }; }; - class Attribute2 + class Attribute5 { - property="ACE_VehicleLock_ModuleSetup_LockVehicleInventory"; - expression="_this setVariable ['LockVehicleInventory',_value,true];"; + property="ACE_ModuleMap_MapLimitZoom"; + expression="_this setVariable ['MapLimitZoom',_value,true];"; class Value { class data @@ -2271,278 +2195,39 @@ class Mission "BOOL" }; }; - value=1; + value=0; }; }; }; - nAttributes=3; + nAttributes=6; }; }; - class Item31 + class Item33 { dataType="Logic"; class PositionInfo { - position[]={8783.4316,0.00049591064,867.8584}; + position[]={8260.708,2.1254003,1130.2738}; + angles[]={6.1245303,0,0.087773547}; }; - id=1762; - type="ace_advanced_fatigue_moduleSettings"; - atlOffset=47.45005; - class CustomAttributes + id=1778; + type="HighCommand"; + atlOffset=0.21927238; + }; + class Item34 + { + dataType="Group"; + side="Independent"; + class Entities { - class Attribute0 + items=1; + class Item0 { - property="ace_advanced_fatigue_moduleSettings_TerrainGradientFactor"; - expression="_this setVariable ['TerrainGradientFactor',_value,true];"; - class Value + dataType="Object"; + class PositionInfo { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0.80000001; - }; - }; - }; - class Attribute1 - { - property="ace_advanced_fatigue_moduleSettings_Enabled"; - expression="_this setVariable ['Enabled',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=1; - }; - }; - }; - class Attribute2 - { - property="ace_advanced_fatigue_moduleSettings_RecoveryFactor"; - expression="_this setVariable ['RecoveryFactor',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute3 - { - property="ace_advanced_fatigue_moduleSettings_LoadFactor"; - expression="_this setVariable ['LoadFactor',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0.80000001; - }; - }; - }; - class Attribute4 - { - property="ace_advanced_fatigue_moduleSettings_PerformanceFactor"; - expression="_this setVariable ['PerformanceFactor',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - nAttributes=5; - }; - }; - class Item32 - { - dataType="Logic"; - class PositionInfo - { - position[]={8781.8125,0,859.43115}; - }; - id=1766; - type="ACE_ModuleMap"; - atlOffset=49.448441; - class CustomAttributes - { - class Attribute0 - { - property="ACE_ModuleMap_MapShake"; - expression="_this setVariable ['MapShake',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute1 - { - property="ACE_ModuleMap_MapShowCursorCoordinates"; - expression="_this setVariable ['MapShowCursorCoordinates',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=1; - }; - }; - }; - class Attribute2 - { - property="ACE_ModuleMap_DefaultChannel"; - expression="_this setVariable ['DefaultChannel',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=-1; - }; - }; - }; - class Attribute3 - { - property="ACE_ModuleMap_MapIllumination"; - expression="_this setVariable ['MapIllumination',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute4 - { - property="ACE_ModuleMap_MapGlow"; - expression="_this setVariable ['MapGlow',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute5 - { - property="ACE_ModuleMap_MapLimitZoom"; - expression="_this setVariable ['MapLimitZoom',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=6; - }; - }; - class Item33 - { - dataType="Logic"; - class PositionInfo - { - position[]={8260.708,2.1254003,1130.2738}; - angles[]={6.1245303,0,0.087773547}; - }; - id=1778; - type="HighCommand"; - atlOffset=0.21927238; - }; - class Item34 - { - dataType="Group"; - side="Independent"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={8260.9453,2.1833193,1128.2217}; - angles[]={0,2.1661577,0}; + position[]={8260.9453,2.1833193,1128.2217}; + angles[]={0,2.1661577,0}; }; side="Independent"; flags=2; @@ -2692,7 +2377,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -2881,7 +2566,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -3070,7 +2755,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -3259,7 +2944,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -3448,7 +3133,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -3637,7 +3322,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -4754,269 +4439,18 @@ class Mission id=1909; type="ACE_moduleAdvancedMedicalSettings"; atlOffset=-0.001999855; - class CustomAttributes + }; + class Item49 + { + dataType="Group"; + side="Independent"; + class Entities { - class Attribute0 + items=1; + class Item0 { - property="ACE_moduleAdvancedMedicalSettings_enableVehicleCrashes"; - expression="_this setVariable ['enableVehicleCrashes',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute1 - { - property="ACE_moduleAdvancedMedicalSettings_consumeItem_SurgicalKit"; - expression="_this setVariable ['consumeItem_SurgicalKit',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute2 - { - property="ACE_moduleAdvancedMedicalSettings_enableAdvancedWounds"; - expression="_this setVariable ['enableAdvancedWounds',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute3 - { - property="ACE_moduleAdvancedMedicalSettings_consumeItem_PAK"; - expression="_this setVariable ['consumeItem_PAK',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute4 - { - property="ACE_moduleAdvancedMedicalSettings_useCondition_PAK"; - expression="_this setVariable ['useCondition_PAK',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute5 - { - property="ACE_moduleAdvancedMedicalSettings_medicSetting_PAK"; - expression="_this setVariable ['medicSetting_PAK',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute6 - { - property="ACE_moduleAdvancedMedicalSettings_medicSetting_SurgicalKit"; - expression="_this setVariable ['medicSetting_SurgicalKit',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1; - }; - }; - }; - class Attribute7 - { - property="ACE_moduleAdvancedMedicalSettings_healHitPointAfterAdvBandage"; - expression="_this setVariable ['healHitPointAfterAdvBandage',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - class Attribute8 - { - property="ACE_moduleAdvancedMedicalSettings_useLocation_SurgicalKit"; - expression="_this setVariable ['useLocation_SurgicalKit',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=3; - }; - }; - }; - class Attribute9 - { - property="ACE_moduleAdvancedMedicalSettings_useCondition_SurgicalKit"; - expression="_this setVariable ['useCondition_SurgicalKit',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0; - }; - }; - }; - class Attribute10 - { - property="ACE_moduleAdvancedMedicalSettings_useLocation_PAK"; - expression="_this setVariable ['useLocation_PAK',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=3; - }; - }; - }; - class Attribute11 - { - property="ACE_moduleAdvancedMedicalSettings_enableFor"; - expression="_this setVariable ['enableFor',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0; - }; - }; - }; - class Attribute12 - { - property="ACE_moduleAdvancedMedicalSettings_painIsOnlySuppressed"; - expression="_this setVariable ['painIsOnlySuppressed',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=1; - }; - }; - }; - nAttributes=13; - }; - }; - class Item49 - { - dataType="Group"; - side="Independent"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo + dataType="Object"; + class PositionInfo { position[]={8259.0938,1.5116251,1125.3787}; angles[]={0,2.1167357,0}; @@ -5169,7 +4603,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -5397,17 +4831,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={4260.0249,12.894197,8463.6885}; - angles[]={0,0.05455333,0}; + position[]={4260.0249,12.893972,8463.6885}; + angles[]={0,0.054558992,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=1960; type="Land_SCF_01_generalBuilding_F"; - atlOffset=-1.3087754; + atlOffset=-1.3090005; }; class Item60 { @@ -5455,17 +4890,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={4176.8071,8.2978001,8383.7256}; - angles[]={0,2.8103263,0}; + position[]={4176.8071,8.297637,8383.7256}; + angles[]={0,2.8103292,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=1963; type="Land_SCF_01_warehouse_F"; - atlOffset=0.024163485; + atlOffset=0.024000406; }; class Item62 { @@ -5635,36 +5071,38 @@ class Mission dataType="Object"; class PositionInfo { - position[]={2090.2102,25.833403,3391.0469}; - angles[]={0,4.480782,0}; + position[]={2090.21,25.833431,3391.0471}; + angles[]={0,4.4807839,0}; }; side="Empty"; flags=1; class Attributes { + dynamicSimulation=1; aiRadarUsage=1081719681; }; id=2109; type="Land_Cargo_Tower_V4_F"; - atlOffset=0.35198593; + atlOffset=0.35200119; }; class Item67 { dataType="Object"; class PositionInfo { - position[]={11611.42,17.576286,3065.7844}; - angles[]={0,5.3795266,0}; + position[]={11611.42,17.57621,3065.7839}; + angles[]={0,5.3795238,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=1011571308; }; id=2111; type="Land_Cargo_Tower_V4_F"; - atlOffset=7.6770782e-005; + atlOffset=4.7683716e-007; }; class Item68 { @@ -5678,6 +5116,7 @@ class Mission flags=5; class Attributes { + dynamicSimulation=1; }; id=2112; type="Land_Cargo_Tower_V4_F"; @@ -5695,6 +5134,7 @@ class Mission flags=1; class Attributes { + dynamicSimulation=1; aiRadarUsage=-2147483457; }; id=2113; @@ -5706,87 +5146,92 @@ class Mission dataType="Object"; class PositionInfo { - position[]={5171.9634,33.106934,3653.1125}; - angles[]={0,3.9708266,0}; + position[]={5171.9629,33.106934,3653.113}; + angles[]={0,3.9708333,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2114; type="Land_Cargo_Tower_V4_F"; - atlOffset=0.040994644; + atlOffset=0.041000366; }; class Item71 { dataType="Object"; class PositionInfo { - position[]={10090.385,422.82147,11821.047}; - angles[]={0,5.7118678,0}; + position[]={10090.385,422.82181,11821.047}; + angles[]={0,5.7118692,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2115; type="Land_Cargo_Tower_V4_F"; - atlOffset=-0.035308838; + atlOffset=-0.034973145; }; class Item72 { dataType="Object"; class PositionInfo { - position[]={11925.78,19.836195,13054.678}; - angles[]={0,0.27213302,0}; + position[]={11925.78,19.836208,13054.678}; + angles[]={0,0.27213174,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=523264; }; id=2116; type="Land_Cargo_Tower_V4_F"; - atlOffset=-1.4305115e-005; + atlOffset=-9.5367432e-007; }; class Item73 { dataType="Object"; class PositionInfo { - position[]={2370.2708,26.039562,13301.747}; - angles[]={0,4.0587606,0}; + position[]={2370.271,26.039537,13301.747}; + angles[]={0,4.058763,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2117; type="Land_Cargo_Tower_V4_F"; - atlOffset=0.0020246506; + atlOffset=0.001999855; }; class Item74 { dataType="Object"; class PositionInfo { - position[]={2141.2786,25.590662,13113.537}; - angles[]={0,4.0945816,0}; + position[]={2141.2791,25.590569,13113.537}; + angles[]={0,4.0945773,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2118; type="Land_Cargo_Tower_V4_F"; - atlOffset=8.392334e-005; + atlOffset=-9.5367432e-007; }; class Item75 { @@ -5811,126 +5256,130 @@ class Mission dataType="Object"; class PositionInfo { - position[]={1732.505,18.193048,12850.115}; - angles[]={0,0.019748457,0}; + position[]={1732.505,18.192986,12850.115}; + angles[]={0,0.019757126,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1089176317; }; id=2120; type="Land_Cargo_Patrol_V4_F"; - atlOffset=0.093062401; + atlOffset=0.092999458; }; class Item77 { dataType="Object"; class PositionInfo { - position[]={2372.4001,17.366394,13071.793}; - angles[]={0,5.7379179,0}; + position[]={2372.3999,17.366425,13071.793}; + angles[]={0,5.7379093,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=56; }; id=2121; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-3.528595e-005; + atlOffset=-9.5367432e-007; }; class Item78 { dataType="Object"; class PositionInfo { - position[]={2327.7681,17.853319,6346.8809}; - angles[]={0,3.6645083,0}; + position[]={2327.7681,17.853394,6346.8809}; + angles[]={0,3.6645107,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2124; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-7.5340271e-005; + atlOffset=-9.5367432e-007; }; class Item79 { dataType="Object"; class PositionInfo { - position[]={2234.0952,16.736891,6317.6133}; - angles[]={0,1.8329573,0}; + position[]={2234.095,16.736994,6317.6128}; + angles[]={0,1.8329623,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2125; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-0.00010299683; + atlOffset=-9.5367432e-007; }; class Item80 { dataType="Object"; class PositionInfo { - position[]={11032.859,195.47185,4215.8862}; - angles[]={0,1.2573732,0}; + position[]={11032.86,195.47191,4215.8862}; + angles[]={0,1.2573701,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2126; type="Land_Cargo_Tower_V4_F"; - atlOffset=-6.1035156e-005; }; class Item81 { dataType="Object"; class PositionInfo { - position[]={11768.212,9.5949993,2981.0325}; - angles[]={0,5.4081845,0}; + position[]={11768.212,9.5950003,2981.032}; + angles[]={0,5.4081817,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2127; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-9.5367432e-007; }; class Item82 { dataType="Object"; class PositionInfo { - position[]={2687.3269,222.3548,2599.1257}; - angles[]={0,4.026258,0}; + position[]={2687.3269,222.35481,2599.126}; + angles[]={0,4.0262651,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; aiRadarUsage=-1054867456; }; id=2128; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-1.5258789e-005; }; class Item83 { @@ -5971,51 +5420,51 @@ class Mission dataType="Object"; class PositionInfo { - position[]={11578.469,56.164059,7371.2627}; - angles[]={6.1401687,5.7970676,0.0079935296}; + position[]={11578.469,56.164276,7371.2632}; + angles[]={6.140173,5.7970586,0.0079936078}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2131; type="Land_MedicalTent_01_tropic_closed_F"; - atlOffset=-0.00014877319; }; class Item86 { dataType="Object"; class PositionInfo { - position[]={11563.675,55.40086,7357.9146}; - angles[]={0,5.7837062,0}; + position[]={11563.675,55.401043,7357.915}; + angles[]={0,5.7837067,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2137; type="Land_HBarrier_01_tower_green_F"; - atlOffset=-7.6293945e-006; }; class Item87 { dataType="Object"; class PositionInfo { - position[]={11594.34,54.192623,7345.9971}; - angles[]={0,1.0849915,0}; + position[]={11594.34,54.192657,7345.9971}; + angles[]={0,1.0849839,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2138; type="Land_WaterTank_02_F"; - atlOffset=-3.4332275e-005; }; class Item88 { @@ -6039,51 +5488,51 @@ class Mission dataType="Object"; class PositionInfo { - position[]={4512.4287,6.6649251,8417.582}; - angles[]={0,1.0444649,0}; + position[]={4512.4292,6.6648068,8417.582}; + angles[]={0,1.0444573,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2141; type="Land_Cargo_HQ_V4_F"; - atlOffset=7.4386597e-005; }; class Item90 { dataType="Object"; class PositionInfo { - position[]={4530.897,15.580993,8426.1006}; - angles[]={0,4.2178812,0}; + position[]={4530.897,15.580995,8426.1006}; + angles[]={0,4.217885,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2146; type="Land_Cargo_Tower_V4_F"; - atlOffset=-1.9073486e-006; }; class Item91 { dataType="Object"; class PositionInfo { - position[]={4483.6826,8.1082211,8431.208}; - angles[]={0,1.4735627,0}; + position[]={4483.6831,8.108223,8431.208}; + angles[]={0,1.473564,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2147; type="Land_Cargo_Patrol_V4_F"; - atlOffset=-1.9073486e-006; }; class Item92 { @@ -6091,50 +5540,122 @@ class Mission class PositionInfo { position[]={4539.1025,3.0058146,8433.1709}; - angles[]={0,4.1100688,0}; + angles[]={0,4.110076,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2145; type="Land_Mil_ConcreteWall_F"; atlOffset=1.0490417e-005; - }; - class Item93 - { - dataType="Object"; - class PositionInfo - { - position[]={4536.8071,2.9474492,8436.4287}; - angles[]={0,4.1100688,0}; - }; - side="Empty"; - flags=5; - class Attributes + class CustomAttributes { - }; - id=2144; - type="Land_Mil_ConcreteWall_F"; - atlOffset=2.1457672e-005; - }; - class Item94 - { - dataType="Object"; + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item93 + { + dataType="Object"; + class PositionInfo + { + position[]={4536.8071,2.9474492,8436.4287}; + angles[]={0,4.110076,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=2144; + type="Land_Mil_ConcreteWall_F"; + atlOffset=2.1457672e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item94 + { + dataType="Object"; class PositionInfo { position[]={4534.5303,2.8999007,8439.6748}; - angles[]={0,4.1100688,0}; + angles[]={0,4.110076,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2143; type="Land_Mil_ConcreteWall_F"; atlOffset=2.9087067e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item95 { @@ -6142,16 +5663,40 @@ class Mission class PositionInfo { position[]={4528.5146,2.8330824,8448.9736}; - angles[]={0,4.1100688,0}; + angles[]={0,4.110076,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2148; type="Land_Mil_ConcreteWall_F"; atlOffset=-9.5367432e-007; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item96 { @@ -6159,16 +5704,40 @@ class Mission class PositionInfo { position[]={4526.2969,2.8418429,8452.2588}; - angles[]={0,4.1100688,0}; + angles[]={0,4.110076,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2149; type="Land_Mil_ConcreteWall_F"; atlOffset=-2.3841858e-007; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item97 { @@ -6176,16 +5745,40 @@ class Mission class PositionInfo { position[]={4524.1382,2.8923299,8455.5107}; - angles[]={0,4.1100688,0}; + angles[]={0,4.110076,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2150; type="Land_Mil_ConcreteWall_F"; atlOffset=-1.4305115e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item98 { @@ -6193,16 +5786,40 @@ class Mission class PositionInfo { position[]={4521.4819,2.9543407,8456.1172}; - angles[]={0,2.617595,0}; + angles[]={0,2.6175926,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2151; type="Land_Mil_ConcreteWall_F"; atlOffset=2.3841858e-007; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item99 { @@ -6210,16 +5827,40 @@ class Mission class PositionInfo { position[]={4518.0039,3.1138203,8454.1055}; - angles[]={0,2.617595,0}; + angles[]={0,2.6175926,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2152; type="Land_Mil_ConcreteWall_F"; atlOffset=-4.0531158e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item100 { @@ -6227,133 +5868,274 @@ class Mission class PositionInfo { position[]={4514.5933,3.3237596,8452.208}; - angles[]={0,2.617595,0}; + angles[]={0,2.6175926,0}; }; side="Empty"; flags=5; class Attributes { + disableSimulation=1; }; id=2153; type="Land_Mil_ConcreteWall_F"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item101 { dataType="Object"; class PositionInfo { - position[]={4516.9302,4.6032009,8446.6445}; - angles[]={0,2.631089,6.2352223}; + position[]={4516.9302,4.6031914,8446.6445}; + angles[]={0,2.6310837,6.2352238}; }; side="Empty"; flags=4; class Attributes { + dynamicSimulation=1; }; id=2154; type="Land_IRMaskingCover_01_F"; - atlOffset=9.5367432e-006; }; class Item102 { dataType="Object"; class PositionInfo { - position[]={4539.7617,2.4800768,8408.9395}; - angles[]={6.2618566,1.0247688,6.2299027}; + position[]={4539.7622,2.4800682,8408.9395}; + angles[]={6.2618575,1.02477,6.2299004}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2156; type="Land_HelipadCircle_F"; - atlOffset=-1.5735626e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item103 { dataType="Object"; class PositionInfo { - position[]={4505.5928,3.6780353,8443.6836}; - angles[]={6.2591896,1.1549981,6.2432065}; + position[]={4505.5928,3.6780469,8443.6836}; + angles[]={6.2591867,1.1550065,6.2431998}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2157; type="Land_ScrapHeap_1_F"; - atlOffset=-1.168251e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item104 { dataType="Object"; class PositionInfo { - position[]={4504.2656,3.7844262,8412.2402}; - angles[]={0.039977662,2.5606291,0.018663859}; + position[]={4504.2661,3.7844129,8412.2402}; + angles[]={0.039985489,2.5606248,0.018657569}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2158; type="Land_Scrap_MRAP_01_F"; - atlOffset=2.1934509e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item105 { dataType="Object"; class PositionInfo { - position[]={3429.2388,8.9499998,12893.682}; - angles[]={0,4.8003492,0}; + position[]={3429.239,8.9499998,12893.682}; + angles[]={0,4.8003535,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2161; type="Land_HelipadCircle_F"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item106 { dataType="Object"; class PositionInfo { - position[]={3392.9512,21.607758,12896.071}; - angles[]={0,4.8485866,0}; + position[]={3392.9509,21.607525,12896.071}; + angles[]={0,4.8485942,0}; }; side="Empty"; flags=5; class Attributes { + dynamicSimulation=1; }; id=2162; type="Land_Cargo_Tower_V4_F"; - atlOffset=0.00024414063; + atlOffset=9.5367432e-007; }; class Item107 { dataType="Object"; class PositionInfo { - position[]={3871.2893,10.546876,13415.423}; - angles[]={0,4.1320949,0.0053265258}; + position[]={3871.2891,10.546875,13415.423}; + angles[]={0,4.132102,0.0053232545}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2163; type="Land_HelipadCircle_F"; - atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item108 { @@ -6367,10 +6149,34 @@ class Mission flags=4; class Attributes { + disableSimulation=1; }; id=2164; type="Land_HelipadCircle_F"; atlOffset=-3.1471252e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item109 { @@ -6384,10 +6190,34 @@ class Mission flags=4; class Attributes { + disableSimulation=1; }; id=2165; type="Land_HelipadCircle_F"; atlOffset=-2.8610229e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item110 { @@ -6401,27 +6231,74 @@ class Mission flags=4; class Attributes { + disableSimulation=1; }; id=2166; type="Land_HelipadCircle_F"; atlOffset=-9.5367432e-007; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item111 { dataType="Object"; class PositionInfo { - position[]={2251.0854,14.103055,6282.2241}; - angles[]={0.1141679,0.23101319,0.031990308}; + position[]={2251.085,14.102973,6282.2241}; + angles[]={0.11416198,0.23101178,0.031991884}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; id=2167; type="Land_HelipadCircle_F"; - atlOffset=6.7710876e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + class type + { + type[]= + { + "BOOL" + }; + }; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item112 { @@ -6586,7 +6463,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -6775,7 +6652,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -6964,7 +6841,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -7153,7 +7030,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -7342,7 +7219,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -7531,7 +7408,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -7720,7 +7597,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -7909,7 +7786,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -8098,7 +7975,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -8287,7 +8164,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -8476,7 +8353,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -8665,7 +8542,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -8854,7 +8731,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9043,7 +8920,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9232,7 +9109,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9421,7 +9298,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9610,7 +9487,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9799,7 +9676,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -9988,7 +9865,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -10177,7 +10054,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -10366,7 +10243,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -10555,7 +10432,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -10744,7 +10621,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data @@ -10933,7 +10810,7 @@ class Mission class Attribute6 { property="ace_isMedic"; - expression="if (_value > -1) then {_this setVariable [""ace_medical_medicClass"", _value, true];};"; + expression="if (_value != -1 && {_value != (parseNumber (_this getUnitTrait 'medic'))}) then {_this setVariable [""ace_medical_medicClass"", _value, true]}"; class Value { class data diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initCarDealer.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initCarDealer.sqf index 02061091..ea113d08 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initCarDealer.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initCarDealer.sqf @@ -4,8 +4,8 @@ _unit = _this select 0; (group _unit) setVariable ["VCM_Disable",true]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; @@ -16,13 +16,16 @@ removeBackpack _unit; removeHeadgear _unit; removeVest _unit; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExec ["setFace", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExec ["setFace", 0, _unit]; [_unit, "NoVoice"] remoteExecCall ["setSpeaker", 0, _unit]; -_unit forceAddUniform (OT_clothes_carDealers call BIS_fnc_selectRandom); +_unit forceAddUniform (selectRandom OT_clothes_carDealers); [_unit,"self"] call OT_fnc_setOwner; +_unit disableAI "ALL"; +_unit enableAI "ANIM"; + _unit addEventHandler ["FiredNear", { _u = _this select 0; _u setUnitPos "DOWN"; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initCivilian.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initCivilian.sqf index 50ec0267..23118cad 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initCivilian.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initCivilian.sqf @@ -24,4 +24,5 @@ _unit addEventHandler ["FiredNear", { }; }]; +_unit disableAI "FSM"; _unit addEventHandler ["Dammaged", OT_fnc_EnemyDamagedHandler]; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initCrimLeader.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initCrimLeader.sqf index f6555b2b..a99f9f68 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initCrimLeader.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initCrimLeader.sqf @@ -8,9 +8,9 @@ _unit disableAI "PATH"; _unit setVariable ["crimleader",true,true]; _unit setVariable ["hometown",_town,true]; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; -[_unit, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _unit]; -_unit forceAddUniform (OT_CRIM_Clothes call BIS_fnc_selectRandom); +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _unit]; +_unit forceAddUniform (selectRandom OT_CRIM_Clothes); private _gang = OT_civilians getVariable [format["gang%1",_gangid],[]]; _unit setUnitLoadout [_gang select 5,true]; @@ -22,7 +22,7 @@ if((random 100) < 50) then { _unit addItem "OT_Blow"; }; -_unit addGoggles (OT_CRIM_Goggles call BIS_fnc_selectRandom); +_unit addGoggles (selectRandom OT_CRIM_Goggles); _unit addEventHandler ["Dammaged", OT_fnc_EnemyDamagedHandler]; _unit addEventHandler ["FiredNear", {params ["_unit"];_unit enableAI "PATH"}]; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initCriminal.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initCriminal.sqf index 346dac94..08dd829d 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initCriminal.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initCriminal.sqf @@ -19,7 +19,7 @@ if((random 100) < 15) then { params ["_unit"]; if((random 100) > 80) exitWith { //This is a medic - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to 10 do {_unit addItemToBackpack "ACE_fieldDressing";}; for "_i" from 1 to 3 do {_unit addItemToBackpack "ACE_morphine";}; _unit addItemToBackpack "ACE_bloodIV"; @@ -27,7 +27,7 @@ if((random 100) < 15) then { }; if((random 100) > 90) exitWith { //This is an engineer - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to 2 do {_unit addItemToBackpack "DemoCharge_Remote_Mag";}; _unit addItemToBackpack "APERSBoundingMine_Range_Mag"; _unit addItemToBackpack "ClaymoreDirectionalMine_Remote_Mag"; @@ -42,10 +42,10 @@ if((random 100) < 15) then { }; if((random 100) > 97) exitWith { //This guy is a drug runner - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to round(random 15) do {_unit addItemToBackpack "OT_Ganja";}; }; }; -_unit addGoggles (OT_CRIM_Goggles call BIS_fnc_selectRandom); +_unit addGoggles (selectRandom OT_CRIM_Goggles); _unit addEventHandler ["Dammaged", OT_fnc_EnemyDamagedHandler]; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initGendarm.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initGendarm.sqf index ede7d3a1..2645ce8f 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initGendarm.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initGendarm.sqf @@ -1,7 +1,7 @@ params ["_unit","_town"]; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; -[_unit, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _unit]; _unit setVariable ["garrison",_town,false]; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initGunDealer.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initGunDealer.sqf index 134e4e35..7603f784 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initGunDealer.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initGunDealer.sqf @@ -4,12 +4,12 @@ _unit = _this select 0; (group _unit) setVariable ["VCM_Disable",true]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; [_unit, "NoVoice"] remoteExecCall ["setSpeaker", 0, _unit]; removeAllWeapons _unit; @@ -21,10 +21,12 @@ removeVest _unit; _unit setVariable ["NOAI",true,false]; -_unit forceAddUniform (OT_clothes_guerilla call BIS_fnc_selectRandom); +_unit forceAddUniform (selectRandom OT_clothes_guerilla); _unit addGoggles (selectRandom OT_allGlasses); _group = group _unit; +_unit disableAI "ALL"; +_unit enableAI "ANIM"; _group setBehaviour "CARELESS"; [_unit,"self"] call OT_fnc_setOwner; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initHarbor.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initHarbor.sqf index 5e610d77..f4466a2a 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initHarbor.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initHarbor.sqf @@ -4,12 +4,12 @@ _unit = _this select 0; (group _unit) setVariable ["VCM_Disable",true]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local;; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExec ["setCivName",0,_unit]; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; [_unit, "NoVoice"] remoteExecCall ["setSpeaker", 0, _unit]; removeAllWeapons _unit; @@ -19,10 +19,13 @@ removeBackpack _unit; removeHeadgear _unit; removeVest _unit; -_unit forceAddUniform (OT_clothes_harbor call BIS_fnc_selectRandom); +_unit forceAddUniform (selectRandom OT_clothes_harbor); [_unit,"self"] call OT_fnc_setOwner; +_unit disableAI "ALL"; +_unit enableAI "ANIM"; + _unit addEventHandler ["FiredNear", { _u = _this select 0; _u setUnitPos "DOWN"; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initMobBoss.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initMobBoss.sqf index eaf5d5b4..66603a57 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initMobBoss.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initMobBoss.sqf @@ -3,8 +3,8 @@ _unit = _this; _unit setVariable ["mobboss",true,false]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; @@ -19,7 +19,7 @@ _unit addEventHandler ["HandleDamage", { }]; [_unit, OT_face_localBoss] remoteExecCall ["setFace", 0, _unit]; -[_unit, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _unit]; +[_unit, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _unit]; _unit forceAddUniform OT_clothes_mob; removeAllItems _unit; @@ -34,7 +34,7 @@ _unit addHeadgear "H_Booniehat_khk_hs"; _unit linkItem "ItemMap"; _unit linkItem "ItemCompass"; -_unit addVest (OT_allExpensiveVests call BIS_fnc_selectRandom); +_unit addVest (selectRandom OT_allExpensiveVests); if(OT_hasTFAR) then { _unit linkItem "tf_fadak"; }else{ @@ -48,7 +48,7 @@ if(_hour < 8 || _hour > 15) then { _unit linkItem "ACE_Altimeter"; _unit linkItem "ACE_Cellphone"; -_weapon = (OT_CRIM_Weapons + OT_allCheapRifles) call BIS_fnc_selectRandom; +_weapon = selectRandom (OT_CRIM_Weapons + OT_allCheapRifles); _base = [_weapon] call BIS_fnc_baseWeapon; _magazine = (getArray (configFile / "CfgWeapons" / _base / "magazines")) select 0; _unit addMagazine _magazine; @@ -75,13 +75,13 @@ for "_i" from 0 to (_numslots-1) do { _items = getArray(_com); }; if(count _items > 0) then { - _cls = _items call BIS_fnc_selectRandom; + _cls = selectRandom _items; _unit addPrimaryWeaponItem _cls; }; }; }; -_weapon = OT_allHandguns call BIS_fnc_selectRandom; +_weapon = selectRandom OT_allHandguns; _unit addWeaponGlobal _weapon; _base = [_weapon] call BIS_fnc_baseWeapon; _magazine = (getArray (configFile / "CfgWeapons" / _base / "magazines")) select 0; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initMobster.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initMobster.sqf index 4bb29fd8..565cd0a3 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initMobster.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initMobster.sqf @@ -3,8 +3,8 @@ _unit = _this; _unit setVariable ["mobster",true,false]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; @@ -18,8 +18,8 @@ _unit addEventHandler ["HandleDamage", { }; }]; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; -[_unit, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _unit]; _unit forceAddUniform OT_clothes_mob; removeAllItems _unit; @@ -34,7 +34,7 @@ _unit addHeadgear "H_Booniehat_khk"; _unit linkItem "ItemMap"; _unit linkItem "ItemCompass"; -_unit addVest (OT_allProtectiveVests call BIS_fnc_selectRandom); +_unit addVest (selectRandom OT_allProtectiveVests); if(OT_hasTFAR) then { _unit linkItem "tf_fadak"; }else{ @@ -53,7 +53,7 @@ if((random 100) < 15) then { _unit addItem "OT_Ganja"; }; -_weapon = (OT_CRIM_Weapons) call BIS_fnc_selectRandom; +_weapon = selectRandom OT_CRIM_Weapons; _unit addWeaponGlobal _weapon; @@ -61,10 +61,10 @@ _unit addWeaponGlobal _weapon; params ["_unit"]; if((random 100) > 98) exitWith { //This guy has a launcher - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); _launcher = OT_CRIM_Launchers select 0; _base = [_launcher] call BIS_fnc_baseWeapon; - _magazine = (getArray (configFile / "CfgWeapons" / _base / "magazines")) call BIS_fnc_SelectRandom; + _magazine = selectRandom (getArray (configFile / "CfgWeapons" / _base / "magazines")); _unit addMagazine _magazine; _unit addMagazine _magazine; _unit addMagazine _magazine; @@ -72,7 +72,7 @@ _unit addWeaponGlobal _weapon; }; if((random 100) > 85) exitWith { //This is a medic - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to 10 do {_unit addItemToBackpack "ACE_fieldDressing";}; for "_i" from 1 to 3 do {_unit addItemToBackpack "ACE_morphine";}; @@ -81,7 +81,7 @@ _unit addWeaponGlobal _weapon; }; if((random 100) > 95) exitWith { //This is an engineer - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to 2 do {_unit addItemToBackpack "DemoCharge_Remote_Mag";}; _unit addItemToBackpack "APERSBoundingMine_Range_Mag"; _unit addItemToBackpack "ClaymoreDirectionalMine_Remote_Mag"; @@ -96,13 +96,13 @@ _unit addWeaponGlobal _weapon; }; if((random 100) > 97) exitWith { //This guy just has a shitload of weed - _unit addBackpack (OT_allBackpacks call BIS_fnc_selectRandom); + _unit addBackpack (selectRandom OT_allBackpacks); for "_i" from 1 to round(random 30) do {_unit addItemToBackpack "OT_Ganja";}; }; }; _base = [_weapon] call BIS_fnc_baseWeapon; -_magazine = (getArray (configFile / "CfgWeapons" / _base / "magazines")) call BIS_fnc_SelectRandom; +_magazine = selectRandom (getArray (configFile / "CfgWeapons" / _base / "magazines")); _unit addMagazine _magazine; _unit addMagazine _magazine; _unit addMagazine _magazine; @@ -138,13 +138,13 @@ for "_i" from 0 to (_numslots-1) do { _items = getArray(_com); }; if(count _items > 0) then { - _cls = _items call BIS_fnc_selectRandom; + _cls = selectRandom _items; _unit addPrimaryWeaponItem _cls; }; }; }; -_weapon = OT_allHandguns call BIS_fnc_selectRandom; +_weapon = selectRandom OT_allHandguns; _unit addWeaponGlobal _weapon; _base = [_weapon] call BIS_fnc_baseWeapon; _magazine = (getArray (configFile / "CfgWeapons" / _base / "magazines")) select 0; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initNATOCheckpoint.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initNATOCheckpoint.sqf index 5fe6cb15..6cc6003e 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initNATOCheckpoint.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initNATOCheckpoint.sqf @@ -111,7 +111,7 @@ while {!(isNil "_group") && count (units _group) > 0} do {\ }; if(_cls in OT_illegalItems) then { _count = _x select 1; - if(vehicle _unit != _unit) then { + if(!isNull objectParent _unit) then { [_unit,_cls,_count] call CBA_fnc_removeItemCargo; }else{ for "_i" from 1 to _count do { diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initPriest.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initPriest.sqf index 87e37646..54979d4a 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initPriest.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initPriest.sqf @@ -2,8 +2,8 @@ private ["_unit"]; _unit = _this select 0; _unit setskill ["courage",1]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; @@ -16,10 +16,11 @@ removeVest _unit; [_unit,"self"] call OT_fnc_setOwner; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; [_unit, "NoVoice"] remoteExecCall ["setSpeaker", 0, _unit]; _unit forceAddUniform OT_clothes_priest; +_unit disableAI "FSM"; _unit addEventHandler ["FiredNear", { _u = _this select 0; diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initShopkeeper.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initShopkeeper.sqf index 178473ff..a9a43cc6 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initShopkeeper.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initShopkeeper.sqf @@ -4,13 +4,13 @@ _unit = _this select 0; (group _unit) setVariable ["VCM_Disable",true]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_unit,_fullname] remoteExecCall ["setName",0,_unit]; _unit allowDamage false; -[_unit, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _unit]; +[_unit, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _unit]; [_unit, "NoVoice"] remoteExecCall ["setSpeaker", 0, _unit]; removeAllWeapons _unit; @@ -20,8 +20,9 @@ removeBackpack _unit; removeHeadgear _unit; removeVest _unit; -_unit forceAddUniform (OT_clothes_shops call BIS_fnc_selectRandom); +_unit forceAddUniform (selectRandom OT_clothes_shops); [_unit,"self"] call OT_fnc_setOwner; -_unit disableAI "MOVE"; +_unit disableAI "ALL"; +_unit enableAI "ANIM"; \ No newline at end of file diff --git a/addons/overthrow_main/functions/AI/NPC/fn_initSniper.sqf b/addons/overthrow_main/functions/AI/NPC/fn_initSniper.sqf index df0dc5d4..74c25fb2 100644 --- a/addons/overthrow_main/functions/AI/NPC/fn_initSniper.sqf +++ b/addons/overthrow_main/functions/AI/NPC/fn_initSniper.sqf @@ -7,7 +7,7 @@ _unit setVariable ["NOAI",true,false]; [ { private _dir = random 360; - private _pos = ([_this,1,_dir] call BIS_fnc_relPos); + private _pos = _this getPos [1, _dir]; _this setposATL [_pos select 0,_pos select 1,((getposATL _this) select 2)+0.3]; _this setDir _dir; _this setUnitPos "MIDDLE"; diff --git a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FindCover.sqf b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FindCover.sqf index 62908673..35cc21d8 100644 --- a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FindCover.sqf +++ b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FindCover.sqf @@ -40,7 +40,7 @@ if (_wPos isEqualTo [0,0,0]) then _dir = _nearestEnemy; }; -private _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; +private _movePosition = _leader getPos [_moveDist, (_leader getDir _dir)]; if (VCM_Debug) then { private _arrow = "Sign_Arrow_Green_F" createVehicle [0,0,0]; @@ -121,7 +121,7 @@ if (_typeListFinal isEqualTo [] && _weakListFinal isEqualTo []) exitWith _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 getPos [(_posCON distance _nearestEnemy) + 2, _nearestEnemy getDir _posCON]; private _DistW = 2; if (_posCON iskindof "AllVehicles") then {_DistW = 5;}; if (VCM_Debug) then diff --git a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf index 949b82c4..04f57d5d 100644 --- a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf +++ b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_FlankMove.sqf @@ -79,7 +79,7 @@ switch (_wayPointType) do { }; case "Retreat": { - private _MovePosition = [_nearestEnemy,(_nearestEnemy distance2D _leader),([_nearestEnemy, _leader] call BIS_fnc_dirTo)] call BIS_fnc_relPos; + private _MovePosition = _nearestEnemy getPos [(_nearestEnemy distance2D _leader), _nearestEnemy getDir _leader]; private _finalP = [[[_MovePosition, 50]],["water"]] call BIS_fnc_randomPos; _finalP set [2,0]; private _waypoint0 = _grp addwaypoint [_finalP,0]; @@ -98,7 +98,7 @@ switch (_wayPointType) do { 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]; if (_myPlaces isEqualTo []) then {_myPlaces = [_positions];}; - private _RandomArray = _myPlaces call BIS_fnc_selectrandom; + private _RandomArray = selectRandom _myPlaces; private _RandomLocation = _RandomArray select 0; _RandomLocation set [2,0]; private _finalP = [[[_RandomLocation, 50]],["water"]] call BIS_fnc_randomPos; @@ -121,8 +121,8 @@ switch (_wayPointType) do { 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; - private _RandomArray2 = _myPlacesL call BIS_fnc_selectrandom; + private _RandomArray = selectRandom _myPlaces; + private _RandomArray2 = selectRandom _myPlacesL; private _RandomLocation = _RandomArray select 0; private _RandomLocationL = _RandomArray2 select 0; _RandomLocation set [2,0]; diff --git a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf index c1230fe5..0312a4c5 100644 --- a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf +++ b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_ForceMove.sqf @@ -38,7 +38,7 @@ if (_wPos isEqualTo [0,0,0]) then if !((_wPos distance2D _dir) < _moveDist) then { - _movePosition = [_leader,_moveDist,([_leader, _dir] call BIS_fnc_dirTo)] call BIS_fnc_relPos; + _movePosition = _leader getPos [_moveDist, _leader getDir _dir]; } else { diff --git a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf index 2c96ff57..50d83f8b 100644 --- a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf +++ b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_MinePlant.sqf @@ -45,7 +45,8 @@ 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 setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setDir (_mine getDir _nearestEnemy); _mine setpos _mPos; _mine setposATL (getposATL _mine); [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; @@ -61,7 +62,8 @@ else 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 setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setDir (_mine getDir _nearestEnemy); _mine setpos _mPos; _mine setposATL (getposATL _mine); //_mine = createMine [_mineType,getposATL _closestRoad, [], 3]; @@ -72,7 +74,8 @@ 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 setDir ([_mine, _nearestEnemy] call BIS_fnc_dirTo); + _mine setDir (_mine getDir _nearestEnemy); _mine setpos _mPos; _mine setposATL (getposATL _mine); [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; diff --git a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf index 9ad91131..09728946 100644 --- a/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf +++ b/addons/overthrow_main/functions/AI/Vcom/Functions/VCM_Functions/fn_SatchelPlant.sqf @@ -61,7 +61,8 @@ if ((_unit distance _point) < 200) then _unit removeMagazine _satchelMag; private _mine = _satchelObj createVehicle (getposATL _unit); - _mine setDir ([_mine, _nBuilding] call BIS_fnc_dirTo); + //_mine setDir ([_mine, _nBuilding] call BIS_fnc_dirTo); + _mine setDir (_mine getDir _nBuilding); [_unit,"AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon"] remoteExec ["Vcm_PMN",0]; _unit action ["SetTimer", _unit, _mine]; diff --git a/addons/overthrow_main/functions/AI/fn_NATOsearch.sqf b/addons/overthrow_main/functions/AI/fn_NATOsearch.sqf index 1c9bc68b..0bf82d90 100644 --- a/addons/overthrow_main/functions/AI/fn_NATOsearch.sqf +++ b/addons/overthrow_main/functions/AI/fn_NATOsearch.sqf @@ -42,7 +42,7 @@ private _wp = _group addWaypoint [position _target,0]; _wp setWaypointBehaviour "AWARE"; _group setBehaviour "AWARE"; if(isplayer _target) then { - [_cop,(["Stop right there!","Halt, citizen!","HALT!","Stay right there, citizen"] call BIS_fnc_selectRandom)] remoteExec ["globalchat",_target,false]; + [_cop,(selectRandom ["Stop right there!","Halt, citizen!","HALT!","Stay right there, citizen"])] remoteExec ["globalchat",_target,false]; _wp setWaypointSpeed "FULL"; _hdl = _target addEventHandler ["InventoryOpened", { hint "NATO search is in progress, you cannot open your inventory"; diff --git a/addons/overthrow_main/functions/AI/fn_createSoldier.sqf b/addons/overthrow_main/functions/AI/fn_createSoldier.sqf index b90c91ca..8275d9aa 100644 --- a/addons/overthrow_main/functions/AI/fn_createSoldier.sqf +++ b/addons/overthrow_main/functions/AI/fn_createSoldier.sqf @@ -12,18 +12,18 @@ if(_takeFromWarehouse) then { private _start = [[[_pos,30]]] call BIS_fnc_randomPos; private _civ = _group createUnit [_cls, _start, [],0, "NONE"]; -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; [_civ,_fullname] remoteExec ["setCivName",0,false]; _civ setRank "LIEUTENANT"; -[_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; +[_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; if(_clothes != "") then { _civ forceAddUniform _clothes; }else{ - _clothes = (OT_clothes_guerilla call BIS_fnc_selectRandom); + _clothes = (selectRandom OT_clothes_guerilla); _civ forceAddUniform _clothes; }; diff --git a/addons/overthrow_main/functions/AI/orders/fn_orderLoot.sqf b/addons/overthrow_main/functions/AI/orders/fn_orderLoot.sqf index 183fd3e0..97860c58 100644 --- a/addons/overthrow_main/functions/AI/orders/fn_orderLoot.sqf +++ b/addons/overthrow_main/functions/AI/orders/fn_orderLoot.sqf @@ -32,7 +32,8 @@ private _target = _sorted select 0; _unit setVariable ["NOAI",true,true]; _unit setBehaviour "SAFE"; - [[_unit,""],"switchMove",TRUE,FALSE] spawn BIS_fnc_MP; + //[[_unit,""],"switchMove",TRUE,FALSE] spawn BIS_fnc_MP; + [_unit,""] remoteExec ["switchMove", 0, false]; if((vehicle _unit) != _unit) then { _car = (vehicle _unit); diff --git a/addons/overthrow_main/functions/actions/fn_addGarrison.sqf b/addons/overthrow_main/functions/actions/fn_addGarrison.sqf index bd98dad0..fa835ebb 100644 --- a/addons/overthrow_main/functions/actions/fn_addGarrison.sqf +++ b/addons/overthrow_main/functions/actions/fn_addGarrison.sqf @@ -83,7 +83,7 @@ if(_create isEqualType 1) then { || (_type == "Land_Cargo_Patrol_V4_F") ) exitWith { private _ang = (getDir _building) - 190; - private _p = [_building buildingPos 1, 2.3, _ang] call BIS_Fnc_relPos; + private _p = _building buildingPos 1 getPos [2.3, _ang]; private _dir = (getDir _building) - 180; private _guns = {alive _x} count(nearestObjects [_p, ["I_HMG_01_high_F","I_GMG_01_high_F"], 5]); @@ -130,11 +130,11 @@ if(_create isEqualType 1) then { if (count p != 0) then { _dir = random 360; //put sandbags - private _sp = [_p,1.5,_dir] call BIS_fnc_relPos; + private _sp = _p getPos [1.5, _dir]; _veh = OT_NATO_Sandbag_Curved createVehicle _sp; _veh setpos _sp; _veh setDir (_dir-180); - _sp = [_p,-1.5,_dir] call BIS_fnc_relPos; + _sp = _p getPos [1.5, _dir]; _veh = OT_NATO_Sandbag_Curved createVehicle _sp; _veh setpos _sp; _veh setDir (_dir); diff --git a/addons/overthrow_main/functions/actions/fn_build.sqf b/addons/overthrow_main/functions/actions/fn_build.sqf index 9da6f944..305c6047 100644 --- a/addons/overthrow_main/functions/actions/fn_build.sqf +++ b/addons/overthrow_main/functions/actions/fn_build.sqf @@ -57,7 +57,7 @@ _campos = [(_playerpos select 0)+35,(_playerpos select 1)+35,(_playerpos select _start = [position player select 0, position player select 1, 2]; buildcam = "camera" camCreate _start; -buildFocus = createVehicle ["Sign_Sphere10cm_F", [_start,1000,getDir player] call BIS_fnc_relPos, [], 0, "NONE"]; +buildFocus = createVehicle ["Sign_Sphere10cm_F", _start getPos [1000, getDir player], [], 0, "NONE"]; buildFocus setObjectTexture [0,"\overthrow_main\ui\clear.paa"]; buildcam camSetTarget buildFocus; diff --git a/addons/overthrow_main/functions/actions/fn_editLoadout.sqf b/addons/overthrow_main/functions/actions/fn_editLoadout.sqf index 72df0245..742582dc 100644 --- a/addons/overthrow_main/functions/actions/fn_editLoadout.sqf +++ b/addons/overthrow_main/functions/actions/fn_editLoadout.sqf @@ -28,12 +28,12 @@ _civ disableAI "TARGET"; _civ disableAI "WEAPONAIM"; _civ disableAI "FSM"; -[_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; +[_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; if(_clothes != "") then { _civ forceAddUniform _clothes; }else{ - _clothes = (OT_clothes_guerilla call BIS_fnc_selectRandom); + _clothes = (selectRandom OT_clothes_guerilla); _civ forceAddUniform _clothes; }; diff --git a/addons/overthrow_main/functions/actions/fn_editPoliceLoadout.sqf b/addons/overthrow_main/functions/actions/fn_editPoliceLoadout.sqf index 66e5d1e0..ee115242 100644 --- a/addons/overthrow_main/functions/actions/fn_editPoliceLoadout.sqf +++ b/addons/overthrow_main/functions/actions/fn_editPoliceLoadout.sqf @@ -26,12 +26,12 @@ _civ disableAI "TARGET"; _civ disableAI "WEAPONAIM"; _civ disableAI "FSM"; -[_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; +[_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; if(_clothes != "") then { _civ forceAddUniform _clothes; }else{ - _clothes = (OT_clothes_guerilla call BIS_fnc_selectRandom); + _clothes = (selectRandom OT_clothes_guerilla); _civ forceAddUniform _clothes; }; diff --git a/addons/overthrow_main/functions/actions/fn_place.sqf b/addons/overthrow_main/functions/actions/fn_place.sqf index 534fc652..a705f732 100644 --- a/addons/overthrow_main/functions/actions/fn_place.sqf +++ b/addons/overthrow_main/functions/actions/fn_place.sqf @@ -186,7 +186,7 @@ if(_cost > 0) then { modeFinished || modeCancelled || (count attachedObjects player == 0) - || (vehicle player != player) + || (!isNull objectParent player) || (!alive player) || (!isPlayer player) }; @@ -197,7 +197,7 @@ if(_cost > 0) then { if( modeCancelled - || (vehicle player != player) + || (!isNull objectParent player) || (!alive player) || (!isPlayer player) ) then { diff --git a/addons/overthrow_main/functions/actions/fn_recruitCiv.sqf b/addons/overthrow_main/functions/actions/fn_recruitCiv.sqf index df7dc0f0..4c4733e5 100644 --- a/addons/overthrow_main/functions/actions/fn_recruitCiv.sqf +++ b/addons/overthrow_main/functions/actions/fn_recruitCiv.sqf @@ -30,4 +30,5 @@ _civ setVariable ["OT_spawntrack",true,true]; format["%1 has been recruited",name _civ] call OT_fnc_notifyMinor; _civ setBehaviour "SAFE"; -[[_civ,""],"switchMove",TRUE,FALSE] call BIS_fnc_MP; // @todo replace with remote exec +//[[_civ,""],"switchMove",TRUE,FALSE] call BIS_fnc_MP; // @todo replace with remote exec +[_civ,""] remoteExec ["switchMove", 0, false]; \ No newline at end of file diff --git a/addons/overthrow_main/functions/actions/fn_spliffAnimation.sqf b/addons/overthrow_main/functions/actions/fn_spliffAnimation.sqf index 60d15fca..9eb50f7f 100644 --- a/addons/overthrow_main/functions/actions/fn_spliffAnimation.sqf +++ b/addons/overthrow_main/functions/actions/fn_spliffAnimation.sqf @@ -1,6 +1,6 @@ params ["_unit"]; -if (!alive _unit || vehicle _unit != _unit) exitWith {}; +if (!alive _unit || !isNull objectParent _unit) exitWith {}; if (_unit getVariable ["ACE_isUnconscious", false]) exitWith {}; diff --git a/addons/overthrow_main/functions/actions/fn_talkToCiv.sqf b/addons/overthrow_main/functions/actions/fn_talkToCiv.sqf index d44327e7..82f5d460 100644 --- a/addons/overthrow_main/functions/actions/fn_talkToCiv.sqf +++ b/addons/overthrow_main/functions/actions/fn_talkToCiv.sqf @@ -491,7 +491,7 @@ if (_canBuyBoats) then { clearItemCargoGlobal _veh; private _dir = 0; - while {!(surfaceIsWater ([_pos,800,_dir] call BIS_fnc_relPos)) && _dir < 360} do { + while {!(surfaceIsWater (_pos getPos [800, _dir])) && _dir < 360} do { _dir = _dir + 45; }; @@ -524,15 +524,15 @@ if (_canBuyBoats) then { !alive player || !alive _veh || !alive _driver - || (vehicle player isEqualTo player) + || (isNull objectParent player) || (player distance _destpos < 80) }; - if(vehicle player isEqualTo _veh && alive _driver) then { + if(objectParent player isEqualTo _veh && alive _driver) then { _driver globalchat format["We've arrived in %1, enjoy your stay",_desttown]; }; sleep 15; - if(vehicle player isEqualTo _veh && alive _driver) then { + if(objectParent player isEqualTo _veh && alive _driver) then { moveOut player; _driver globalchat "Alright, bye"; }; diff --git a/addons/overthrow_main/functions/actions/self/fn_smokeAnimation.sqf b/addons/overthrow_main/functions/actions/self/fn_smokeAnimation.sqf index 60d15fca..9eb50f7f 100644 --- a/addons/overthrow_main/functions/actions/self/fn_smokeAnimation.sqf +++ b/addons/overthrow_main/functions/actions/self/fn_smokeAnimation.sqf @@ -1,6 +1,6 @@ params ["_unit"]; -if (!alive _unit || vehicle _unit != _unit) exitWith {}; +if (!alive _unit || !isNull objectParent _unit) exitWith {}; if (_unit getVariable ["ACE_isUnconscious", false]) exitWith {}; diff --git a/addons/overthrow_main/functions/economy/fn_initEconomy.sqf b/addons/overthrow_main/functions/economy/fn_initEconomy.sqf index 06522dde..33848654 100644 --- a/addons/overthrow_main/functions/economy/fn_initEconomy.sqf +++ b/addons/overthrow_main/functions/economy/fn_initEconomy.sqf @@ -71,7 +71,7 @@ OT_allShops = []; }foreach(OT_regions); sleep 0.1; }foreach (OT_allTowns); -private _spawn = OT_spawnTowns call BIS_fnc_selectrandom; +private _spawn = selectRandom OT_spawnTowns; diag_log format["Overthrow: Spawn town is %1",_spawn]; server setVariable ["spawntown",_spawn,true]; { diff --git a/addons/overthrow_main/functions/economy/fn_initEconomyLoad.sqf b/addons/overthrow_main/functions/economy/fn_initEconomyLoad.sqf index 8ea134fa..af41f251 100644 --- a/addons/overthrow_main/functions/economy/fn_initEconomyLoad.sqf +++ b/addons/overthrow_main/functions/economy/fn_initEconomyLoad.sqf @@ -77,7 +77,7 @@ if(_version < OT_economyVersion) then { _building = [_posTown,OT_allHouses] call OT_fnc_getRandomBuilding; _pos = _posTown; if(typename _building != "BOOL") then { - _pos = (_building call BIS_fnc_buildingPositions) call BIS_fnc_selectRandom; + _pos = selectRandom (_building call BIS_fnc_buildingPositions); [_building,"system"] call OT_fnc_setOwner; if(isNil "_pos") then { _pos = [[[getpos _building,20]]] call BIS_fnc_randomPos; @@ -106,7 +106,7 @@ if(_version < OT_economyVersion) then { { _stability = server getVariable format["stability%1",_x]; _posTown = server getVariable _x; - _pos = [_posTown,40,-90] call BIS_fnc_relPos; + _pos = _posTown getPos [40, -90]; _mSize = 250; if(_x in OT_Capitals) then { @@ -153,13 +153,16 @@ if(_version < OT_economyVersion) then { }; _shops = server getVariable [format["activeshopsin%1",_x],[]]; - [_allActiveShops,_shops] call BIS_fnc_arrayPushStack; + //[_allActiveShops,_shops] call BIS_fnc_arrayPushStack; + _allActiveShops pushBack _shops; _carshops = server getVariable [format["activecarshopsin%1",_x],[]]; - [_allActiveCarShops,_carshops] call BIS_fnc_arrayPushStack; + //[_allActiveCarShops,_carshops] call BIS_fnc_arrayPushStack; + _allActiveCarShops pushBack _carShops; _piers = server getVariable [format["activepiersin%1",_x],[]]; - [_allActivePiers,_piers] call BIS_fnc_arrayPushStack; + //[_allActivePiers,_piers] call BIS_fnc_arrayPushStack; + _allActivePiers pushBack _piers; sleep 0.3; }foreach(OT_allTowns); diff --git a/addons/overthrow_main/functions/events/fn_EnemyDamagedHandler.sqf b/addons/overthrow_main/functions/events/fn_EnemyDamagedHandler.sqf index a32f96f1..d41e51e1 100644 --- a/addons/overthrow_main/functions/events/fn_EnemyDamagedHandler.sqf +++ b/addons/overthrow_main/functions/events/fn_EnemyDamagedHandler.sqf @@ -12,7 +12,7 @@ if(isNull _shooter) then { }; if ((typeOf _shooter) isKindOf "CAManBase") then { [_shooter,false] remoteExecCall ["setCaptive",_shooter]; - if !((vehicle _shooter) isEqualTo _shooter) then { + if (!isNull objectParent _shooter) then { { [_x,false] remoteExecCall ["setCaptive",_x]; }foreach(crew vehicle _shooter); diff --git a/addons/overthrow_main/functions/events/fn_keyHandler.sqf b/addons/overthrow_main/functions/events/fn_keyHandler.sqf index 83d428fe..4837f880 100644 --- a/addons/overthrow_main/functions/events/fn_keyHandler.sqf +++ b/addons/overthrow_main/functions/events/fn_keyHandler.sqf @@ -223,7 +223,7 @@ if(!dialog) then { }foreach(groupSelectedUnits player); createDialog "OT_dialog_command"; }; - if(vehicle player != player) exitWith { + if(!isNull objectParent player) exitWith { private _ferry = player getVariable ["OT_ferryDestination",[]]; if(count _ferry isEqualTo 3) exitWith { _veh = vehicle player; diff --git a/addons/overthrow_main/functions/factions/CRIM/fn_addToGang.sqf b/addons/overthrow_main/functions/factions/CRIM/fn_addToGang.sqf index ff7b7314..c4955185 100644 --- a/addons/overthrow_main/functions/factions/CRIM/fn_addToGang.sqf +++ b/addons/overthrow_main/functions/factions/CRIM/fn_addToGang.sqf @@ -26,7 +26,7 @@ while {_count < _amt} do { [_civ,_town,_vest,_gangid] call OT_fnc_initCriminal; [_civ,_identity] call OT_fnc_applyIdentity; - [_civ, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; + [_civ, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _civ]; _civ setVariable ["OT_gangid",_gangid,true]; _civ setVariable ["OT_civid",_civid,true]; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_CTRGsupport.sqf b/addons/overthrow_main/functions/factions/NATO/fn_CTRGsupport.sqf index 130dfb64..4ae15861 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_CTRGsupport.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_CTRGsupport.sqf @@ -15,13 +15,13 @@ _attackpos = [_posTown,[0,150]] call SHK_pos_fnc_pos; //Determine direction to attack from (preferrably away from water) _attackdir = random 360; -if(surfaceIsWater ([_posTown,150,_attackDir] call BIS_fnc_relPos)) then { +if(surfaceIsWater (_posTown getDir [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTown,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTown getDir [150, _attackDir])) then { _attackdir = _attackdir + 90; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTown,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTown getDir [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOAPCInsertion.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOAPCInsertion.sqf index 571e633b..9928e58c 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOAPCInsertion.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOAPCInsertion.sqf @@ -1,7 +1,7 @@ params ["_frompos","_ao","_attackpos",["_delay",0]]; if (_delay > 0) then {sleep _delay}; -private _vehtype = OT_NATO_Vehicles_APC call BIS_fnc_selectRandom; -private _squadtype = OT_NATO_GroundForces call BIS_fnc_SelectRandom; +private _vehtype = selectRandom OT_NATO_Vehicles_APC; +private _squadtype = selectRandom OT_NATO_GroundForces; private _spawnpos = _frompos findEmptyPosition [15,100,_vehtype]; if(count _spawnpos == 0) then { _spawnpos = [_frompos,[5,25]] call SHK_pos_fnc_pos; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOAirPatrol.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOAirPatrol.sqf index 734b1eed..2d29148e 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOAirPatrol.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOAirPatrol.sqf @@ -8,8 +8,8 @@ if !(_frombase in _abandoned) then { if(_delay > 0) then {sleep _delay}; diag_log format["Overthrow: NATO Sending air patrol from %1",_frombase]; - private _vehtype = OT_NATO_Vehicles_AirSupport_Small call BIS_fnc_selectRandom; - if((call OT_fnc_getControlledPopulation) > 1500) then {_vehtype = OT_NATO_Vehicles_AirSupport call BIS_fnc_selectRandom}; + private _vehtype = selectRandom OT_NATO_Vehicles_AirSupport_Small; + if((call OT_fnc_getControlledPopulation) > 1500) then {_vehtype = selectRandom OT_NATO_Vehicles_AirSupport}; private _frompos = server getVariable _frombase; private _pos = _frompos findEmptyPosition [2,100,_vehtype]; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOAirSupport.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOAirSupport.sqf index 4a89e047..e3516c9c 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOAirSupport.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOAirSupport.sqf @@ -1,6 +1,6 @@ params ["_frompos","_attackpos",["_delay",0]]; if (_delay > 0) then {sleep _delay}; -private _vehtype = OT_NATO_Vehicles_AirSupport call BIS_fnc_SelectRandom; +private _vehtype = selectRandom OT_NATO_Vehicles_AirSupport; private _dir = _frompos getDir _attackpos; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOConvoy.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOConvoy.sqf index b0f6e6f6..d529dd2d 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOConvoy.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOConvoy.sqf @@ -7,7 +7,7 @@ private _frompos = server getvariable _from; private _fromregion = _frompos call OT_fnc_getRegion; private _topos = server getvariable _to; -private _dir = [_frompos,_topos] call BIS_fnc_dirTo; +private _dir = _frompos getDir _topos; private _group = creategroup blufor; spawner setVariable [format["spawn%1",_missionid],_group,false]; @@ -23,7 +23,8 @@ if ([_topos,_fromregion] call OT_fnc_regionIsConnected) then { _posVeh = (getpos _road) findEmptyPosition [5,25,_vehtypes select 0]; if(count _posVeh > 0) then { _convoypos = _posVeh; - _dir = [_road, _roadscon select 0] call BIS_fnc_DirTo; + //_dir = [_road, _roadscon select 0] call BIS_fnc_DirTo; + _dir = _road getDir _roadscon select 0; }; }; }; @@ -43,7 +44,7 @@ if ([_topos,_fromregion] call OT_fnc_regionIsConnected) then { _x setVariable ["garrison","HQ",false]; }foreach(crew _veh); _driver assignAsCommander _veh; - _convoypos = [_convoypos,20,_dir+180] call BIS_fnc_relPos; + _convoypos = _convoypos getPos [20, _dir+180]; { _x addCuratorEditableObjects [[_veh]]; }foreach(allCurators); @@ -72,7 +73,7 @@ if ([_topos,_fromregion] call OT_fnc_regionIsConnected) then { _driver setRank "COLONEL"; if(isNull _track) then {_track = _driver}; - _convoypos = [_convoypos,20,_dir] call BIS_fnc_relPos; + _convoypos = _convoypos getPos [20, _dir]; sleep 0.3; _x set [2,"CONVOY"]; @@ -98,7 +99,7 @@ if ([_topos,_fromregion] call OT_fnc_regionIsConnected) then { _x setVariable ["garrison","HQ",false]; }foreach(crew _veh); _driver assignAsCommander _veh; - _convoypos = [_convoypos,20,-_dir] call BIS_fnc_relPos; + _convoypos = _convoypos getPos [20, -_dir]; _count = _count + 1; sleep 0.3; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundForces.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundForces.sqf index b33b2f0e..3f83a9ef 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundForces.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundForces.sqf @@ -1,10 +1,10 @@ params ["_frompos","_ao","_attackpos","_byair",["_delay",0]]; if (_delay > 0) then {sleep _delay}; -private _vehtype = OT_NATO_Vehicle_Transport call BIS_fnc_selectRandom; +private _vehtype = selectRandom OT_NATO_Vehicle_Transport; if(_byair) then { - _vehtype = OT_NATO_Vehicle_AirTransport call BIS_fnc_selectRandom; + _vehtype = selectRandom OT_NATO_Vehicle_AirTransport; }; -private _squadtype = OT_NATO_GroundForces call BIS_fnc_SelectRandom; +private _squadtype = selectRandom OT_NATO_GroundForces; private _spawnpos = _frompos; private _group1 = [_spawnpos, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO >> "Infantry" >> _squadtype)] call BIS_fnc_spawnGroup; _group1 deleteGroupWhenEmpty true; @@ -12,7 +12,7 @@ private _group2 = ""; private _tgroup = false; if !(_byair) then { sleep 0.3; - _squadtype = OT_NATO_GroundForces call BIS_fnc_SelectRandom; + _squadtype = selectRandom OT_NATO_GroundForces; _group2 = [_spawnpos, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO >> "Infantry" >> _squadtype)] call BIS_fnc_spawnGroup; _group2 deleteGroupWhenEmpty true; }; @@ -40,7 +40,8 @@ if !(_pos isEqualType []) then { if(count _pos == 0) then { _pos = [_frompos,0,75,false,[0,0],[120,_vehtype]] call SHK_pos_fnc_pos; }; - _dir = [_frompos,_ao] call BIS_fnc_dirTo; + //_dir = [_frompos,_ao] call BIS_fnc_dirTo; + _dir = _fromPos getDir _ao; }; _pos set [2,1]; _veh = createVehicle [_vehtype, [0,0,1000+random 1000], [], 0, "CAN_COLLIDE"]; @@ -134,7 +135,8 @@ if(_byair && _tgroup isEqualType grpNull) then { }else{ if(typename _tgroup isEqualTo "GROUP") then { _veh setdamage 0; - _dir = [_attackpos,_frompos] call BIS_fnc_dirTo; + //_dir = [_attackpos,_frompos] call BIS_fnc_dirTo; + _dir = _attackPos getDir _fromPos; _roads = _ao nearRoads 150; private _dropos = _ao; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundPatrol.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundPatrol.sqf index ca4aa83e..c301cd80 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundPatrol.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundPatrol.sqf @@ -6,8 +6,8 @@ if !(_frombase in _abandoned) then { if(_delay > 0) then {sleep _delay}; diag_log format["Overthrow: NATO Sending patrol from %1",_frombase]; - private _vehtype = OT_NATO_Vehicles_Convoy call BIS_fnc_selectRandom; - if((call OT_fnc_getControlledPopulation) > 2000) then {_vehtype = OT_NATO_Vehicles_TankSupport call BIS_fnc_selectRandom}; + private _vehtype = selectRandom OT_NATO_Vehicles_Convoy; + if((call OT_fnc_getControlledPopulation) > 2000) then {_vehtype = selectRandom OT_NATO_Vehicles_TankSupport}; private _frompos = server getVariable _frombase; private _pos = _frompos findEmptyPosition [2,100,_vehtype]; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundReinforcements.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundReinforcements.sqf index 6c9c5249..2c82c651 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundReinforcements.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundReinforcements.sqf @@ -4,7 +4,7 @@ private _vehtype = OT_NATO_Vehicle_Transport_Light; if(_byair) then { _vehtype = OT_NATO_Vehicle_AirTransport select 0; }; -private _squadtype = OT_NATO_GroundForces call BIS_fnc_SelectRandom; +private _squadtype = selectRandom OT_NATO_GroundForces; private _spawnpos = _frompos; private _group1 = createGroup west; _group1 deleteGroupWhenEmpty true; @@ -38,7 +38,8 @@ if !(_pos isEqualType []) then { if(count _pos == 0) then { _pos = [_frompos,0,75,false,[0,0],[120,_vehtype]] call SHK_pos_fnc_pos; }; - _dir = [_frompos,_ao] call BIS_fnc_dirTo; + //_dir = [_frompos,_ao] call BIS_fnc_dirTo; + _dir = _fromPos getDir _ao; }; _pos set [2,0]; _veh = _vehtype createVehicle _pos; @@ -113,7 +114,8 @@ if(_byair && _tgroup isEqualType grpNull) then { }else{ if(typename _tgroup isEqualTo "GROUP") then { _veh setdamage 0; - _dir = [_attackpos,_frompos] call BIS_fnc_dirTo; + //_dir = [_attackpos,_frompos] call BIS_fnc_dirTo; + _dir = _attackPos getDir _fromPos; _roads = _ao nearRoads 150; private _dropos = _ao; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundSupport.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundSupport.sqf index c54543f6..9a13df9f 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundSupport.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOGroundSupport.sqf @@ -7,9 +7,10 @@ private _count = 0; while {_count < _num} do { private _group = creategroup blufor; - private _vehtype = OT_NATO_Vehicles_GroundSupport call BIS_fnc_SelectRandom; + private _vehtype = selectRandom OT_NATO_Vehicles_GroundSupport; - private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; + //private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; + private _dir = _fromPos getDir _attackPos; private _pos = _frompos findEmptyPosition [15,100,_vehtype]; if(count _pos == 0) then { _pos = [_frompos,0,120,false,[0,0],[250,_vehtype]] call SHK_pos_fnc_pos; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionDeployFOB.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionDeployFOB.sqf index 3e73e36d..c9f4af87 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionDeployFOB.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionDeployFOB.sqf @@ -31,20 +31,21 @@ _group = [_start, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO sleep 0.5; -_dir = [_start,_posTarget] call BIS_fnc_dirTo; +//_dir = [_start,_posTarget] call BIS_fnc_dirTo; +_dir = _start getDir _posTarget; if(_isAir) then { _attackpos = [_posTarget,[0,150]] call SHK_pos_fnc_pos; //Determine direction to attack from (preferrably away from water) _attackdir = random 360; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 90; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionReconDestroy.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionReconDestroy.sqf index 49828194..2c9c2227 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionReconDestroy.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOMissionReconDestroy.sqf @@ -32,20 +32,21 @@ _group = [_start, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO sleep 0.5; -_dir = [_start,_posTarget] call BIS_fnc_dirTo; +//_dir = [_start,_posTarget] call BIS_fnc_dirTo; +_dir = _start getDir _posTarget; if(_isAir) then { _attackpos = [_posTarget,[0,150]] call SHK_pos_fnc_pos; //Determine direction to attack from (preferrably away from water) _attackdir = random 360; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 90; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOQRF.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOQRF.sqf index 014d4c6d..f216a202 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOQRF.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOQRF.sqf @@ -39,7 +39,8 @@ private _count = 0; { _x params ["_obpos","_name","_pri"]; - _dir = [_pos,_obpos] call BIS_fnc_dirTo; + //_dir = [_pos,_obpos] call BIS_fnc_dirTo; + _dir = _pos getDir _obpos; _ao = [_pos,_dir] call OT_fnc_getAO; [_obpos,_ao,_pos,true,300] spawn OT_fnc_NATOGroundForces; diag_log format["Overthrow: NATO Sent ground forces by air from %1 %2",_name,str _obpos]; @@ -62,7 +63,8 @@ if(_strength >= 150) then { { _x params ["_obpos","_name","_pri"]; - _dir = [_pos,_obpos] call BIS_fnc_dirTo; + //_dir = [_pos,_obpos] call BIS_fnc_dirTo; + _dir = _pos getDir _obpos; _ao = [_pos,_dir] call OT_fnc_getAO; if(_pri > 100 && _popControl > 1000 && _popControl > (random 2000)) then { @@ -96,7 +98,7 @@ sleep 2; if(_popControl > 1000 && _strength > 1000 && (count _air) > 0) then { //Send more CAS - private _from = _air call BIS_fnc_selectRandom; + private _from = selectRandom _air; _obpos = _from select 0; _name = _from select 1; [_obpos,_pos,120] spawn OT_fnc_NATOAirSupport; @@ -142,7 +144,8 @@ if(_popControl > 1000) then { { _x params ["_obpos","_name","_pri"]; if(_strength >= 200) then { - _dir = [_pos,_obpos] call BIS_fnc_dirTo; + //_dir = [_pos,_obpos] call BIS_fnc_dirTo; + _dir = _pos getDir _obpos; _ao = [_pos,_dir] call OT_fnc_getAO; [_obpos,_ao,_pos,300] spawn OT_fnc_NATOAPCInsertion; diag_log format["Overthrow: NATO Sent APC reinforcements from %1",_name]; @@ -158,22 +161,22 @@ private _seaAO = []; //Sea? _pos call { - private _p = [_this,500,0] call BIS_fnc_relPos; + private _p = _this getPos [500, 0]; if(surfaceIsWater _p) exitWith { _isCoastal = true; _seaAO = _p; }; - _p = [_this,500,90] call BIS_fnc_relPos; + _p = _this getPos [500, 90]; if(surfaceIsWater _p) exitWith { _isCoastal = true; _seaAO = _p; }; - _p = [_this,500,180] call BIS_fnc_relPos; + _p = _this getPos [500, 180]; if(surfaceIsWater _p) exitWith { _isCoastal = true; _seaAO = _p; }; - _p = [_this,500,270] call BIS_fnc_relPos; + _p = _this getPos [500, 270]; if(surfaceIsWater _p) exitWith { _isCoastal = true; _seaAO = _p; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleHelicopter.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleHelicopter.sqf index 2be2f4c7..aea96af4 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleHelicopter.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleHelicopter.sqf @@ -14,8 +14,8 @@ if !(isNil "_from") then { if(_delay > 0) then {sleep _delay}; diag_log "Overthrow: NATO Scrambling Helicopter"; - private _vehtype = OT_NATO_Vehicles_AirSupport_Small call BIS_fnc_selectRandom; - if((typeof _target) isKindOf "Tank") then {_vehtype = OT_NATO_Vehicles_AirSupport call BIS_fnc_selectRandom}; + private _vehtype = selectRandom OT_NATO_Vehicles_AirSupport_Small; + if((typeof _target) isKindOf "Tank") then {_vehtype = selectRandom OT_NATO_Vehicles_AirSupport}; private _frompos = _from select 0; @@ -43,7 +43,8 @@ if !(isNil "_from") then { }foreach(crew _veh); sleep 1; - private _dir = [_targetpos,_frompos] call BIS_fnc_dirTo; + //private _dir = [_targetpos,_frompos] call BIS_fnc_dirTo; + private _dir = _targetPos getDir _fromPos; private _attackpos = [_targetpos,[100,400],_dir] call SHK_pos_fnc_pos; _wp = _group addWaypoint [_attackpos,50]; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleJet.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleJet.sqf index 6cb3f5e0..adfea3b9 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleJet.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOScrambleJet.sqf @@ -35,7 +35,8 @@ if !(OT_NATO_HQ in _abandoned) then { }foreach(crew _veh); sleep 1; - private _dir = [_targetpos,OT_NATO_JetPos] call BIS_fnc_dirTo; + //private _dir = [_targetpos,OT_NATO_JetPos] call BIS_fnc_dirTo; + _dir = _targetPos getDir OT_NATO_JetPos; private _attackpos = [_targetpos,[200,500],_dir] call SHK_pos_fnc_pos; _wp = _group addWaypoint [_attackpos,50]; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOSeaSupport.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOSeaSupport.sqf index c6a9f8fd..018d5552 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOSeaSupport.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOSeaSupport.sqf @@ -1,7 +1,8 @@ params ["_frompos","_attackpos","_delay"]; sleep _delay; -private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; +//private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; +private _dir = _fromPos getDir _attackPos; _pos = _frompos findEmptyPosition [50,200,OT_NATO_Vehicle_Boat_Small]; _group = creategroup blufor; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportRecon.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportRecon.sqf index 367a0ef6..fd4b71a5 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportRecon.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportRecon.sqf @@ -31,20 +31,21 @@ _group = [_start, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO sleep 0.5; -_dir = [_start,_posTarget] call BIS_fnc_dirTo; +//_dir = [_start,_posTarget] call BIS_fnc_dirTo; +_dir = _start getDir _posTarget; if(_isAir) then { _attackpos = [_posTarget,[0,150]] call SHK_pos_fnc_pos; //Determine direction to attack from (preferrably away from water) _attackdir = random 360; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 90; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; - if(surfaceIsWater ([_posTarget,150,_attackDir] call BIS_fnc_relPos)) then { + if(surfaceIsWater (_posTarget getPos [150, _attackDir])) then { _attackdir = _attackdir + 180; if(_attackdir > 359) then {_attackdir = _attackdir - 359}; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportSniper.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportSniper.sqf index 2b26d72d..ac9d6eb5 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportSniper.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOSupportSniper.sqf @@ -30,7 +30,8 @@ _group = [_start, WEST, (configFile >> "CfgGroups" >> "West" >> OT_faction_NATO sleep 0.5; -_dir = [_start,_posTown] call BIS_fnc_dirTo; +//_dir = [_start,_posTown] call BIS_fnc_dirTo; +_dir = _start getDir _posTown; _ao = getpos(nearestLocation[_posTown, "Hill"]); diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOTankSupport.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOTankSupport.sqf index 042a74fc..ae24dfe5 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOTankSupport.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOTankSupport.sqf @@ -8,9 +8,10 @@ private _count = 0; private _group = creategroup blufor; while {_count < _num} do { - private _vehtype = OT_NATO_Vehicles_TankSupport call BIS_fnc_SelectRandom; + private _vehtype = selectRandom OT_NATO_Vehicles_TankSupport; - private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; + //private _dir = [_frompos,_attackpos] call BIS_fnc_dirTo; + private _dir = _fromPos getDir _attackPos; private _pos = _frompos findEmptyPosition [15,100,_vehtype]; if(count _pos == 0) then { _pos = [_frompos,0,120,false,[0,0],[250,_vehtype]] call SHK_pos_fnc_pos; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_NATOupgradeFOB.sqf b/addons/overthrow_main/functions/factions/NATO/fn_NATOupgradeFOB.sqf index b0a8d239..0d2c5193 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_NATOupgradeFOB.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_NATOupgradeFOB.sqf @@ -2,72 +2,72 @@ params ["_pos","_upgrades"]; { if(_x isEqualTo "Barriers") then { - _p = [_pos,8,0] call BIS_fnc_relPos; + _p = _pos getPos [8, 0]; _v = OT_NATO_Barrier_Small createVehicle _p; _v setDir 180; sleep 0.3; - _p = [_pos,8,180] call BIS_fnc_relPos; + _p = _pos getPos [8, 180]; _v = OT_NATO_Barrier_Small createVehicle _p; _v setDir 0; sleep 0.3; - _p = [_pos,7,270] call BIS_fnc_relPos; + _p = _pos getPos [7, 270]; _v = OT_NATO_Barrier_Large createVehicle _p; _v setDir 270; sleep 0.3; - _p = [_pos,7,90] call BIS_fnc_relPos; + _p = _pos getPos [7, 90]; _v = OT_NATO_Barrier_Large createVehicle _p; _v setDir 90; }; if(_x isEqualTo "HMG") then { _gun = OT_NATO_StaticGarrison_LevelOne select 0; - _p = [_pos,8.5,45] call BIS_fnc_relPos; + _p = _pos getPos [8.5, 45]; _v = _gun createVehicle _p; _v setDir 45; createVehicleCrew _v; sleep 0.3; - _p = [_pos,10,45] call BIS_fnc_relPos; + _p = _pos getPos [10, 45]; _v = OT_NATO_Sandbag_Curved createVehicle _p; _v setDir 225; - _p = [_pos,8.5,135] call BIS_fnc_relPos; + _p = _pos getPos [8.5, 135]; _v = _gun createVehicle _p; _v setDir 135; createVehicleCrew _v; sleep 0.3; - _p = [_pos,10,135] call BIS_fnc_relPos; + _p = _pos getPos [10, 135]; _v = OT_NATO_Sandbag_Curved createVehicle _p; _v setDir 315; - _p = [_pos,8.5,225] call BIS_fnc_relPos; + _p = _pos getPos [8.5, 225]; _v = _gun createVehicle _p; _v setDir 225; createVehicleCrew _v; sleep 0.3; - _p = [_pos,10,225] call BIS_fnc_relPos; + _p = _pos getPos [10, 225]; _v = OT_NATO_Sandbag_Curved createVehicle _p; _v setDir 45; - _p = [_pos,8.5,315] call BIS_fnc_relPos; + _p = _pos getPos [8.5, 315]; _v = _gun createVehicle _p; _v setDir 315; createVehicleCrew _v; sleep 0.3; - _p = [_pos,10,315] call BIS_fnc_relPos; + _p = _pos getPos [10, 315]; _v = OT_NATO_Sandbag_Curved createVehicle _p; _v setDir 135; }; diff --git a/addons/overthrow_main/functions/factions/NATO/fn_initNATO.sqf b/addons/overthrow_main/functions/factions/NATO/fn_initNATO.sqf index 30741065..84c7840a 100644 --- a/addons/overthrow_main/functions/factions/NATO/fn_initNATO.sqf +++ b/addons/overthrow_main/functions/factions/NATO/fn_initNATO.sqf @@ -25,7 +25,7 @@ OT_NATO_Units_LevelOne = []; OT_NATO_Units_LevelTwo = []; OT_NATO_Units_CTRGSupport = []; -(OT_loadingMessages call BIS_fnc_selectRandom) remoteExec['OT_fnc_notifyStart',0,false]; +(selectRandom OT_loadingMessages) remoteExec['OT_fnc_notifyStart',0,false]; private _c = 0; @@ -79,7 +79,7 @@ private _c = 0; }; }foreach(format["(getNumber(_x >> 'scope') isEqualTo 2) && (getText(_x >> 'faction') isEqualTo '%1') && (configName _x) isKindOf 'SoldierWB'",OT_faction_NATO] configClasses (configFile >> "CfgVehicles")); -(OT_loadingMessages call BIS_fnc_selectRandom) remoteExec['OT_fnc_notifyStart',0,false]; +(selectRandom OT_loadingMessages) remoteExec['OT_fnc_notifyStart',0,false]; //Generate and cache gendarm loadouts private _loadout = getUnitLoadout OT_NATO_Unit_Police; @@ -116,7 +116,7 @@ if((server getVariable "StartupType") == "NEW" || (server getVariable ["NATOvers server setVariable ["NATOversion",OT_NATOversion,false]; private _abandoned = server getVariable ["NATOabandoned",[]]; - (OT_loadingMessages call BIS_fnc_selectRandom) remoteExec['OT_fnc_notifyStart',0,false]; + (selectRandom OT_loadingMessages) remoteExec['OT_fnc_notifyStart',0,false]; sleep 0.3; { private _stability = server getVariable format ["stability%1",_x]; @@ -213,7 +213,7 @@ if((server getVariable "StartupType") == "NEW" || (server getVariable ["NATOvers _count = _count + 1; }; - (OT_loadingMessages call BIS_fnc_selectRandom) remoteExec['OT_fnc_notifyStart',0]; + (selectRandom OT_loadingMessages) remoteExec['OT_fnc_notifyStart',0]; sleep 0.3; //Add comms towers { @@ -251,7 +251,7 @@ if((server getVariable "StartupType") == "NEW" || (server getVariable ["NATOvers _x params ["_type","_num"]; private _count = 0; while {_count < _num} do { - private _name = _prilist call BIS_fnc_selectRandom; + private _name = selectRandom _prilist; private _garrison = server getVariable [format["airgarrison%1",_name],[]]; _garrison pushback _type; _count = _count + 1; @@ -458,7 +458,7 @@ private _revealed = server getVariable ["revealedFOBs",[]]; while {_count < _garrison} do { private _start = [[[_pos,50]]] call BIS_fnc_randomPos; - private _civ = _group createUnit [OT_NATO_Units_LevelOne call BIS_fnc_selectRandom, _start, [],0, "NONE"]; + private _civ = _group createUnit [selectRandom OT_NATO_Units_LevelOne, _start, [],0, "NONE"]; _civ setVariable ["garrison","HQ",false]; _civ setRank "LIEUTENANT"; _civ setVariable ["VCOM_NOPATHING_Unit",true,false]; diff --git a/addons/overthrow_main/functions/factions/fn_factionNATO.sqf b/addons/overthrow_main/functions/factions/fn_factionNATO.sqf index bc020d6d..136d5828 100644 --- a/addons/overthrow_main/functions/factions/fn_factionNATO.sqf +++ b/addons/overthrow_main/functions/factions/fn_factionNATO.sqf @@ -685,7 +685,7 @@ publicVariable "OT_nextNATOTurn"; while {_count < 4} do { _start = [[[_pos,50]]] call BIS_fnc_randomPos; - _civ = _group createUnit [OT_NATO_Units_LevelOne call BIS_fnc_selectRandom, _start, [],0, "NONE"]; + _civ = _group createUnit [selectRandom OT_NATO_Units_LevelOne, _start, [],0, "NONE"]; _civ setVariable ["garrison","HQ",false]; _civ setRank "LIEUTENANT"; _civ setVariable ["VCOM_NOPATHING_Unit",true,false]; diff --git a/addons/overthrow_main/functions/fn_initVar.sqf b/addons/overthrow_main/functions/fn_initVar.sqf index 4643fcd3..50a12334 100644 --- a/addons/overthrow_main/functions/fn_initVar.sqf +++ b/addons/overthrow_main/functions/fn_initVar.sqf @@ -995,7 +995,8 @@ OT_Buildables = [ private _tpl = _x select 2; OT_allBuyableBuildings pushback ((_tpl select 0) select 0); }else{ - [OT_allBuyableBuildings,(_x select 2)] call BIS_fnc_arrayPushStack; + //[OT_allBuyableBuildings,(_x select 2)] call BIS_fnc_arrayPushStack; + OT_allBuyableBuildings pushBack (_x select 2); } }foreach(OT_Buildables); diff --git a/addons/overthrow_main/functions/geography/fn_weatherSystem.sqf b/addons/overthrow_main/functions/geography/fn_weatherSystem.sqf index 753b29a4..1ebf31e0 100644 --- a/addons/overthrow_main/functions/geography/fn_weatherSystem.sqf +++ b/addons/overthrow_main/functions/geography/fn_weatherSystem.sqf @@ -60,7 +60,7 @@ ot_weather_change_forecast = "Clear"; if((server getVariable "StartupType") == "NEW" || (server getVariable ["weatherversion",0]) < 1) then { server setVariable ["weatherversion",1,false]; - _mode = ["Clear","Cloudy"] call BIS_fnc_selectRandom; + _mode = selectRandom ["Clear","Cloudy"]; _weather = _mode call ot_weather_getWeather; _newOvercast = _weather select 0; diff --git a/addons/overthrow_main/functions/integration/fn_advancedTowingInit.sqf b/addons/overthrow_main/functions/integration/fn_advancedTowingInit.sqf index e8e36eb8..86ea345c 100644 --- a/addons/overthrow_main/functions/integration/fn_advancedTowingInit.sqf +++ b/addons/overthrow_main/functions/integration/fn_advancedTowingInit.sqf @@ -503,7 +503,7 @@ SA_Attach_Tow_Ropes_Action_Check = { SA_Can_Attach_Tow_Ropes = { params ["_vehicle","_cargo"]; if(!isNull _vehicle && !isNull _cargo) then { - [_vehicle,_cargo] call SA_Is_Supported_Cargo && vehicle player isEqualTo player && player distance _cargo < 10 && _vehicle != _cargo; + [_vehicle,_cargo] call SA_Is_Supported_Cargo && isNull objectParent player && player distance _cargo < 10 && _vehicle != _cargo; } else { false; }; @@ -549,7 +549,7 @@ SA_Can_Take_Tow_Ropes = { private ["_existingVehicle","_existingTowRopes"]; _existingTowRopes = _vehicle getVariable ["SA_Tow_Ropes",[]]; _existingVehicle = player getVariable ["SA_Tow_Ropes_Vehicle", objNull]; - vehicle player isEqualTo player && player distance _vehicle < 10 && (count _existingTowRopes) isEqualTo 0 && isNull _existingVehicle; + isNull objectParent player && player distance _vehicle < 10 && (count _existingTowRopes) isEqualTo 0 && isNull _existingVehicle; } else { false; }; @@ -594,7 +594,7 @@ SA_Can_Put_Away_Tow_Ropes = { private ["_existingTowRopes"]; if([_vehicle] call SA_Is_Supported_Vehicle) then { _existingTowRopes = _vehicle getVariable ["SA_Tow_Ropes",[]]; - vehicle player isEqualTo player && player distance _vehicle < 10 && (count _existingTowRopes) > 0; + isNull objectParent player && player distance _vehicle < 10 && (count _existingTowRopes) > 0; } else { false; }; @@ -614,7 +614,7 @@ SA_Drop_Tow_Ropes_Action_Check = { }; SA_Can_Drop_Tow_Ropes = { - !isNull (player getVariable ["SA_Tow_Ropes_Vehicle", objNull]) && vehicle player isEqualTo player; + !isNull (player getVariable ["SA_Tow_Ropes_Vehicle", objNull]) && isNull objectParent player; }; @@ -655,7 +655,7 @@ SA_Pickup_Tow_Ropes_Action_Check = { }; SA_Can_Pickup_Tow_Ropes = { - isNull (player getVariable ["SA_Tow_Ropes_Vehicle", objNull]) && count (missionNamespace getVariable ["SA_Nearby_Tow_Vehicles",[]]) > 0 && vehicle player isEqualTo player; + isNull (player getVariable ["SA_Tow_Ropes_Vehicle", objNull]) && count (missionNamespace getVariable ["SA_Nearby_Tow_Vehicles",[]]) > 0 && isNull objectParent player; }; SA_TOW_SUPPORTED_VEHICLES = [ diff --git a/addons/overthrow_main/functions/interaction/fn_initAttached.sqf b/addons/overthrow_main/functions/interaction/fn_initAttached.sqf index e7b289da..e6d6b569 100644 --- a/addons/overthrow_main/functions/interaction/fn_initAttached.sqf +++ b/addons/overthrow_main/functions/interaction/fn_initAttached.sqf @@ -17,7 +17,8 @@ if(count _item > 0) then { _wpn = _cls createVehicle [0,0,0]; _wpn attachto [_veh,_attachat select 0]; -[[_wpn,_attachat select 1],"setDir",true,true] spawn BIS_fnc_MP; +//[[_wpn,_attachat select 1],"setDir",true,true] spawn BIS_fnc_MP; +[_wpn,_attachat select 1] remoteExec ["setDir", 0, true]; if(count _am > 0) then { //set ammo @@ -32,12 +33,14 @@ _veh setVariable ["OT_Local",false,true]; _veh animate ["hideRearDoor",1]; _veh animate["hideSeatsRear",1]; -[[_wpn,"GetOut",{(_this select 2) moveInany (attachedTo(_this select 0)); doGetOut (_this select 2); }],"addEventHandler",true,true] spawn BIS_fnc_MP; +//[[_wpn,"GetOut",{(_this select 2) moveInany (attachedTo(_this select 0)); doGetOut (_this select 2); }],"addEventHandler",true,true] spawn BIS_fnc_MP; +[_wpn,"GetOut",{(_this select 2) moveInany (attachedTo(_this select 0)); doGetOut (_this select 2); }] remoteExec ["addEventHandler", 0, true]; _Dname = getText (configFile >> "cfgVehicles" >> (typeof _wpn) >> "displayName"); - [[_veh,format["Get in %1 as Gunner",_Dname],""],"OT_UpdateGetInState",true,true] spawn BIS_fnc_MP; + //[[_veh,format["Get in %1 as Gunner",_Dname],""],"OT_UpdateGetInState",true,true] spawn BIS_fnc_MP; +[_veh,format["Get in %1 as Gunner",_Dname],""] remoteExec ["OT_UpdateGetInState", 0, true]; -_ls = [ (_this select 0),"","","","speed _target <= 1 && speed _target >= -1 && _target distance _this < 5 && vehicle _this isEqualTo _this && ( !((_target getVariable 'OT_Attached') isEqualType false) || !((_target getVariable 'OT_Local') isEqualType false))","true",{},{},{},{},[],13,nil,false,false] call BIS_fnc_holdActionAdd; +_ls = [ (_this select 0),"","","","speed _target <= 1 && speed _target >= -1 && _target distance _this < 5 && isNull objectParent _this && ( !((_target getVariable 'OT_Attached') isEqualType false) || !((_target getVariable 'OT_Local') isEqualType false))","true",{},{},{},{},[],13,nil,false,false] call BIS_fnc_holdActionAdd; _vls = (_this select 0) addAction ["", {[(_this select 0),(_this select 1)] spawn OT_fnc_mountAttached;},[],5.5,true,true,"","typeNAME (_target getVariable 'OT_Attached') != 'BOOL' && _target distance _this < 5"]; (_this select 0) setVariable ["OT_Act",_ls,false]; (_this select 0) setVariable ["OT_Act_GetIn",_vls,false]; diff --git a/addons/overthrow_main/functions/inventory/fn_getSearchStock.sqf b/addons/overthrow_main/functions/inventory/fn_getSearchStock.sqf index 7ab6c76e..0eb2a1d3 100644 --- a/addons/overthrow_main/functions/inventory/fn_getSearchStock.sqf +++ b/addons/overthrow_main/functions/inventory/fn_getSearchStock.sqf @@ -10,7 +10,8 @@ if(_this isKindOf "Man") then { }else{ _myitems = (itemCargo _this) + (weaponCargo _this) + (magazineCargo _this) + (backpackCargo _this); { - _myitems = [_myitems,(items _this) + (magazines _this)] call BIS_fnc_arrayPushStack; + //_myitems = [_myitems,(items _this) + (magazines _this)] call BIS_fnc_arrayPushStack; + _myItems = _myItems pushBack ( (items _this) + (magazines _this) ); }foreach(units _this); }; if !(isNil "_myitems") then { diff --git a/addons/overthrow_main/functions/player/fn_initPlayerLocal.sqf b/addons/overthrow_main/functions/player/fn_initPlayerLocal.sqf index 6c5589d0..5f65749f 100644 --- a/addons/overthrow_main/functions/player/fn_initPlayerLocal.sqf +++ b/addons/overthrow_main/functions/player/fn_initPlayerLocal.sqf @@ -114,7 +114,7 @@ players_NS setVariable [format["name%1",getplayeruid player],name player,true]; players_NS setVariable [format["uid%1",name player],getplayeruid player,true]; spawner setVariable [format["%1",getplayeruid player],player,true]; -player forceAddUniform (OT_clothes_locals call BIS_fnc_selectRandom); +player forceAddUniform (selectRandom OT_clothes_locals); // clear player removeAllWeapons player; removeAllAssignedItems player; @@ -188,8 +188,8 @@ if(isMultiplayer || _startup == "LOAD") then { if(_rank isEqualTo "LIEUTENANT") then {_civ setSkill 0.6 + (random 0.3)}; if(_rank isEqualTo "CAPTAIN") then {_civ setSkill 0.7 + (random 0.3)}; if(_rank isEqualTo "MAJOR") then {_civ setSkill 0.8 + (random 0.2)}; - [_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; - [_civ, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; + [_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; + [_civ, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _civ]; _civ setUnitLoadout _loadout; _civ spawn OT_fnc_wantedSystem; _civ setName _name; @@ -233,8 +233,8 @@ if(isMultiplayer || _startup == "LOAD") then { _civ = _group createUnit [_type,_pos,[],0,"NONE"]; _civ setSkill 0.5 + (random 0.4); _civ setUnitLoadout _loadout; - [_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; - [_civ, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; + [_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; + [_civ, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _civ]; _civ setVariable ["OT_spawntrack",true,true]; }foreach(_units); }; @@ -248,7 +248,7 @@ if(isMultiplayer || _startup == "LOAD") then { }; if (_newplayer) then { - _clothes = (OT_clothes_guerilla call BIS_fnc_selectRandom); + _clothes = (selectRandom OT_clothes_guerilla); player forceAddUniform _clothes; player setVariable ["uniform",_clothes,true]; private _money = 100; @@ -271,7 +271,7 @@ if (_newplayer) then { _town = server getVariable "spawntown"; if(OT_randomSpawnTown) then { - _town = OT_spawnTowns call BIS_fnc_selectRandom; + _town = selectRandom OT_spawnTowns; }; _house = _town call OT_fnc_getPlayerHome; _housepos = getpos _house; diff --git a/addons/overthrow_main/functions/util/fn_getOwner.sqf b/addons/overthrow_main/functions/util/fn_getOwner.sqf index 2783d81d..9a0b9de1 100644 --- a/addons/overthrow_main/functions/util/fn_getOwner.sqf +++ b/addons/overthrow_main/functions/util/fn_getOwner.sqf @@ -4,6 +4,10 @@ if(_this isEqualType 1) exitWith { if(_this isEqualType "") exitWith { owners getVariable [_this,nil]; }; + +//Some function is calling this function with an array, which is incompatible. +if(_this isEqualType []) exitWith {diag_log "ERROR OT_fnc_getOwner: Passed array, expected object"}; + if((getObjectType _this) != 8 && (typeOf _this isKindOf ["Building", configFile >> "CfgVehicles"])) exitWith { owners getVariable [[_this] call OT_fnc_getBuildID,nil]; }; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnAmbientVehicles.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnAmbientVehicles.sqf index 94f2532d..d70cb6d2 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnAmbientVehicles.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnAmbientVehicles.sqf @@ -32,18 +32,21 @@ while {(_count < _numVeh) && (_loops < 50)} do { _road = _roads select 0; _pos = getPos _road; _vehtype = ""; + if(_pop > 600) then { - _vehtype = (OT_vehTypes_civ - OT_vehTypes_civignore) call BIS_Fnc_selectRandom; - }else{ - _vehtype = [OT_vehTypes_civ,OT_vehWeights_civ] call BIS_Fnc_selectRandomWeighted; + _vehType = selectRandom (OT_vehTypes_civ - OT_vehTypes_civignore); + }else{ + _vehType = OT_vehTypes_civ selectRandomWeighted OT_vehWeights_civ; }; + if !(_vehtype in OT_vehTypes_civignore) then { _dirveh = 0; _roadscon = roadsConnectedto _road; if (count _roadscon isEqualTo 2) then { - _dirveh = [_road, _roadscon select 0] call BIS_fnc_DirTo; + //_dirveh = [_road, _roadscon select 0] call BIS_fnc_DirTo; + _dirveh = _road getDir (_roadscon select 0); if(isNil "_dirveh") then {_dirveh = random 359}; - _posVeh = [_pos, 6, _dirveh + 90] call BIS_Fnc_relPos; + _posVeh = _pos getPos [6, _dirveh + 90]; _posEmpty = _posVeh findEmptyPosition [4,15,_vehtype]; //dont bother if the position isnt empty for 4m if(count _posEmpty isEqualTo 0) then { @@ -73,7 +76,7 @@ while {(_count < _numVeh) && (_loops < 50)} do { if(isNil "_region") then { _moveto = _posVeh call OT_fnc_getRandomRoadPosition; }else{ - _dest = (server getVariable format["towns_%1",_region]) call BIS_fnc_selectRandom; + _dest = selectRandom (server getVariable format["towns_%1",_region]); _moveto = _dest call OT_fnc_getRandomRoadPosition; }; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCarDealers.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCarDealers.sqf index eac2b1a3..d2488414 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCarDealers.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCarDealers.sqf @@ -21,11 +21,12 @@ private _groups = []; _tracked = _building call OT_fnc_spawnTemplate; _vehs = _tracked select 0; - [_groups,_vehs] call BIS_fnc_arrayPushStack; + //[_groups,_vehs] call BIS_fnc_arrayPushStack; + _groups pushBack _vehs; _cashdesk = _pos nearestObject OT_item_ShopRegister; _dir = getDir _cashdesk; - _cashpos = [getpos _cashdesk,1,_dir] call BIS_fnc_relPos; + _cashpos =_cashdesk getPos [1, _dir]; private _start = _building buildingPos 0; _shopkeeper = _group createUnit [OT_civType_carDealer, _start, [],0, "NONE"]; _shopkeeper allowDamage false; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCivilians.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCivilians.sqf index 551bdc4f..2a612c57 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCivilians.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnCivilians.sqf @@ -153,7 +153,7 @@ private _gangs = OT_civilians getVariable [format["gangs%1",_town],[]]; [_civ,_town,_vest,_gangid] call OT_fnc_initCriminal; [_civ,_identity] call OT_fnc_applyIdentity; - [_civ, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; + [_civ, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _civ]; _civ setVariable ["OT_gangid",_gangid,true]; _civ setVariable ["OT_civid",_civid,true]; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnFactionRep.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnFactionRep.sqf index ddb3058e..3576e7b1 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnFactionRep.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnFactionRep.sqf @@ -17,9 +17,9 @@ _groups pushback _group; _shopkeeper = _group createUnit [OT_civType_shopkeeper, _pos, [],0, "NONE"]; //Set face/voice && uniform -[_shopkeeper, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _shopkeeper]; +[_shopkeeper, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _shopkeeper]; [_shopkeeper, "NoVoice"] remoteExecCall ["setSpeaker", 0, _shopkeeper]; -_shopkeeper forceAddUniform (OT_clothes_locals call BIS_fnc_selectRandom); +_shopkeeper forceAddUniform (selectRandom OT_clothes_locals); removeAllItems _shopkeeper; removeHeadgear _shopkeeper; @@ -30,8 +30,8 @@ removeAllAssignedItems _shopkeeper; _shopkeeper addGoggles (selectRandom OT_allGlasses); _shopkeeper allowDamage false; -_shopkeeper disableAI "MOVE"; -_shopkeeper disableAI "AUTOCOMBAT"; +_shopkeeper disableAI "ALL"; +_shopkeeper disableAI "ANIM"; _shopkeeper setVariable ["NOAI",true,false]; _shopkeeper setVariable ["factionrep",true,true]; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnGunDealer.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnGunDealer.sqf index 2f83b641..f0670239 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnGunDealer.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnGunDealer.sqf @@ -13,7 +13,7 @@ _gundealerpos = server getVariable format["gundealer%1",_town]; if(isNil "_gundealerpos") then { _building = [_posTown,OT_gunDealerHouses] call OT_fnc_getRandomBuilding; if(typename _building != "BOOL") then { - _gundealerpos = (_building call BIS_fnc_buildingPositions) call BIS_fnc_selectRandom; + _gundealerpos = selectRandom (_building call BIS_fnc_buildingPositions); [_building,"system"] call OT_fnc_setOwner; }else{ _gundealerpos = [[[_posTown,200]]] call BIS_fnc_randomPos; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOCheckpoint.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOCheckpoint.sqf index 705f6743..9049e596 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOCheckpoint.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOCheckpoint.sqf @@ -18,10 +18,11 @@ _start = getPos _road; if((count _start) isEqualTo 0 || _start#1 isEqualTo 0) exitWith {diag_log format["Overthrow: WARNING: Couldnt find road for %1 %2",_name,_start];[]}; -private _vehtype = OT_vehTypes_civ call BIS_Fnc_selectRandom; +private _vehtype = selectRandom OT_vehTypes_civ; private _roadscon = roadsConnectedto _road; -private _dir = [_road, _roadscon select 0] call BIS_fnc_DirTo; +//private _dir = [_road, _roadscon select 0] call BIS_fnc_DirTo; +_dir = _road getDir _roadscon select 0; if(isNil "_dir") then {_dir = 90}; private _vehs = [_start,_dir,OT_tpl_checkpoint] call BIS_fnc_objectsMapper; @@ -39,7 +40,7 @@ _group setVariable ["VCM_NORESCUE",true,true]; _groups pushBack _group; _groupcount = 1; -_start = [_start,7,_dir-90] call BIS_fnc_relPos; +_start = _start getPos [7, _dir-90]; _civ = _group createUnit [OT_NATO_Unit_TeamLeader, _start, [],0, "NONE"]; _civ setVariable ["garrison",_name,false]; @@ -63,8 +64,8 @@ sleep 0.5; _count = _count + 1; sleep 0.3; while {_count < _numNATO} do { - _start = [_start,2,_dir-180] call BIS_fnc_relPos; - _civ = _group createUnit [OT_NATO_Units_LevelTwo call BIS_fnc_selectRandom, _start, [],0, "NONE"]; + _start = _start getPos [2, _dir-180]; + _civ = _group createUnit [selectRandom OT_NATO_Units_LevelTwo, _start, [],0, "NONE"]; _civ setVariable ["garrison",_name,false]; _soldiers pushBack _civ; _civ setRank "CAPTAIN"; @@ -74,7 +75,7 @@ while {_count < _numNATO} do { _count = _count + 1; _groupcount = _groupcount + 1; if(_count isEqualTo 2) then { - _start = [_start,20,_dir+90] call BIS_fnc_relPos; + _start = _start getPos [20, _dir+90]; }; }; _group spawn OT_fnc_initNATOCheckpoint; diff --git a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOObjective.sqf b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOObjective.sqf index 1f1223fa..d60e6c27 100644 --- a/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOObjective.sqf +++ b/addons/overthrow_main/functions/virtualization/spawners/fn_spawnNATOObjective.sqf @@ -139,7 +139,7 @@ if(_numNATO > 0) then { "Land_Cargo_Patrol_V4_F" ] findIf {_x == _type}) != -1) exitWith { private _ang = (getDir _building) - 190; - private _p = [_building buildingPos 1, 2.3, _ang] call BIS_Fnc_relPos; + private _P = _building buildingPos 1 getPos [2.3, _ang]; private _veh = createVehicle [OT_NATO_HMG, _p, [], 0, "CAN_COLLIDE"]; _veh setPosATL _p; _veh setDir (getDir _building) - 180; @@ -235,8 +235,8 @@ if(count _terminal > 0) then { _dir = _dir + 180; _dist = 50; }; - _pos = [_tp,_dist,_dir] call BIS_fnc_relPos; - _pos = [_pos,100,_dir-90] call BIS_fnc_relPos; + _pos = _tp getPos [_dist, _dir]; + _pos = _pos getPos [100, _dir-90]; }else{ if(_name isEqualTo OT_NATO_HQ) then { _pos = OT_NATO_HQ_garrisonPos; @@ -250,7 +250,7 @@ private _airgarrison = server getVariable [format["airgarrison%1",_name],[]]; { private _vehtype = _x; - _pos = [_pos,28,_dir+90] call BIS_fnc_relPos; + _pos = _pos getPos [28, _dir+90]; private _veh = _vehtype createVehicle _pos; _veh setVariable ["airgarrison",_name,false]; @@ -282,12 +282,12 @@ private _road = objNull; if(count _pos > 0) then { if(_vehtype in OT_staticWeapons) then { //put sandbags - private _p = [_pos,1.5,_dir] call BIS_fnc_relPos; + private _p = _pos getPos [1.5, _dir]; _veh = OT_NATO_Sandbag_Curved createVehicle _p; _veh setpos _p; _veh setDir (_dir-180); _groups pushback _veh; - _p = [_pos,-1.5,_dir] call BIS_fnc_relPos; + _p = _pos getPos [-1.5, _dir]; _veh = OT_NATO_Sandbag_Curved createVehicle _p; _veh setpos _p; _veh setDir (_dir); diff --git a/addons/overthrow_main/missions/fugitive.sqf b/addons/overthrow_main/missions/fugitive.sqf index 59db37bb..efb71ec9 100644 --- a/addons/overthrow_main/missions/fugitive.sqf +++ b/addons/overthrow_main/missions/fugitive.sqf @@ -50,9 +50,9 @@ private _difficulty = 1.8; _civ disableAI "MOVE"; //Set face,voice and uniform - [_civ, (OT_faces_western call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; - [_civ, (OT_voices_western call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; - _civ forceAddUniform (OT_clothes_guerilla call BIS_fnc_selectRandom); + [_civ, (selectRandom OT_faces_western)] remoteExecCall ["setFace", 0, _civ]; + [_civ, (selectRandom OT_voices_western)] remoteExecCall ["setSpeaker", 0, _civ]; + _civ forceAddUniform (selectRandom OT_clothes_guerilla); //Make sure hes in the group [_civ] joinSilent nil; diff --git a/addons/overthrow_main/missions/informant.sqf b/addons/overthrow_main/missions/informant.sqf index 9ddfc1a3..e7b30725 100644 --- a/addons/overthrow_main/missions/informant.sqf +++ b/addons/overthrow_main/missions/informant.sqf @@ -15,7 +15,7 @@ private _destinationName = selectRandom _outofspawndistance; private _posTown = server getVariable [_destinationName,[]]; private _building = [_posTown,OT_allHouses] call OT_fnc_getRandomBuilding; -private _destination = (_building call BIS_fnc_buildingPositions) call BIS_fnc_selectRandom; +private _destination = selectRandom (_building call BIS_fnc_buildingPositions); if(_destination isEqualTo [0,0,0]) then { _destination = [_posTown,[random 100,600]] call SHK_pos_fnc_pos; }; @@ -43,9 +43,9 @@ private _difficulty = 1.8; _civ setVariable ["notalk",true,true]; //Tells Overthrow this guy cannot be recruited etc //Set face,voice and uniform - [_civ, (OT_faces_western call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; - [_civ, (OT_voices_western call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; - _civ forceAddUniform (OT_clothes_guerilla call BIS_fnc_selectRandom); + [_civ, (selectRandom OT_faces_western)] remoteExecCall ["setFace", 0, _civ]; + [_civ, (selectRandom OT_voices_western)] remoteExecCall ["setSpeaker", 0, _civ]; + _civ forceAddUniform (selectRandom OT_clothes_guerilla); _civ disableAI "MOVE"; diff --git a/addons/overthrow_main/missions/transportvip.sqf b/addons/overthrow_main/missions/transportvip.sqf index 88b9e81c..2b6bae2e 100644 --- a/addons/overthrow_main/missions/transportvip.sqf +++ b/addons/overthrow_main/missions/transportvip.sqf @@ -42,8 +42,8 @@ private _abandoned = server getVariable ["NATOabandoned",[]]; //Give our VIP a name -private _firstname = OT_firstNames_local call BIS_fnc_selectRandom; -private _lastname = OT_lastNames_local call BIS_fnc_selectRandom; +private _firstname = selectRandom OT_firstNames_local; +private _lastname = selectRandom OT_lastNames_local; private _fullname = [format["%1 %2",_firstname,_lastname],_firstname,_lastname]; private _params = [_faction,_pickup,_destination,_fullname]; @@ -66,9 +66,9 @@ private _title = format["Operative transport for %1",_factionName]; _civ setName _fullname; //Set face,voice and uniform - [_civ, (OT_faces_local call BIS_fnc_selectRandom)] remoteExecCall ["setFace", 0, _civ]; - [_civ, (OT_voices_local call BIS_fnc_selectRandom)] remoteExecCall ["setSpeaker", 0, _civ]; - _civ forceAddUniform (OT_clothes_locals call BIS_fnc_selectRandom); + [_civ, (selectRandom OT_faces_local)] remoteExecCall ["setFace", 0, _civ]; + [_civ, (selectRandom OT_voices_local)] remoteExecCall ["setSpeaker", 0, _civ]; + _civ forceAddUniform (selectRandom OT_clothes_locals); //Make sure hes in our group [_civ] joinSilent nil;